Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba “如何修复”;运行时错误';3464';:条件表达式中的数据类型不匹配。”;在MS Access中_Vba_Ms Access - Fatal编程技术网

Vba “如何修复”;运行时错误';3464';:条件表达式中的数据类型不匹配。”;在MS Access中

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_

我正在写一份关于访问的表格。它应该向表中插入数据,但我一直得到错误3464

我对VisualBasic有点陌生。这是以前的工作,但不再。我使用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

任何关于我可能做错了什么的建议都将不胜感激。

我的问题是,在表单中,我没有在按下提交之前输入所有必填字段。我现在有一个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语句中正确地向它提供该类型的数据。那么发生了什么变化?[日期]是日期/时间字段吗?您正在使用撇号分隔符。如果这是一个访问表,则分隔符将为#字符。在命名约定中确实不应该使用标点符号和特殊字符(只有下划线例外)。