0

我目前有多个查询,这些查询从通过 ODBC 链接的几个表中查询数据,以及一些通过用户界面编辑的临时表。我的查询中有复杂的标准,例如:
SELECT * from ThingsData
WHERE (Thing In(SELECT Thing from ListOfThings) AND getThingFlag() = True);
在这种情况下,Thing 是一个字段,ListOfThings 是用户从用户界面定义的临时表。基本上,用户将他/她想要过滤数据的字段 Thing 列表放在一起,我只想查询与用户添加到他/她列表中的 Thing 值匹配的数据。目前,我正在查询的数据在链接的 ODBC 表中,而临时表 ListOfThings 只是一个常规的本地表,一切正常。我想摆脱链接表并改用直通查询。但是,当我这样做时,除非标准非常简单,否则我会收到错误消息:

“ODBC--调用失败。无效的对象名称 ListOfThings。”

如果我没有任何标准,它可以正常工作。

长话短说:在直通查询中,我如何应用包括来自我的模块的 SELECT 和函数的条件,并基本上根据本地表中的数据过滤直通表?

4

1 回答 1

0

那个 ODBC 链接的另一端是什么?在传递查询中,您必须遵守数据库服务器所需的语法,而不是 Access 语法。我首先怀疑你不能混合大小写的表名,我会尝试listofthings作为名称。

如果您有一个可用于直接针对数据库服务器测试查询的工具,请让查询在那里工作,然后简单地将其剪切并粘贴到 Access 传递查询中。

于 2009-11-10T19:10:02.793 回答