访问查询 - 纠正MS Access查询中语句的格式

时间:2012-04-05 04:59:55

标签: ms-access

我在Access数据库中有VBA代码。我收到错误消息“运行时错误3464 - 表达式中的数据类型不匹配”,我的代码中包含以下行。这条线的正确格式是什么?我确定它是一个简单的引号或线条中缺少的东西。

在数据库中,有一个名为APIC成员的列。我只想要单元格中列出“1”的记录。

Table$ = "SELECT * From WHY_Open_Cases_YTD WHERE WHY_Open_Cases_YTD.[APIC Member] = 1;"
Set RST = myDB.OpenRecordset(Table$)

请告诉我我做错了什么。当我调试消息时,我突出显示Set RST = myDB.OpenRecordset (Table$)

3 个答案:

答案 0 :(得分:1)

在我的Access 2003和2007系统上,错误#3464的完整描述是“条件表达式中的数据类型不匹配。”数据库引擎抱怨您要求它的SQL语句使用

如果[APIC Member]是文本数据类型而不是数字数据类型,请在您比较的值周围添加引号。

Table$ = "SELECT * From WHY_Open_Cases_YTD WHERE [APIC Member] = '1';"

答案 1 :(得分:0)

“数据类型不匹配”对我来说听起来好像是在打开错误类型的Recordset myDB.OpenRecordset()需要DAO.RecordsetRST可能是ADODB.Recordset

请参阅此答案以获得更深入的解释:
Open recordset in Access 2003/2007

答案 2 :(得分:0)

尝试

Table$ = "SELECT * From WHY_Open_Cases_YTD WHERE '[APIC Member]' = '1';"

我遇到了与DAO相同的问题,结果是在你引用字段名称之前它不会接受SQL查询。