2011-08-25 101 views
-2

此數據庫鏈接到SQL表。我使用多個查詢來打開重複的表單,因爲不同的標準。然後我嘗試在where條件下用宏創建搜索條件。這兩種方式都非常緩慢。Access 2007響應時間

是否應該通過「負載」偶數過程來處理?用If語句?獲取當前使用的每個查詢的結果。

+1

顯示我們的代碼,SQL,跟蹤輸出,任何東西!沒有足夠的信息給任何人提供有意義的答覆。數據是什麼樣的?有多少條記錄?你跟蹤了對SQL Server的調用嗎?他們如何執行外部訪問? –

+0

冷靜下來,慢慢讀出你的問題,然後......重新寫清楚:-) –

+0

我不知道這個問題問的是什麼。 –

回答

1

從你的問題來看,作爲潛在問題領域的關鍵部分是關於在WHERE子句中使用宏的部分。這樣做的問題是你將不得不將很多記錄連接到本地計算機上進行處理。

它就像一個汽車經銷商,並說:「我想乘一輛紅色的汽車,它必須適合我的車庫」經銷商知道他有什麼紅色汽車(索引),但不知道你的車庫有什麼必須將每輛車(記錄)帶到你的房子(電腦),並嘗試將其裝入車庫!

如果你可以將所有的處理過程移動到服務器上,它會有所幫助,所以擴展汽車示例,你打電話說「我想要一輛不超過4英尺的紅色汽車」。現在經銷商可以發送汽車(記錄)符合您的房子(電腦)的標準。

這就是所有的幫助,我可以爲即日起至更多信息提供

+0

我的模糊不清,但凱文的回覆是我需要聽到的,這將幫助我重組已建成的東西。這是我正在尋找的。 Kenin,我完全理解使用SQL作爲工作原理,但是你不能運行查詢,然後在Access中讀取它們「我知道的」。有沒有一種方法可以將SQL視圖中的「視圖」讀入Access 2007?或者有什麼其他的選擇讓SQL執行在沒有鏈接到SQL數據庫時通常在Access中執行的查詢。 – user745778

+0

如果Jet/ACE可以將它傳遞給服務器,則不會在本地機器上處理通過宏傳遞的條件,所以我認爲這裏的關注點完全被誇大了。 –

+0

@ David-W-Fenton我讀到這個問題的方式(這很公平),他在where子句中擁有用戶/訪問函數。但是,如果它只是由宏組成的簡單標準,那麼你當然是正確的,服務器將執行處理。 –