我目前正在使用Access 2010中的查询,我正在尝试使以下查询正常工作。我有我的本地数据库和服务器之间的连接字符串,我正在通过工作正常。
Select column1
, column2
from serverDB.dbo.table1
where column1 in (Select column1 from tbl_Name1)
在这种情况下,table1是我要通过的服务器上的表,但是tbl_Name1是实际在我的Access数据库中的表,我试图用来创建对我的数据的约束从服务器拉出来。
当我尝试运行查询时,我收到的错误是它不认为tbl_Name1存在。
感谢任何帮助!
答案 0 :(得分:1)
我刚刚遇到了一个可能在类似情况下帮助其他人的解决方案。
这种方法很简单,因为您只需在本地Access数据库上运行一个查询,即可获得所需的所有内容。但是,很多过滤/搅拌结果可能在后台在您自己的本地计算机上完成,而不是在远程服务器上,因此它可能不一定很快。
SELECT RemoteId From RemoteTable
,并通过查询传递名称,也许PassThroughQuery
PassThroughQuery
这种方法允许您干净地混合/加入传递查询的结果和本地Access数据库表中的数据,尽管如果涉及大量数据,可能会很慢。
答案 1 :(得分:0)
我认为问题在于传递查询是在服务器上运行的查询。由于其中一个表位于本地Access文件中,因此无法找到该表。
如果你必须坚持传递,可能的解决方法是你可以使用嵌套查询的结果而不是查询字符串本身构建一个SQL字符串(取决于结果的数量,这可能是实际的,也可能是不实际的)< / p>
e.g。您使用Select column1 from tbl_Name1
"c1result1","c1result2",....