Double

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Double

Re: Double

von keksi1970 » Di, 19.05.2009 15:38

gnarf : Depp, ich

natürlich hab ich da nicht drauf geachtet :?

Du hast einfach Recht, reicht das als Entschuldigung ?

läuft, vielen Dank

und : kannst du das beim nächsten mal so richtig ROT einfärben, am Besten mit schriftgröße 40, extra für mich

LG
ANdreas

:D

Re: Double

von keksi1970 » Di, 19.05.2009 14:57

Damit aenderst du nur die Anzeige der Calc-Zellen, intern wird aber mit einem Punkt gerechnet, der aber bei jedem Auslesen der Variablen als Komma dargestellt wird.
A1 = 1,12 /VAR1 = 1.12, Ausgelesen = 1,12
A1 = 1.12 /VAR1 = 1.12, Ausgelesen = 1,12

Es ist also egal, wie die Zellen Formatiert sind, daß einzige was helfen würde, wäre das Betriebssystem auf englisch umzustellen, auf dieses möchte ich aber aus gewissen Gründen verzichten.

LG
Andreas


EDITH sagt : ich könnte beim einfügen des Wertes natürlich vorher mit 100 multiplizieren und anschliessen mit ((0.00+" & VAR1 & ")/100), (0.00+ muß sein, weil 112/100 in Base als 1 dargestellt wird). ist aber nicht wirklich komfortabel :/

Re: Double

von Christiana » Di, 19.05.2009 14:44

Hi Andreas,

habe eben erst diesen Thread gelesen.
Ist das Problem nicht ganz einfach zu lösen, indem Du Deine Spalte in der Calc-Datei folgendermaßen formatierst:

Format > Zellen...
Register: Zahlen
Sprache: Englisch (Großbritannien)

Oder habe ich da was falsch verstanden?

Viele Grüße
Christiana

Re: Double

von keksi1970 » Di, 19.05.2009 14:14

leider nein, immer noch der gleiche Fehler.

gibt es denn wirklich keine Möglichkeit, einen dezimalwert wie 1,12 auszulesen und in dBase einzubinden (per Makro und als Zahl, da weitere Berechnungen anstehen)

Die Werte mit 100 zu Multiplizieren und beim Anzeigen durch 100 zu Teilen ist wirklich nicht DIE Lösung

LG
Andreas

Re: Double

von keksi1970 » Mo, 18.05.2009 15:33

das wäre perfekt :)

ich weiß nämlich nicht mehr, wo ich suchen soll :D

auch so schon einmal lieben Dank für die Mühe :)

LG
Andreas

Re: Double

von komma4 » Mo, 18.05.2009 15:30

... ja, habe ich inzwischen auch gesehen (SQL erwartet die engl. Notation, ein deutsches Basic hat das Komma als Dezimaltrenner).

Hatte da auch schon mal eine Lösung (Wechseln des Kommas in Punkt) ... muss die aber erst raussuchen.

Re: Double

von keksi1970 » Mo, 18.05.2009 15:16

Spalte ID ist autowert, wird automatisch eingefügt, die Fehlermeldung besagt einfach nur, daß (durch das Komma) eine weitere nicht existente Spalte angesprochen wird, weil das Komma das Trennzeichen für die einzelnen Werte in den einzelnen SPalten ist.
Wenn ich den Wert der testtabelle auf 1,00 ändere funktioniert es ja ohne Probleme (es wird der Wert 1 eingefügt in die SPalte AusgeleseerWert )

Es wird also bedingt durch dieses blöde System mit den Dezimaltennzeichen eine weitere Spalte erwartet.
folglich muß(!) meine variable einen Punkt als trenner besitzen, was ich aber nicht hinkriege (weil sie ihn schon hat, es aber als komma interpretiert wird.)

LG
Andreas

Re: Double

von komma4 » Mo, 18.05.2009 15:01

Deine Fehlermeldung besagt, dass die Spaltenanzahl ungleich der Anzahl der Tabellenspalten ist (Spalte ID vergessen, he?)
Hat nichts mit einem Komma zu tun ...

Re: Double

von keksi1970 » Mo, 18.05.2009 14:46

hier mal die beiden Testdateien :
Dateianhänge
test.ods
(8.76 KiB) 34-mal heruntergeladen
test.odb
(14.47 KiB) 35-mal heruntergeladen

Re: Double

von keksi1970 » Mo, 18.05.2009 14:35

VAR1 ist als Double deklariert.

xray zeigt auch bei mir 1.12, aber eingefügt wird immer 1,12 ?
als text würde es zwar gehn, ist aber wegen anstehender berechnungen nichtwirklich eine Lösung.

Re: Double

von komma4 » Mo, 18.05.2009 13:28

Bei mir IST die Variable VAR1 ein double mit dem Inhalt 3,21 (xray-Darstellung: 3.21).

Du hast VAR1 als string deklariert? Sonst würde es klappen ...
keksi1970 hat geschrieben:wie sage ich meiner variable, daß sie nu ein englisches Zahlenformat haben soll
Eine Variable ist entweder eine Zeichenkette - oder ein LONG Wert. Ein Format hat sie nicht.

Re: Double

von keksi1970 » Mo, 18.05.2009 12:20

Fehlermeldung beim Einfügen des Datensatzes


wenn VAR 1 eine Ganzzahl ist ist es kein Problem
ansonsten wenn VAR1 = 1,12
unexpected Token 12 in statement [update "Tabelle" set "AusgelesenerWert" = 1,12].

oder wenn ich es über INSERT mache um einen neuen Datensatz zu erstellen kommt ;

Column does not match in statement [insert into "Tabelle" ("AusgelesenerWert") Values (1,12].

da muss halt nur n Punkt in meine Variable, dann würde es laufen, nur wie sage ich meiner variable, daß sie nu ein englisches Zahlenformat haben soll ? und somit den Punkt als Dezimaltrenner benutzen muß ?

LG
Andreas

Re: Double

von komma4 » Mo, 18.05.2009 12:07

...verstehe dass Problem nicht ...

mit der ersten BASIC-Anweisung holst Du einen DOUBLE-Wert aus dem Blatt ...

mit
" Insert Into ""Tabelle"" Set ""AusgelesenerWert"" = (" & VAR1 & ")"
schreibst Du in die Tabelle

Wo klappt was nicht?

Re: Double

von keksi1970 » Mo, 18.05.2009 11:42

Hi,

genau das mein ich.

Ich lese eine Zelle per Makro aus (VAR1 = oSheet.getcellrangebyname("A1").value) und füge diese Variable per SQL Befehl im selben Makro in meine HSQLDB ein (Insert Into ""Tabelle"" (""AusgelesenerWert"") Values = (" & VAR1 & ") )

Nur wie kriege ich diesen blöden punkt in Calc hin, bzw in meine Variable, weil in Calc soll ja das Komma als Dezimal-trenner erscheinen.

LG
Andreas

btw : soll in Version 2.4, als auch in 3.01 funktionieren

Re: Double

von komma4 » Mo, 18.05.2009 09:45

Calc nach Datenbank ... gibst Du uns noch weitere Informationen?

OOo Version? Welche Datenbank? Wie "einlesen"?

Bei HSQLDB müssen meine nummerischen Zellen "englisch" formatiert sein (Darstellung mit Punkt als Dezimaltrenner), damit ein drag&drop Einfügen in den F4 Browser gelingt.

Meintest Du diese Bearbeitungsstelle?

Nach oben