Ms access 如何在传递查询中使用本地DB表?

Ms access 如何在传递查询中使用本地DB表?,ms-access,passthru,pass-through,Ms Access,Passthru,Pass Through,我目前正在Access 2010中处理一个查询,我正在尝试使下面的查询正常工作。我的本地数据库和服务器之间有一个连接字符串,我正在通过该字符串来正常工作 选择第1列 ,第2栏 从serverDB.dbo.table1 其中第1列在tbl_Name1中选择第1列 在这种情况下,table1是我要通过的服务器上的表,但是tbl_Name1是我的Access DB中的表,我试图使用它来对从服务器提取的数据创建约束 当我尝试运行查询时,我得到一个错误,它认为tbl_Name1不存在 感谢您的帮助 我认为

我目前正在Access 2010中处理一个查询,我正在尝试使下面的查询正常工作。我的本地数据库和服务器之间有一个连接字符串,我正在通过该字符串来正常工作

选择第1列 ,第2栏 从serverDB.dbo.table1 其中第1列在tbl_Name1中选择第1列

在这种情况下,table1是我要通过的服务器上的表,但是tbl_Name1是我的Access DB中的表,我试图使用它来对从服务器提取的数据创建约束

当我尝试运行查询时,我得到一个错误,它认为tbl_Name1不存在


感谢您的帮助

我认为问题在于传递查询是在服务器上运行的查询。因为其中一个表位于本地访问文件上,所以它找不到该表

如果必须继续使用传递,可能的解决方法是,根据结果的数量,可以使用嵌套查询的结果而不是查询字符串本身来构建SQL字符串。这可能是可行的,也可能是不可行的


e、 g.您使用c1result1、c1result2等,而不是从tbl_Name1中选择column1。

我刚刚发现了一个解决方案,可以帮助其他处于类似情况的人

这种方法很简单,因为您只需在本地Access数据库上运行一个查询,就可以一次获得所需的所有内容。但是,很多过滤/搅动结果的工作可能会在后台在您自己的本地计算机上完成,而不是在远程服务器上完成,因此不一定很快

台阶 创建查询,使其成为传递查询,并设置其ODBC Connect Str属性以连接到远程数据库。 编写传递查询,类似于从RemoteTable中选择RemoteId,并为传递查询指定一个名称,可能是PassThroughQuery 创建新查询,使其成为常规的Select查询。 编写您的新查询,使用您刚刚创建的传递查询作为一个表,在这个新查询中使用查询作为一个表似乎很奇怪,但它可以工作,并将该传递查询表连接到您的本地表,并根据本地表中的值对其进行筛选,如选择R.RemoteId,L.LocalId=R.RemoteId上的passthrough查询R内部联接LocalTable L中的L.LocalValue,其中L.LocalValue='SomeText'
这种方法允许您干净地混合/连接传递查询的结果和本地Access数据库表中的数据,但如果涉及大量数据,则可能会很慢。

如果表被链接,则可以将表视为本地的,但查询相似的讨论可能会导致性能损失