0
我有一個表包含業務優先級和用於生成每個結果的查詢的名稱。VBA運行特定查詢
是否有可能通過此表循環並在數據庫中找到具有相同名稱的查詢,然後運行它?
我發現的衣櫃的東西在下面,但我不想輸入我的完整查詢代碼到表中。
http://www.experts-exchange.com/Database/MS_Access/Q_28284655.html
我有一個表包含業務優先級和用於生成每個結果的查詢的名稱。VBA運行特定查詢
是否有可能通過此表循環並在數據庫中找到具有相同名稱的查詢,然後運行它?
我發現的衣櫃的東西在下面,但我不想輸入我的完整查詢代碼到表中。
http://www.experts-exchange.com/Database/MS_Access/Q_28284655.html
這將執行每個查詢名稱是在表格中。它用查詢名稱填充一個記錄集,然後遍歷並執行每個記錄集。
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集合,並僅在發現匹配時執行它。
謝謝。我會用實際表格的名稱替換myTable嗎? – 2015-02-11 19:59:21
是的。只需替換SQL字符串中的表名和列名即可。 – DataWriter 2015-02-11 20:28:13