ACC: 「 超出記憶體 」 或者 「 查詢太複雜 」 與查詢/報告

文章翻譯 文章翻譯
文章編號: 103429 - 檢視此文章適用的產品。
中級使用者: 需要基本巨集]、 [程式碼撰寫,] 以及 [交互操作性技巧。
全部展開 | 全部摺疊

徵狀

當執行查詢、 一個表單或報表,根據查詢可能會收到一個 「 記憶體不足 」 或 「 查詢太複雜 」 錯誤訊息。

發生的原因

在 Microsoft Access 1.x 和 2.0,查詢必須 64 千位元組 (K) 區段之內進行編譯。如果您產生大於 64 K 的查詢時,可能會看到任一個"查詢太複雜 」 或 「 記憶體不足 」 錯誤訊息。 在 Microsoft Access 7.0 與 97 中,64K 限制就會取代動態限制它提供了更多空間,但是,它還是可能使查詢太複雜。

報表建立報表包括報表首、 頁首、 群組首、 詳細資料區段、 群組尾、 頁面頁尾及報表尾的每個區段暫存的查詢。暫存查詢每個報告的所有組合成分段的虛擬資料表 (SVT)。最終的輸出必須編譯 64K 區段限制內。

類似的 64K 限制可以用來編譯,並處理報表時,將頁面從儲存的所有運算式,或未結合的控制項或標籤的資訊儲存。如果這些區段的任何超過限制,在報表上的控制項可能會開始顯示"#Name]? 錯誤訊息。

解決方案

這些錯誤訊息相關的基準查詢或報告本身複雜度。若要降低您的查詢或報表的複雜性,請嘗試下列建議:
  • 請縮短資料表名稱資料行名稱,是控制項名稱。減少至最小長度的 30 個字元的名稱可能有所幫助。
  • 減少報表上的文字欄位的數目。
  • 不會用於在最終輸出中報表的基準查詢中移除任何欄位,以避免額外的負荷。
  • 減少在基礎查詢中的使用運算式。若要避免這些錯誤用於運算式中選取清單可協助降低的空間。如果可能直接在報表中放置運算式。
  • 會執行所有評估為使用者定義函式會將複雜的運算式。
  • 避免在其中 Query1 用來提取資料從 Table2 和 Query2 篩選資料的情況如 [堆疊的查詢] 物件。在一個查詢中彙整資訊最好有多個查詢每個執行工作的部分。
  • 避免根據相同的查詢中的主報表和其子報表。 尋找堆疊的查詢物件,以及子集不必要的資料表。
  • 分割到數個較不複雜報告複雜報表使用子報表。
  • 如果報表以查詢為基礎,建置暫存資料表從上,報表,而非根據查詢為基礎的查詢。建立產生資料表查詢,包含原始查詢來建立暫存資料表中的所有欄位。
  • 利用 [別名] 屬性欄位清單的縮短 SQL 陳述式。 若要這麼做,在 [檢視] 功能表上按一下 [內容]。按一下任何欄位清單上,將 Alias 屬性得短縮短 SQL 陳述式。

屬性

文章編號: 103429 - 上次校閱: 2007年1月18日 - 版次: 2.1
這篇文章中的資訊適用於:
  • Microsoft Access 1.0 Standard Edition
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
關鍵字:?
kbmt kberrmsg kbprb kbusage KB103429 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:103429
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com