我有一个包含业务优先级的表,以及用于为每个优先级生成结果的查询名称。
是否可以遍历此表以及在数据库中找到具有相同名称的查询的位置,运行它?
我找到的衣柜里面的东西在下面,但我不想将我的完整查询代码输入到表格中。
http://www.experts-exchange.com/Database/MS_Access/Q_28284655.html
答案 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集合以查找具有相同名称的查询,并且只有在找到匹配项时才执行它。