VBA与Access运行时错误3070

时间:2013-11-04 22:34:25

标签: vba ms-access

我有一个包含多个字段的数据库3其中包括: ID是自动编号 IDtype是文本 公司也是文本

使用变量: Dim rs As DAO.Recordset

当我在桌面上执行rs.FindFirst时,我得到以下结果

rs.FindFirst“ID = 367” - >代码运行正常,但这种方式只允许我获得一个特定的记录

rs.FindFirst“IDtype = '71'” - >代码运行正常

rs.FindFirst“COMPANY = XDRT” - >运行时错误'3070':Access数据库引擎无法识别'COMPANY'作为有效的字段名称或表达式(我也尝试在XDRT周围放置单引号,但仍然是相同的错误)

COMPANY字段和IDtype字段之间的唯一区别是COMPANY字段的格式设置为“@”

对此的任何帮助将不胜感激。 提前致谢

2 个答案:

答案 0 :(得分:1)

正如我的评论所指出的,正确的语法是:

rs.FindFirst "COMPANY='XDRT'"
是的,你试过吗?

此外,创建DAO.Recordset时可能会出错。

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("MyTable", dbOpenDynaset)

因此选择了所有树字段:ID,IDtype和COMPANY。

答案 1 :(得分:0)

如果公司的数据类型为Text,则在这种情况下需要使用单引号来搜索字符串。试试这个:

rs.FindFirst "COMPANY='XDRT'"