Liebe Gemeinde,
beim Ausführen des nachfolgeden Code-/LotusScript-Auszugs stoße ich auf ein scheinbar unlösbares Problem. Werden im Feld 'KPreis' Beträge mit Nachkommastellen eingegeben, so scheitert das Schreiben auf den MS-SQL-Server mit der Fehlermeldung 'In der INSERT-Anweisung sind weniger Spalten angegeben als Werte in der'. Der Rest der Meldung fehlt leider, jedoch liegt das Problem am Datentyp Währung des Feldes 'Preis' auf dem MS-SQL-Server. Da ich selbst keinen Einfluss auf das Design der MS-SQL-DB nehmen kann, muss ich das erst mal so hinnehmen. Der Währungsbetrag CurPreis darf ähnlich wie Zahlenfelder nicht in einfache Hochkommas eingeschlossen werden. Taucht nun ein Betrag mit Nachkommastellen auf, wird innerhalb des SQL-Anweisung das Komma als Feldtrennzeichen interpretiert. Beim Versuch statt eines Kommas einen Punkt als Dezimaltrennzeichen zu benutzen, wird aus 33,50 Euro ein Betrag von 33500,00 Euro und stellt somit auch keine Lösung dar.
Wer kann helfen/hatte auch schon mal eine solche Aufgabenstellung?
Beste Grüße
markus
Sub Click(Source As Button)
Dim connect As New LCConnection ("oledb")
Dim SQLStatement As String
Dim CurPreis As Currency
Dim FLDLst As New LCFieldList
Dim workspace As New notesuiworkspace
Dim uidoc As notesuidocument
connect.provider = "SQLOLEDB"
connect.server = "192.168.1.1"
connect.database = "Testdb"
connect.Userid = "username"
connect.Password = "userpwd"
connect.Metadata = "Auftrag"
connect.Connect
Set uidoc=workspace.currentdocument
Call uidoc.refresh()
CurPreis = Ccur(uidoc.FieldGetText("KPreis"))
KundID = uidoc.FieldGetText("KundenID")
' Schreiben in Tabelle Auftrag
SQLStatement="Insert into Auftrag (KundenID,Preis) values ('" & KundID & "'," & CurPreis & ")"
If (connect.Execute (SQLStatement, FLDLst) = 0) Then
Print "Keine Verbindung zur Datenbank möglich !!!"
else
...
end if
...
connect.disconnect
End Sub