Seite 1 von 1

Problem mit dem Format der Kommazahlen

Verfasst: Mo 23. Jun 2014, 20:32
von arkadiuszpaluszek
Hallo alle miteinander!

Habe ein Problem mit einer Kommazahl - Nachdem aus zwei Formularfeldern (Währungsfeldern) Zahlen gelesen werden, addiert werden und das Ergebnis dessen in ein drittes Währungsfeld reinkommt, wird dieses Ergebnis wiederum gelesen und soll per SQL-Befehl in die Datenbank geschrieben werden. Diese wiederum sagt - NEEEEE! :evil: :twisted: So verarbeitet kommt das hier nicht mehr rein!

Nach anfänglicher Ratlosigkeit :roll: habe ich mittlerweile verstanden warum - weil der Wert, der vom Makro aus dem Währungsfeld gelesen wird z.B."150,5" ist, die DB aber nur "150.5" akzeptiert. Das Format des Feldes in der Datenbank ist "dezimal". Und wie mache ich nun aus einer Kommazahl mit einem Komma eine Kommazahl mit einem Punkt statt Komma, damit die DB nicht mehr zickt?...

Viele Grüße

Arek

Re: Problem mit dem Format der Kommazahlen

Verfasst: Mo 23. Jun 2014, 22:55
von F3K Total
Hi,
es gibt diverse Möglichkeiten per Makro, ich verstehe nur nicht, wieso du die Summe nicht in einer Abfrage bildest?
Gruß R

Re: Problem mit dem Format der Kommazahlen

Verfasst: Di 24. Jun 2014, 07:42
von arkadiuszpaluszek
Weil das Formular ohnehin ein Feld mit der Summe aller Einnahmen, ein Feld mit der Summe aller Ausgaben und schließlich auch ein Saldofeld enthält. Der Einfachheit halber habe ich die Summe der Einnahmen/Ausgaben dadurch gebildet, dass ich in den Eigenschaften des Feldes den SQL Befehl eingegeben habe (SELECT SUM(...)) Wenn ich die Werte ohnehin dann auf dem Bildschirm habe, schien es mir einfach die zu addieren um das Saldo zu erhalten.

Wie schon gesagt, ist der Nachteil dabei, dass das Ergebnis ein Komma beinhaltet, welches ich nicht wieder in die Datenbank schreiben kann!

Re: Problem mit dem Format der Kommazahlen

Verfasst: Di 24. Jun 2014, 08:01
von karolus
Vielleicht solltest du mal den Unterschied zwischen Daten ( =das was in der Datenbank steht ) und deren Representation (=das was du zu sehen bekommst) realisieren.

Karolus

Re: Problem mit dem Format der Kommazahlen

Verfasst: Di 24. Jun 2014, 22:04
von arkadiuszpaluszek
Vielleicht solltest du den Unterschied zwischen einem hilfreichen Beitrag und bloßer Angeberei realisieren! Es ist mir ein Rätsel, warum in Entwicklerforen manche Menschen glauben unbedingt darstellen zu müssen, dass sie besser als diese kläglichen Anfänger sind, die tatsächlich die Frechheit besitzen, mit dummen Fragen das Forum zu belästigen. :lol:

Ist es tatsächlich so schwierig die Frage zu beantworten wie man aus einer Kommazahl mit einem Komma eine Kommazahl mit einem Punkt macht?

Es ist ja keineswegs so, dass mir der Unterschied nicht klar wäre – ich frage mich nur, wie ich eben das was mir die Repräsentation der Daten liefert (also eine Kommazahl mit einem Komma) etwas Datenbanktaugliches mache.

Gruß

Re: Problem mit dem Format der Kommazahlen

Verfasst: Di 24. Jun 2014, 22:20
von F3K Total
Da du gutgemeinte Ratschläge ignorierst und auch noch dir unbekannte Menschen als Angeber bezeichnest, wünsche ich dir viel Spaß beim Schiffbruch mit

Code: Alles auswählen

Sub Main
    S = "1,7"
    d = CDbl(s)
    msgbox 2*d
End Sub
R

Re: Problem mit dem Format der Kommazahlen

