Diese Fehlermeldung erhalte ich wenn ich einen InsertBefehl ausführen will. Komischerweise ging's gestern noch, und mir fällt keine Zeile ein, in der ich seit Gestern was geändert haben sollte. Vielleicht findet ihr ja was:
Code:
Sub saveLS()
'Verbindung mit Datenbank herstellen
Set cnn = New ADODB.Connection
'On Error GoTo DB_Err
cnn.Open " Provider=SQLOLEDB;Integrated Security=SSPI;" & _
"Persist Security Info=False;Initial Catalog=Lieferscheine; Data Source=BURTSCHERHELEN"
'On Error GoTo DB_Err
'Variablen deklarieren
Dim LSNR As Double
Dim ADRESSE As String
Dim BESTNR As String
Dim PROJEKT As String
Dim AUFTRAG As String
Dim KNDNR As String
Dim UIDNR As String
Dim LIEFERNR As String
Dim DATUM As Date
Dim ZEICHEN As String
Dim LB As String
Dim LINK As String
'Werte zuweisen
LSNR = Range("F6")
ADRESSE = Worksheets(Application.Sheets(1).Name).Text1.Value 'Genaue Bezeichnung fehlt noch PETER FRAGEN
BESTNR = Range("B18")
PROJEKT = Range("F18")
AUFTRAG = Range("I18")
KNDNR = Range("K18")
UIDNR = Range("B21")
LIEFERNR = Range("F21")
DATUM = Range("I21")
DATUM = Format(DATUM, "mm.dd.yyyy") 'Tag und Monat vertauscht damit Ein- und Ausgabe richtig sind (30.12.2006)
ZEICHEN = Range("K21")
LB = Range("G23")
LINK = Range("B7")
On Error GoTo Tabelle_Err
'Neues Recordset deklarieren
Dim rs As New ADODB.Recordset
rs.Open "SELECT * FROM [Lieferscheine].[dbo].[Lieferscheinanzeige1] WHERE (dbo.Lieferscheinanzeige1.nLSNR = " & LSNR & ")", cnn
On Error GoTo Insert:
rs.MoveFirst
On Error GoTo Insert:
'Abfrage ob Insert oder Update
If CInt(Val(LSNR)) = rs.Fields("nLSNR") Then
rs.Close
On Error GoTo Tabelle_Err
'Datenbankwerte updaten
rs.Open "Update Lieferscheine.dbo.Lieferscheinanzeige1 " & _
"SET strADRESSE = " & "'" & ADRESSE & "'" & " , strBESTNR = " & "'" & BESTNR & "'" & ", " & "strPROJEKT = " & "'" & PROJEKT & "'" & "," & "strAUFTRAG = " & "'" & AUFTRAG & "'" & ", " & _
"strKNDNR = " & " '" & KNDNR & "'" & " , strUIDNR = " & "'" & UIDNR & "'" & " , strLIEFERNR = " & "'" & LIEFERNR & "'" & " , dDATUM = " & "'" & DATUM & "'" & ", " & _
"strZEICHEN = " & "'" & ZEICHEN & "'" & " , strLB = " & "'" & LB & "'" & " , strLINK = " & "'" & LINK & "'" & " " & _
"WHERE (nLSNR = " & "'" & LSNR & "'" & ")", cnn
MsgBox (LSNR & " erfolgreich verändert"), vbInformation Or vbOKOnly, "Datenbank" 'Meldungsfenster
Else
Insert:
rs.Close 'Recordset schliessen
'Datebankwerte einfügen
rs.Open "Insert into Lieferscheine.dbo.Lieferscheinanzeige1 (nLSNR, strADRESSE, strBESTNR, strPROJEKT, strAUFTRAG, strKNDNR, strUIDNR, strLIEFERNR, dDATUM, strZEICHEN, strLB, strLINK) VALUES" _
& "('" & LSNR & "','" & ADRESSE & "','" & BESTNR & "','" & PROJEKT & "','" & AUFTRAG & " ','" & KNDNR & "','" & UIDNR & "','" & LIEFERNR & "','" & DATUM & "','" & ZEICHEN & "','" & LB & "','" & LINK & "'" & ")", cnn
MsgBox (LSNR & " erfolgreich hinzugefügt"), vbInformation Or vbOKOnly, "Datenbank" 'Meldungsfenster
On Error GoTo Tabelle_Err
End If
Exit Sub
'Fehlermeldungen
'
DB_Err:
MsgBox "Datenbank nicht vorhanden!" & vbCrLf, 16, "Warnung!"
End
Tabelle_Err:
MsgBox "Keine Daten gefunden!" & Chr$(13) & "Prüfen Sie Ihre Eingabe!" & vbCrLf, 16, "Warnung!"
End
End Sub