vba - 如何检查Access表中是否存在值

标签 vba ms-access

我在尝试检查表 (Access 2010) 中是否已存在序列号时收到错误消息。

这是我正在使用的代码:

If CurrentDb.OpenRecordset("Select count(*) from Table_Name where vSerial='" & Forms!Form_Name!vSerial & "';").Fields(0) > 0 Then
MsgBox ("Serial number already in use")
Else
Me.ctrl_register.Pages(1).Enabled = True
Me.ctrl_register.Pages(1).SetFocus
End If

我究竟做错了什么?

我在 2 个不同的表中使用相同的代码,但我找不到它们之间的区别。表之间的唯一区别是其中的数据数量。

有人能指出我正确的方向吗?

我得到的错误是 Access 中的运行时错误 3464 - 条件表达式中的数据类型不匹配。

变量 vSerial 被定义为一个数字。

提前致谢!

最佳答案

vSerial 是整数值,您在查询中使用了 '' ,请将其删除。引号用于字符串值。

If CurrentDb.OpenRecordset("Select count(*) from Table_Name where vSerial=" & Forms!Form_Name!vSerial & ";").Fields(0) > 0 Then
    MsgBox ("Serial number already in use")
Else
    Me.ctrl_register.Pages(1).Enabled = True
    Me.ctrl_register.Pages(1).SetFocus
End If

关于vba - 如何检查Access表中是否存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21366351/

相关文章:

excel - VBA Excel - 有没有办法根据两列中的条件删除行?

vba - 我了解不正确使用getter和setter的方法吗?

vba - Excel vba : combine multiple files in one sheet

java - INSERT INTO 在 Ucanaccess 中给出错误

delphi - 如何将 800000 条记录插入 MS Access 表中?

ms-access - MS Access 富文本编辑工具中的字体限制

ms-access - 添加背景

excel - 获取和比较字符串中的整数

ms-access - 断开与引用数据库的链接

ms-access - 检测断开连接的 Microsoft Access 链接表