【发布时间】:2019-01-24 12:56:48
【问题描述】:
我正在处理 Access 上的表单。它应该将数据插入到表中,但我不断收到错误 3464。
我对 Visual Basic 有点陌生。这以前有效,但不再有效。我使用 SQL Server 作为后端。连接有效,它正在插入新行。我上网查了一下,没有找到关于这个错误的全面解释。
Private Sub mSubmitButton_Click()
CurrentDb.Execute "INSERT INTO dbo_Reporting_Table([Date], Vendor, Ordered_By, Picked_Up_By, Reported_By) " & _
" VALUES('" & Me.mDate & "','" & Me.mVendor & "','" & Me.mOrdered_By & "','" & _
Me.mPicked_Up_By & "','" & Me.mReported_By & "')"
CurrentDb.Execute "INSERT INTO dbo_Items_Table([PO#], [Item], [Price], [Equipment], [Quantity]) " & _
" VALUES(" & Me.mPONumber & ",'" & Me.mItemInput0 & "'," & Me.mPriceInput0 & ",'" & _
Me.mEquipmentInput0 & "'," & Me.mQuantityInput0 & ")"
Me.mItemInput0 = ""
Me.mPriceInput0 = ""
Me.mEquipmentInput0 = ""
Me.mQuantityInput0 = ""
Me.mDate = ""
Me.mVendor = ""
Me.mOrdered_By = ""
Me.mPicked_Up_By = ""
Me.Requery
Exit Sub
Error_PopupMessage:
'Response = MsgBox(Message, vbOKOnly + vbInformation, "Form Entry Hint", "help", "1000")
Exit Sub
End Sub
任何关于我可能做错的建议将不胜感激。
【问题讨论】:
-
该错误意味着您的值中的一种数据类型与您尝试插入它的列的数据类型不匹配。由于我们不知道表中的列的数据类型是什么,因此我们不可能告诉您哪一个是错误的或为什么。您需要查看每个列定义以了解它希望您提供给它的类型,然后弄清楚如何在 INSERT 语句中正确地为其提供该类型数据。
-
那么发生了什么变化? [Date] 是日期/时间字段吗?您正在使用撇号分隔符。如果这是一个 Access 表,则分隔符将是 # 字符。在命名约定中确实不应该使用标点符号和特殊字符(下划线除外)。