ms 访问 2007 更新错误运行时错误 3464,条件表达式中的数据类型不匹配

Posted

技术标签:

【中文标题】ms 访问 2007 更新错误运行时错误 3464,条件表达式中的数据类型不匹配【英文标题】:ms access 2007 update error run time error 3464, data type mismatch in criteria expression 【发布时间】:2015-11-04 02:51:22 【问题描述】:

我无法更新数据,它表示标准表达式中的数据类型不匹配

CurrentDb.Execute "UPDATE PC_Details " & _ " SET Serial_No=" & Me.txtNo & _ ", PC_Brand='" & Me.txtBrand & "'" & _ ", PC_Model='" & Me.txtModel & "'" & _ ", Status='" & Me.txtStatus & "'" & _ ", Description='" & Me.txtDesc & "'" & _ ", Staff_ID='" & Me.txtID & "'" & _ " WHERE Serial_No=" & Me.txtNo.Tag

【问题讨论】:

由于我们没有办法知道您要更新的列是什么数据类型,也没有办法知道(推测的)文本框实际上是什么类型,所以这是无法回答的。你只需要坐下来做繁重的工作,找出哪些价值观不是你所期望的。对不起。 请向我们展示您的餐桌。 【参考方案1】:

这样做是为了调试:

Dim SQL As String
SQL = "UPDATE PC_Details " & _
                  " SET Serial_No=" & Me.txtNo & _
                  ", PC_Brand='" & Me.txtBrand & "'" & _
                  ", PC_Model='" & Me.txtModel & "'" & _
                  ", Status='" & Me.txtStatus & "'" & _
                  ", Description='" & Me.txtDesc & "'" & _
                  ", Staff_ID='" & Me.txtID & "'" & _
                  " WHERE Serial_No=" & Me.txtNo.Tag 
Debug.Print SQL
CurrentDb.Execute SQL

然后研究生成的 SQL 并在此处发布。

如果所有值都存在,则一个或多个是文本,但作为数字处理,反之亦然。

【讨论】:

以上是关于ms 访问 2007 更新错误运行时错误 3464,条件表达式中的数据类型不匹配的主要内容,如果未能解决你的问题,请参考以下文章

Ms Access SQL 更新语句不起作用

运行时错误 3464:条件表达式中的数据类型不匹配

MS Access 2007 中的多个联合语句中的嵌套错误

ms-access 2007 运行时和 lockWindowUpdate

OpenRecordSet 的数据类型不匹配错误

执行 vba 查询 ms 访问时出现运行时错误 3075