MS-SQL Zahlen über 1'000.00 werden nicht eingetragen

nafets

Mitglied
Hallo

Habe folgendes Problem: Ich habe mir ein Faktura Tool gebastelt welches automatische Rechnungen generiert. Funktioniert alles einwandfrei, ausser wenn die Totalsumme über CHF 1000.-- kommt dann bringt es folgenden Fehler. Beispiel Betrag = 1'129.80:

Microsoft OLE DB Provider for SQL Server Fehler "80040e14'
Zeile 1: Falsche Syntax in der Nähe von '129.80'

Wenn ich dann an der angegebenen Zeilenstelle nach dem Code schaue, dann ist da ein einfacher ASP Insert Befehl.
Das Feld in welches der Betrag geschrieben werden soll ist als "decimal" hinterlegt, da dieser an einem anderen Ort zum weiter verarbeiten benötigt wird.

Aber auch mit Money oder so geht es nicht. Die TotalWerte kommen aus einer Abfrage. In dieser ist auch was komisch, der Betrag wird so 1129.800000 angegeben. Kann es sein, das deshalb der Wert nicht richtig kommt? Dieser wird zwar beim auslesen Formatiert und dieser wird dann weiter gegeben und inseriert.

Wenn ich jetzt eine Zahl manuell in das benötigte Datenbank Feld schreibe dann geht es. Weiss jemand an was das liegen könnte oder wo ich noch suchen sollte.

Danke

Gruss
 
Nein, Im DB-Feld selber wird die Zahl lediglich durch den Punkt getrennt. Das hochkomma wird erst beim auslesen angezeigt. Automatisch.
 
Zeig doch bitte mal ein bisschen Code dazu an.
Am Besten zum Beispiel mal Dein INSERT-Statement.

Vielleicht können wir Dir dann besser weiterhelfen.
 
Code:
sqlDebi = "INSERT INTO fDebitoren" &_
					"(fRG, fDatum, fKD, fStatus, fPreiseff, fPreis) VALUES (" &_
					"'" & myRGNr & "'," &_
					"'" & myKDatum & "'," &_
					"'" & myKdNr & "'," &_
					"'" & myDStatus & "'," &_
					"'" & myDPreis & "'," &_
					"'" & myTotal & "')"	
					
					objConn.Execute(sqlDebi)
 
Also in Deinem Statement gibst Du die Zahl als String ein. (durch die ' drum herum)
Da die Zahl aber eine Zahl ist, würde ich die Apostrophe weglassen.
Ansonsten fällt mir da im Moment aber auch nichts gescheites ein.
 
Original geschrieben von nafets
Nein, Im DB-Feld selber wird die Zahl lediglich durch den Punkt getrennt. Das hochkomma wird erst beim auslesen angezeigt. Automatisch.

Du meinst sicherlich, dass der Betrag in der DB z.B. so aussieht?
1.000,00?

Eigentlich müsste ja 1000,00 drinstehen, oder?
 
Du hast schon recht. In der DB steht ja nur 1000.00. Das ist ja das komische. Mittlerweilen bin ich soweit, dass es in der ersten Tabelle History rengeschrieben wird ab in der zweiten Debitoren nicht. Dort bringt er immer noch den Fehler. Aber die Felder sind identisch.
 
Zurück