【问题标题】:How to fix "Run-time error '3464': Data type mismatch in criteria expression." in MS Access如何修复“运行时错误‘3464’:条件表达式中的数据类型不匹配。”在 MS 访问
【发布时间】: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 表,则分隔符将是 # 字符。在命名约定中确实不应该使用标点符号和特殊字符(下划线除外)。

标签: vba ms-access


【解决方案1】:

我的问题是,在我按下提交之前,我没有在表单中输入所有必填字段。我现在有一个 if 语句,如果必填字段为空,则结束该过程。希望这可能对某人有用。

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

【讨论】:

    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多