🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Probleme mit Speicherung von Kommazahlen mittels SQL-Befehl

Alles zur Programmierung im LibreOffice.
Antworten
arkadiuszpaluszek
Beiträge: 39
Registriert: Sa 17. Mär 2012, 22:39

Probleme mit Speicherung von Kommazahlen mittels SQL-Befehl

Beitrag von arkadiuszpaluszek » Sa 17. Mär 2012, 23:06

Hallo,

habe folgenden Code:

Code: Alles auswählen

 oElement=oForm.getByName("ust_prozent")
      ust_prozent=oElement.value
      ust=summe_netto*ust_prozent/100
      summe_brutto=summe_netto+ust

   'Die Kunden-ID wird gelesen
   oForm=oDoc.drawpage.forms.getByName("Formular1")
   oElement=oForm.getByName("kunde_id")
   kunde_id=oElement.text
msgbox ("kunde hat die nr "+kunde_id)

' Die ermittelten Variablen werden nun in die Datenbank geschrieben
mySQL="INSERT INTO ""proberechnungen"" (""rechnung_nr"",""summe_netto"",""ust"",""summe_brutto"",""kunde_id"")VALUES "+_
      "('"+rechnung_nr+"','"+summe_netto+"','"+ust+"','"+summe_brutto+"','"+kunde_id+"')"
Das ergibt in der Praxis folgenden SQL-Befehl der hier mittels MsgBox angezeigt wird:
bsp1.jpg
bsp1.jpg (22.53 KiB) 3154 mal betrachtet
Die Zahlenwerte welche hier in der Datenbank gespeichert werden sollen, sind hier keineswegs ein String, sie sind vielmehr das Ergebnis mathematischer Operationen. Um dies zu verdeutlichen, habe ich auch schon versucht sie zuvor klar zu deklarieren z.B. mit "dim ust as double" etc.

Ist eine der Zahlen aber eine Kommazahl, wird sie im SQL-Ausdruck aufgrund des dort gegebenen Kommas als ein Text behandelt udn ergibt folgenden Fehler:
bsp2.jpg
bsp2.jpg (24.13 KiB) 3154 mal betrachtet

Liegen nur ganze Zahlen vor oder ersetze ich probeweise im SQL Befehl die Kommas durch einen Punkt indem ich in den SQL Befehl per Hand eine Kommazahl reinschreibe (z.B. 12.45 statt 12,45) tritt der Fehler nicht mehr auf. Kann ich nachvollziehen, die DB möchte Kommazahlen im üblichen Format, also mit Punkten statt Kommas.

Wie schaffe ich es also, dass die in den mathematischen Operationen ermittelten Variablenwerte in diesem Format im SQL-Befehl erscheinen, statt mit dem störenden ","? Bin wirklich gespannt auf Eure Antworten!

Viele Grüße

Arek

LibreOffice 3.5 auf Win7.

arkadiuszpaluszek
Beiträge: 39
Registriert: Sa 17. Mär 2012, 22:39

Re: Probleme mit Speicherung von Kommazahlen mittels SQL-Bef

Beitrag von arkadiuszpaluszek » Sa 17. Mär 2012, 23:39

Habe die Lösung soeben gefunden:

http://de.openoffice.info/viewtopic.php ... 84#p197384

Gruß

Arek


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten