VBA运行特定查询

时间:2015-02-11 18:50:48

标签: ms-access-2007

我有一个包含业务优先级的表,以及用于为每个优先级生成结果的查询名称。

是否可以遍历此表以及在数据库中找到具有相同名称的查询的位置,运行它?

我找到的衣柜里面的东西在下面,但我不想将我的完整查询代码输入到表格中。

http://www.experts-exchange.com/Database/MS_Access/Q_28284655.html

1 个答案:

答案 0 :(得分:0)

这将执行表中的每个查询名称。它使用查询名称填充记录集,然后循环执行每个记录集。

Dim sql As String
Dim rst As DAO.Recordset
Dim myQuery As String

sql = "Select myQuery from myTable"

Set rst = CurrentDb.OpenRecordset(sql)

Do While Not rst.BOF And rst.EOF

    myQuery = rst(0)
    DoCmd.OpenQuery myQuery, acViewNormal
    rst.MoveNext

Loop

rst.Close
Set rst = Nothing

如果您需要在执行之前检查查询是否存在,请告诉我。如果是这样,我可以添加代码来搜索querydefs集合以查找具有相同名称的查询,并且只有在找到匹配项时才执行它。