我有一個大的Access數據庫,我正在研究,由別人設計。我正在嘗試改進它。它的建立方式是,首先運行使表A生效的查詢1,然後運行使用表A等的查詢2,並創建表B.然後運行使用表B並生成表C的查詢3。運行查詢4,它使用表C並生成表D.我們使用的最終輸出是表D.MS Access 2007 - 查詢裏面查詢裏面查詢裏面查詢
這裏我的改進是將查詢1,查詢2和查詢3更改爲選擇查詢,而不是使表查詢,並簡單地通過查找和替換來更改SQL(例如,在查詢2中,將表A的所有實例替換爲查詢1)。查詢4仍然是一個生成表查詢,它使表D我稍後導出到Excel。
我的問題:我可以運行Query 4嗎?也就是說,它會自動運行Query 3,它將自動運行Query 2,它將自動運行Query 1?或者,是否需要先運行查詢1,然後運行查詢2,然後運行查詢3,然後運行查詢4?
也許除此之外,我可以使查詢4一個選擇查詢嗎?然後,我甚至不會運行查詢4.相反,我只是將Query 4本身導出到Excel,我想知道是否會自動運行將運行Query 3的Query 4,依此類推。
只是要清楚:我不在這裏尋找任何SQL技巧。我想保留它現在只使用Access(我知道它是SQL的前端)。
注:我意識到這裏的一個答案是,「你爲什麼不嘗試它?」我有,它似乎工作,因爲我認爲應該。問題是,之前我已經運行過所有查詢,所以我不知道是否現在所有的工作都可以工作,但如果我還沒有運行先前的查詢,那麼以後可能不會以相同的方式工作。
感謝所有幫助
爲什麼不直接向最終用戶提供在VBA中以正確順序執行查詢的表單上的按鈕,然後將最終結果顯示爲表或報表?特別是在你的情況下,查詢的順序對最終輸出至關重要。 – 2012-01-03 14:24:40
@WilliamStearns我是最終用戶。你的答案絕對是一個好主意。但是,這與我學習Access的工作原理一樣,因爲它讓這個項目能夠工作。 – Graphth 2012-01-03 14:27:49
好吧,您可以在Query 4上更改您的SQL,將其他查詢的SQL作爲表名添加到您的連接中。有了這個,你不需要將其他查詢作爲真正的表。 – 2012-01-03 14:35:59