Ich habe eine Datenbank innerhalb von Microsoft Access und damit ein Formular erstellt.
Ich habe eine Schaltfläche an das Formular angehängt und wenn es geklickt wird, möchte ich einen neuen Datensatz in die Tabelle customerHeader
einfügen.
Es gibt vier Felder innerhalb dieser Tabelle, von denen eine eine automatische Nummerierung ist. In meiner SQL-Anweisung schließe ich die Bestellnummer nicht ein, da es sich um ein Autofeld handelt.
Wenn ich versuche, auf die Schaltfläche zu klicken und das On-Click-Ereignis ausgeführt wird, erhalte ich die Fehlermeldung, dass Microsoft Access die Datensätze in der Append-Abfrage nicht anhängen kann.Microsoft Access VBA INSERT SQL-Anweisung
Irgendwelche Ideen, ich habe überall gesucht und ich konnte die Lösung nicht finden.
Private Sub addOrder_Click()
Dim mySql As String
Dim rowNum As Integer
Dim recCount As Long
Dim orderNumber As Long
Dim myBool As Boolean
Dim todayDate As Date
todayDate = CDate(Date)
myBool = False
MsgBox todayDate
rowNum = Form.CurrentRecord
rowNum = CInt(rowNum - 1)
'DoCmd.GoToRecord , , acNewRec
mySql = "INSERT INTO orderHeader (orderDate,custNumber,printed) VALUES (" & todayDate & "," & rowNum & "," & myBool & ")"
DoCmd.RunSQL mySql
Me!orderNum.Requery
Für sich allein funktioniert die SQL, obwohl Sie '#' um das Datum hinzufügen möchten - '(#" & todayDate & "#," '(möglicherweise müssen Sie auch mit der Datumsformatierung herumalbern) abhängig von deiner Örtlichkeit - ich hasse Daten in Access.) Was genau bin ich sagage gibt es? In der Regel heißt es - 'MS Access setzte x Feld (e) auf Null, weil ein Konvertierungsfehler aufgetreten ist, und es wurden keine x Einträge hinzugefügt ...' –
Es heißt konkret "Microsoft Access Set 0 field (s) zu Null aufgrund eines Typs Konversion Fehler, und es wurde nicht 1 Datensatz (s) zu der Tabelle aufgrund von Schlüsselverletzungen, 0 Datensatz (en) aufgrund von Sperrverletzungen und 0 Datensätze aufgrund der Validierungsregel hinzufügen Verstöße ". Ich werde versuchen, # zum Datum –