这不是WHERE x IN(1,2,3)
运算符,而是特定于访问的 FROM x IN 'C:\OtherDatabase.mdb'
IN子句。
我有一个查询,它从一个单独的数据库文件中查找大量表(通常会使用新版本更改名称和/或路径)。
SELECT id FROM someTable IN 'C:\OtherDatabase.accdb'
效果很好。我想做的是为用户提供一些灵活性w.r.t.其他数据库的路径和文件名。因此,我有另一个包含单行的表,其中包含完整路径。我尝试过以下方法:
SELECT id FROM someTable IN DLookup("Path", "tblExternalData")
产生Syntax error in FROM clause,
的然后突出显示SQL编辑器中的开始页面。
我宁愿没有个人将十几个不同的表链接到这个数据库中只是为了查询它们(这里提供的示例显然简化了)IN
子句似乎非常适合我的需要,如果我可以在需要时更改它而不是将路径硬编码到查询中!
答案 0 :(得分:0)
到目前为止,我发现的唯一方法是VBA:
strFileName = DLookup("Path", "tblExternalData")
strSQL = "SELECT id INTO tmpTable FROM someTable IN '" & strFileName & "';"
DoCmd.RunSQL strSQL
我觉得这不是一个很棒的解决方案 - 我不喜欢合并字符串来获取可执行的SQL - 但它现在可以工作。