Hallo Forum,
bei Berechnungen in Abfragen etc. werden bei mir immer die Nachkommastellen "unterschlagen", d.h. 2,34 * 2,45 ergibt 5,00 anstatt 5,73.
Als Datenbank verwende ich MySQL. Die entsprechende Abfrage wird als korrekter SQL-Code in der Abfrage-Design-Ansicht erstellt und funktioniert bei direkter Eingabe in mysql auf der Kommandozeile problemlos. Muss hier ggf. irgendwo noch das deutsche Dezimaltrennzeichen (,) explizit eingegeben werden oder kann dies ein Zeichensatzproblem sein?
Für Hinweise wäre ich dankbar.
Gruß Willie
"unterschlagene" Nachkommastellen
Moderator: Moderatoren
Zwischenzeitlich habe ich eine Lösung gefunden, allerdings eine ziemlich "krude". Anscheinend hat OpenOffice bei der Darstellung von Berechnungen aus SQL-Abfragen in Formularen z.B. Tabellen-Kontrollfeldern ein Problem mit der deutschen Zahlennotation (Komma als Dezimaltrennzeichen). MySQL rechnet intern mit der englischen Notation völlig korrekt (Punkt als Dezimaltrennzeichen).
Zur Ausgabe von korrekten Berechnungsergebnissen habe ich daher die errechnete Zahl mit dem nachfolgenden SQL-Ausdruck für die Ermittlung des Spalteninhaltes in einen String verwandelt, die englische Notation durch die deutsche ersetzt (Punkt und Komma vertauscht) und die Währungsbezeichnung angefügt (Ächz!).
"SELECT Menge, Preis, RPAD ( ( LPAD ( REPLACE ( REPLACE ( REPLACE ( FORMAT ( Menge * Preis , 2 ) , ',' , 'X' ) , '.' , ',' ) , 'X' , '.' ) , 12 , ' ' ) ) , 16 , ' EUR' ) AS Summe FROM Artikel"
Normaler Weise müsste nach meinem Verständniss eigentlich "SELECT Menge, Preis, Menge * Preis AS Summe From Artikel" ausreichen.
Deshalb nochmal die Frage an das Forum: Hat den wirklich noch keiner Probleme mit derartigen Berechnungen gehabt? oder ist dieses Verhalten von OpenOffice "normal" oder was mache ich falsch?
Tipps oder Erfahrungen wären wirklich klasse, weil diese Umformatierung ist eine ziemlich unschöne Lösung.
Gruß
Willie
Zur Ausgabe von korrekten Berechnungsergebnissen habe ich daher die errechnete Zahl mit dem nachfolgenden SQL-Ausdruck für die Ermittlung des Spalteninhaltes in einen String verwandelt, die englische Notation durch die deutsche ersetzt (Punkt und Komma vertauscht) und die Währungsbezeichnung angefügt (Ächz!).
"SELECT Menge, Preis, RPAD ( ( LPAD ( REPLACE ( REPLACE ( REPLACE ( FORMAT ( Menge * Preis , 2 ) , ',' , 'X' ) , '.' , ',' ) , 'X' , '.' ) , 12 , ' ' ) ) , 16 , ' EUR' ) AS Summe FROM Artikel"
Normaler Weise müsste nach meinem Verständniss eigentlich "SELECT Menge, Preis, Menge * Preis AS Summe From Artikel" ausreichen.
Deshalb nochmal die Frage an das Forum: Hat den wirklich noch keiner Probleme mit derartigen Berechnungen gehabt? oder ist dieses Verhalten von OpenOffice "normal" oder was mache ich falsch?
Tipps oder Erfahrungen wären wirklich klasse, weil diese Umformatierung ist eine ziemlich unschöne Lösung.
Gruß
Willie
-
- Beiträge: 1
- Registriert: Fr, 16.12.2005 17:54