Hallo,
ich stoße immer wieder mal auf das Problem dass Double-Werte eingegeben/gespeichert werden und frage mich wie man das sauber machen kann.
Problem ist ja dass man die Eingabe mit einem Komma machen muss (bei Punkteingabe wird z.B. aus 1.5 eine 15 wenn man den Double-Parameter übergibt).
Beim Speichern per Aktualisierungsabfrage muss aber zuvor das Komma in einen Punkt umgewandelt werden, dann läuft die Aktualisierung durch. In der Tabelle wiederum steht dann der Wert wieder mit einem Komma.
Das ist ganz schön Konfus.
Desweiteren, gibt man in eine Textbox den Eingabewert mit Punkt ein, und vergleicht ihn mit einem Long, dann geht das Wirrwarr weiter.
im Direktbereich getestet: ?1.5>2 => Ergebnis Falsch was ja korrekt ist.
Im VBA-Code aber:
if Me.EingabeKommaWert > 2 then Beep => Ergebnis Beep was ja falsch ist.
If cdbl(Me.EingabeKommaWert) > 2 then Beep => Ergebnis Beep, was auch falsch ist.
Fazit: es ist kaum möglich gescheit mit Kommawerten und Double zu arbeiten.
1. Bei allen Eingaben muss die Eingabe auf Punkt geprüft werden und in ein Komma umgewandelt werden
2. Bei allen Aktualisierungs- und Einfügeabfragen den Wert mittels replace(Komma->Punkt) bearbeiten.
3. Bei allen Vergleichen im VBA-Code ebenfalls mit replace(Punkt->Komma) arbeiten.
Das ist total bescheuert.
Wie macht ihr das? Gibts dazu ein Königsweg?
Gruß Andi