dcount函数显示错误数据类型不匹配

时间:2016-02-11 16:11:46

标签: sql vba ms-access

运行代码时出现以下错误:

条件表达式中的数据类型不匹配。

我正在尝试使用autoIncrement字段 Id 检查表 tblMain 中是否存在记录。

Dim myId as Long
Dim tableName as string

myId = 1145589
tableName = "Main"

注意:上面的部分只是为了说明这些变量的类型和价值。它们实际上并没有在我的代码中这样呈现。

If Not DCount("Id", "tbl" & tableName, "Id='" & myId & "'") = 1 Then
    Err.Raise 540, "This record does not exist."
End If

我尝试运行以下查询,这很好:

SELECT Count(Id) FROM tblMain WHERE Id = 1145589

代码有什么问题?

2 个答案:

答案 0 :(得分:2)

A Long不得引用:

If Not DCount("*", "tbl" & tableName, "Id=" & myId & "") = 1 Then
    Err.Raise 540, "This record does not exist."
End If

答案 1 :(得分:2)

myId变量周围有单个刻度,但它是数字的,所以你不需要它们。

mysqli_connect

应该是

"Id='" & myId & "'"

以下是完整的更新代码:

"Id=" & myId