【问题标题】:VBA with Access runtime error 3070带有 Access 运行时错误 3070 的 VBA
【发布时间】:2013-11-15 17:06:21
【问题描述】:

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

使用变量: Dim rs As DAO.Recordset

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

rs.FindFirst "ID=367" -> 代码运行良好,但这种方式只能让我获得一条特定记录

rs.FindFirst "IDtype='71'" -> 代码运行良好

rs.FindFirst "COMPANY=XDRT" -> 运行时错误 '3070':Access db 引擎无法将 'COMPANY' 识别为有效的字段名称或表达式(我也尝试在 XDRT 周围加上单引号,但仍然是同样的错误)

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

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

【问题讨论】:

  • 正确的语法是:rs.FindFirst "COMPANY='XDRT'",你试过了吗?

标签: vba ms-access


【解决方案1】:

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

rs.FindFirst "COMPANY='XDRT'"

,你试过吗?

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

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

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

【讨论】:

  • 我尝试过 XDRT 周围的单引号,但我没有将字段放入 DAO.Recordset。非常感谢
【解决方案2】:

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

rs.FindFirst "COMPANY='XDRT'"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-13
    • 2016-12-08
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多