Ich arbeite in einem Formularentwurf, in dem ich möchte, dass die Benutzer Kaufartikel aus Kombinationsfeldern auswählen und den Einheitspreis und die Kaufmenge eingeben. Alle vom Benutzer ausgewählten und eingegebenen Informationen werden zu einer anderen Tabelle hinzugefügt. Hier verwende ich Do Until Loop, um Kaufdatensätze einzeln hinzuzufügen. Ich habe die Do Until Loop ausprobiert. Es läuft gut. Als ich jedoch diese Schleife mit Insert Into-Anweisung abgeschlossen habe, erhielt ich einen Syntaxfehler. Bitte helfen Sie mir zu überprüfen, wo das Problem liegt. Vielen Dank.Syntaxfehler der SQL-Insert-Anweisung im Zugriff
Mein Code:
Private Sub Command133_Click()
Dim i As Integer
i = 1
Do Until IsNull(Me.Controls("cboPurchaseItem" & i))
Dim StrSql As String
StrSql = "Insert Into test2 (PurchaseID,
PurchaseDate,
ExpectedDeliveryDate,
Supplier,
PurchaseItem,
Unit,
PurchaseQuantity,
UnitCost,
OrderStatus,)" & _
" VALUES('" & Me!txtOrderID & "',
#" & Format(Me!txtOrderDate, "yyyy/mm/dd") & "#,
#" & Format(Me!txtDeliveryDate, "yyyy/mm/dd") & "#,
'" & Me!cboSupplierCompany & "',
'" & Me.Controls("cboPurchaseItem" & i) & "',
'" & Me.Controls("txtUnit" & i) & "',
" & CStr(Me.Controls("TxtQty" & i)) & ",
" & CStr(Me.Controls("TxtPrice" & i)) & ",
'Ordered')"
CurrentDb.Execute (StrSql)
MsgBox " You have successfully added " & i & " records to the PurchaseOrderDetail table."
i = i + 1
Loop
End Sub
Ich habe einen Fehler gefunden. ein zusätzliches Komma "," wurde nach OrderStatus falsch eingegeben. Das ist die Fehlermeldung. Zu meiner Überraschung können Daten in Me! CboSupplierCompany und Me.Controls ("cboPurchaseItem" & i) nicht zu der Tabelle hinzufügen, in der sie leer angezeigt wird. –