通过VBA直通查询

问题描述 投票:0回答:1

我有一个复杂的 CTE 查询,它作为直通查询工作,因此我需要在其中动态设置一些日期,并通过 VBA 执行它。 我得到一个

错误 3129,意味着它期望删除、插入、选择等,而不是“with”..

相关代码如下:

Dim dbs as database
Dim rs as dao.recordset


Set rs = currentdb.openrecordset (
StrQuery, dbopendynaset, dbSQLPassThrough)

谢谢

由于错误消息,我尝试了上面的代码但没有成功

sql vba ms-access pass-through
1个回答
0
投票

如果您的 CTE 位于存储过程中,并且您的直通查询只是调用该 SP,则可以完成此操作。否则,MS Access 将尝试解析查询,即使是直通也是如此。

关键字WITH在MS Access SQL中的含义有所不同。因此,它将无法将该查询传递到后端服务器,并且您将收到您所描述的错误。

© www.soinside.com 2019 - 2024. All rights reserved.