我需要更改从Excel保存的查询的SQL,并且必须使用后期绑定。
具体而言,我在Excel VBA中构建SQL字符串,其中包含用户在Excel中提供的许多参数,并通过ADODB连接查询数据库。我在数据库中构建了核心查询,它完成了大部分工作,因此我可以在Excel端保留我的SQL字符串和返回的数据量。
大多数情况下这样可以正常工作,但其中一些核心查询依赖于嵌套在几个级别深度的其他查询,而我需要提供的一些参数是围绕这些父查询中的数据。所以,我想在运行我的主代码之前需要暂时修改那些父查询的SQL(除非有人有其他想法?)。我知道如何在Access中更改queryDef的SQL,但不知道如何从Excel中更改queryDefs。
所以TL:DR - 如何在Excel的Access accdb中处理queryDefs?
感谢。
答案 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")