我想弄清楚MS Access如何構建和運行報表時處理打開的數據庫對象。MS Access是否保留打開的對象?
我在每個報告中有幾十個查詢,並且由於我的數據庫已規範化,所以每個查詢都查看許多不同的表。但是,我似乎總是打開如此多的數據庫對象,Access不會讓我在報告中包含更多的查詢。我對如何生成報告的想法可能是天真的,但我只是假設Access會運行查詢,將數據放入報告中,關閉查詢和所有關聯的對象,然後重複。但似乎並非如此。
我甚至在意的唯一原因是因爲我正在加快我的報告速度。我在某處讀到你不應該建立你的表來簡化查詢,但爲了避免每次我嘗試運行報表時發生的7或8分鐘時間 - 我已經重新構建了表,所以查詢在生成數據時可以使用較少的對象。這些表格仍然在一定範圍內進行了歸一化處理,但我認爲唯一不利的一面是我在技術上將計算結果存儲在表格中。例如,我必須報告我們客戶羣的當前年齡,而不是用一個簡單的switch語句(它要求我查詢一個包含生日的單獨表格)對它們進行分組,而是將年齡範圍(18-22 ,23-27等)直接在表中。不管怎麼說,如果有人能夠啓發我關於訪問如何關閉數據庫對象,也許我可以明確地說明爲什麼我的報告太慢了。
感謝
當你說Access不會讓你在報告中包含任何更多的查詢時,你指的是報告本身的記錄源?平均而言,您對特定報告綁定了多少個查詢? –
谷歌「JETSHOWPLAN」。看到Jet/ACE正在製作的準查詢計劃可能有助於爲你解除神祕的事情。這對識別應該編入索引的字段特別有用。 – mwolfe02
不是記錄源本身,而是通過子報告。合併後,子報告使用大約80個查詢(如果您計算子查詢,則大約爲110個) – jerry