答案 0 :(得分:2)
实际上,您的错误是这样的:
--->您正在混合文本(需要Apostrophy文本标记[']之前和之后)和数字(不需要[']之前和之后)在您的Sql中:
更新:
'Qty: Number
'LP: Number
'MRP: Number
'C_Disc: Number
'GST: Number
'IGST: Number
'LPR_Total: Number
'R_Total: Number
Private Sub btn_Save_Click()
Dim i As Integer
Dim Sql As String
For i = 0 To ItemsListBox.ListCount - 1 Step 1
Sql = "INSERT INTO tblSE_B( Inv_No, " & _
"Item_ID," & _
"Qty," & _
"LP, " & _
"MRP," & _
"GST," & _
"IGST," & _
"C_Disc," & _
"LPR_Total," & _
"R_Total)" & _
" VALUES('" & txtInvNo & "','" & _
ItemsListBox.Column(0, i) & "'," & _
ItemsListBox.Column(1, i) & "," & _
ItemsListBox.Column(2, i) & "," & _
ItemsListBox.Column(3, i) & "," & _
ItemsListBox.Column(4, i) & "," & _
ItemsListBox.Column(5, i) & "," & _
ItemsListBox.Column(6, i) & "," & _
ItemsListBox.Column(8, i) & "," & _
ItemsListBox.Column(9, i) & ");"
CurrentDb.Execute Sql
Next i
MsgBox "Successfully done", vbInformation, "Sales"
End Sub
所以
Item_ID is now Text
然后我不得不放回(')。因此,请立即使用此脚本。
现在这是您需要做的:
CurrentDb.Execute Sql
上设置一个断点Sql
的值
Sql
文本Sql Script
创建新查询。希望这对您有帮助!
答案 1 :(得分:0)
我怀疑您要插入的某些数据是数字数据,因此不需要将值包装在单引号中。例如,如果所有值都是数字,则可以在循环中使用它:
CurrentDb.Execute "INSERT INTO tblSE_B(Inv_No,Item_ID,Qty,LP,MRP,GST,IGST,C_Dsic,LPR_Total,R_Total) VALUES(" & txtInvNo & "," & ItemsListBox.Column(0, i) & "," & ItemsListBox.Column(1, i) & "," & ItemsListBox.Column(2, i) & "," & ItemsListBox.Column(3, i) & "," & ItemsListBox.Column(4, i) & "," & ItemsListBox.Column(5, i) & "," & ItemsListBox.Column(6, i) & "," & ItemsListBox.Column(8, i) & "," & ItemsListBox.Column(9, i) & ")"
当您只需要ID字段就可以存储所有这些字段时,存储所有这些字段可能也不是一种好的数据库做法,但是如果不知道自己在做什么以及为什么这么做,很难确定。
此致
答案 2 :(得分:0)
我已将表中的Item_ID数据类型从“数字”更改为“短文本”,并且确实尝试了以下代码,但是仍然无法正常工作。
'ID: AutoNumber
'Inv_No: Short Text
'Item_ID: Short Text
'Qty: Number
'LP: Number
'MRP: Number
'C_Disc: Number
'GST: Number
'IGST: Number
'LPR_Total: Number
'R_Total: Number
Private Sub btn_Save_Click()
Dim i As Integer
For i = 0 To ItemsListBox.ListCount - 1 Step 1
CurrentDb.Execute "INSERT INTO tblSE_B( Inv_No, " & _
"Item_ID," & _
"Qty," & _
"LP, " & _
"MRP," & _
"GST," & _
"IGST," & _
"C_Dsic," & _
"LPR_Total," & _
"R_Total)" & _
" VALUES('" & txtInvNo & "','" & _
ItemsListBox.Column(0, i) & "'," & _
ItemsListBox.Column(1, i) & "," & _
ItemsListBox.Column(2, i) & "," & _
ItemsListBox.Column(3, i) & "," & _
ItemsListBox.Column(4, i) & "," & _
ItemsListBox.Column(5, i) & "," & _
ItemsListBox.Column(6, i) & "," & _
ItemsListBox.Column(8, i) & "," & _
ItemsListBox.Column(9, i) & ")"
Next i
MsgBox "Successfully done", vbInformation, "Sales"
End Sub