Vba “如何修复”;运行时错误';3464';:条件表达式中的数据类型不匹配。”;在MS Access中
我正在写一份关于访问的表格。它应该向表中插入数据,但我一直得到错误3464 我对VisualBasic有点陌生。这是以前的工作,但不再。我使用SQL Server作为后端。连接正常,正在插入新行。我在网上查过,但没有找到关于这个错误的全面解释Vba “如何修复”;运行时错误';3464';:条件表达式中的数据类型不匹配。”;在MS Access中,vba,ms-access,Vba,Ms Access,我正在写一份关于访问的表格。它应该向表中插入数据,但我一直得到错误3464 我对VisualBasic有点陌生。这是以前的工作,但不再。我使用SQL Server作为后端。连接正常,正在插入新行。我在网上查过,但没有找到关于这个错误的全面解释 Private Sub mSubmitButton_Click() CurrentDb.Execute "INSERT INTO dbo_Reporting_Table([Date], Vendor, Ordered_By, Picked_Up_
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
任何关于我可能做错了什么的建议都将不胜感激。我的问题是,在表单中,我没有在按下提交之前输入所有必填字段。我现在有一个if语句,如果所需字段为null,它将结束该过程。希望这对某人有用
If Eval(IsNull(Me.mDate.Value) Or IsNull(Me.mVendor.Value) Or IsNull(Me.mPicked_Up_By.Value) Or IsNull(Me.mReported_By.Value)) Then
MsgBox " Make sure you have entered the Date, Vendor, Purchaser, and signed the form. "
Exit Sub
ElseIf Eval(IsNull(Me.mItemInput0.Value) Or IsNull(Me.mEquipmentInput0.Value) Or IsNull(Me.mPriceInput0.Value)) Then
MsgBox " Please enter atleast one complete row of an item for the PO. "
Exit Sub
Else
End If
我的问题是,在表单中,我没有在按下submit之前输入所有必填字段。我现在有一个if语句,如果所需字段为null,它将结束该过程。希望这对某人有用
If Eval(IsNull(Me.mDate.Value) Or IsNull(Me.mVendor.Value) Or IsNull(Me.mPicked_Up_By.Value) Or IsNull(Me.mReported_By.Value)) Then
MsgBox " Make sure you have entered the Date, Vendor, Purchaser, and signed the form. "
Exit Sub
ElseIf Eval(IsNull(Me.mItemInput0.Value) Or IsNull(Me.mEquipmentInput0.Value) Or IsNull(Me.mPriceInput0.Value)) Then
MsgBox " Please enter atleast one complete row of an item for the PO. "
Exit Sub
Else
End If
该错误意味着您的值中的一种数据类型与您试图插入它的列的数据类型不匹配。由于我们不知道表中的列的数据类型是什么,因此我们不可能告诉您哪一种是错误的,或者为什么是错误的。您需要查看每个列定义,以查看它希望您向其提供的类型,然后找出如何在INSERT语句中正确地向它提供该类型的数据。那么发生了什么变化?[日期]是日期/时间字段吗?您正在使用撇号分隔符。如果这是一个访问表,则分隔符将为#字符。确实不应在命名约定中使用标点符号和特殊字符(仅下划线例外)。该错误意味着您的值中的一种数据类型与您尝试插入它的列的数据类型不匹配。由于我们不知道表中的列的数据类型是什么,因此我们不可能告诉您哪一种是错误的,或者为什么是错误的。您需要查看每个列定义,以查看它希望您向其提供的类型,然后找出如何在INSERT语句中正确地向它提供该类型的数据。那么发生了什么变化?[日期]是日期/时间字段吗?您正在使用撇号分隔符。如果这是一个访问表,则分隔符将为#字符。在命名约定中确实不应该使用标点符号和特殊字符(只有下划线例外)。