Problem mit dem Speichern von Kommazahlen mittels SQL

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: Problem mit dem Speichern von Kommazahlen mittels SQL

Re: Problem mit dem Speichern von Kommazahlen mittels SQL

von arkadiuszpaluszek » Sa, 17.03.2012 23:34

Habe die Lösung soeben gefunden:

viewtopic.php?f=18&t=3026&p=197384#p197384

Gruß

Arek

Re: Problem mit dem Speichern von Kommazahlen mittels SQL

von Karolus » Sa, 17.03.2012 23:20

Hallo
Crosspostings solltest du wenigstens verlinken

Karo

Problem mit dem Speichern von Kommazahlen mittels SQL

von arkadiuszpaluszek » Sa, 17.03.2012 22:32

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) 616 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) 620 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.

Nach oben