Verfasst: Fr 27. Jun 2014, 08:48
von Wanderer
Hallo,
Ist es tatsächlich so schwierig die Frage zu beantworten wie man aus einer Kommazahl mit einem Komma eine Kommazahl mit einem Punkt macht?
JA! Weil die Frage falsch ist. Das mit den Punkten und Kommas ist eine einfache Folge von ZEICHEN, die Dein Hirn gewohnheitsmäßig als Zahl interpretiert - für den Computer ist es eben keine Zahl - und die Umwandlungsregeln hängen von den Gewohnheiten des Landes ab.

Wenn Du was "einfaches" suchst: Arbeite mit Ländereinstellungen, wo Dir gleich die gesuchten Punkte statt Kommas angezeigt werden.
(Und wenn Du mal wieder ´nen Fehler suchst, dann erinnere Dich an den Hinweis von Karolus. Es kann sein, daß Dein Code nur zufälligerweise
korrekt durchläuft.)

MfG, Jörn

Re: Problem mit dem Format der Kommazahlen

Verfasst: Di 8. Jul 2014, 10:44
von arkadiuszpaluszek
Ja, ich gebe zu, die Frage war scheinbar etwas blöd gestellt - von daher wurde sie auch falsch verstanden. Mir sind Unterschiede zwischen den reinen Daten in der DB und deren Repräsentation durchaus klar und ich bin mir auch der Tatsache bewusst, dass die Darstellung von Zahlen von Ländereinstellungen abhängig ist und dass es letztlich eine einfache Zeichenfolge ist! Und eben um die Bearbeitung dieser Zeichenfolge ging es mir aber - ganz einfach.

Was ich am Beitrag vom Karolus scheinbar in den falschen Hals gekriegt habe, ist die Tatsache, dass ich Beiträge welche belehrend wirken aber eigentlich keine praktische Antwort auf die Frage beinhalten wirklich irritierend finde - kann ich über die anderen Beiträge hier wirklich nicht sagen, auch wenn ihr anderen mich für meine Entgleisung (vielleicht zurecht) kritisiert. Gut, wenn ich also tatsächlich überempfindlich bin, möchte ich mich für die Antwort an Karolus entschuldigen - und danke an die anderen Verfasser.

Arek

Re: Problem mit dem Format der Kommazahlen

Verfasst: Sa 19. Jul 2014, 17:07
von arkadiuszpaluszek
Im Übrigen habe ich durchaus versucht die Einnahmen und Ausgaben statt diese aus dem Formular abzulesen per Abfrage zu bilden, überraschenderweise mit dem gleichen Problem! Es werden per SQL - Befehl aus der Datenbank Werte als Double gelesen, dann wird die Rechenoperation

Saldo=Anfangssaldo+Einnahmen-Ausgaben

durchgeführt und das neue Saldo soll nun per SQL-Befehl wieder in die DB geschrieben werden, aber immer noch funktioniert es nicht, weil OO / LO behaupten, der Datentyp würde nicht zusammenpassen - obwohl die Variablen als Double definiert sind und in der DB das Feld ebenso als Double definiert ist. In der deutschen Version wird diese Kommazahl mit einem Komma ausgestattet, was scheinbar noch Rechenoperationen erlaubt, sich aber nicht mehr in die DB schreiben lässt.

Die Lösung lag woanders:

dim saldo as currency

- dies macht die Variable saldo zu einer Variablen mit 4 Nacgkommastellen mit einem PUNKT, und das lässt sich wieder problemlos in die DB schreiben.

Re: Problem mit dem Format der Kommazahlen

Verfasst: Mi 15. Apr 2015, 18:36
von hwoehrle
Ergänzung der Vollständigkeit halber, da ich gerade auch Stunden daran verbummelt habe:

Das Ausgabeformat wird immer durch die Lokal-Einstellungen definiert. Wenn z.B. in SQL tatsächlich ein . statt , gefragt ist, hilft nur die Zahl in ein String umzuwandeln und dort dann eine entsprechende Ersetzung durchzuführen:

Code: Alles auswählen

replace(cstr(kommazahl),",",".")