如何从Excel引用Access查询定义?

时间:2016-10-04 10:09:27

标签: excel-vba access-vba vba excel

我需要更改从Excel保存的查询的SQL,并且必须使用后期绑定。

具体而言,我在Excel VBA中构建SQL字符串,其中包含用户在Excel中提供的许多参数,并通过ADODB连接查询数据库。我在数据库中构建了核心查询,它完成了大部分工作,因此我可以在Excel端保留我的SQL字符串和返回的数据量。

大多数情况下这样可以正常工作,但其中一些核心查询依赖于嵌套在几个级别深度的其他查询,而我需要提供的一些参数是围绕这些父查询中的数据。所以,我想在运行我的主代码之前需要暂时修改那些父查询的SQL(除非有人有其他想法?)。我知道如何在Access中更改queryDef的SQL,但不知道如何从Excel中更改queryDefs。

所以TL:DR - 如何在Excel的Access accdb中处理queryDefs?

感谢。

1 个答案:

答案 0 :(得分:0)

这是一个后期绑定示例

Dim db As Object
Dim qdef as Object
Set db = CreateObject("DAO.DBEngine.120").OpenDatabase("path to db")
set qdef = db.QueryDefs("query name")