2011-04-14 45 views

回答

8

如果將其保存爲QueryDef對象(即使用圖形查詢編輯器),則無法通過更改SQL來停止Access。你有(至少)其他兩個選項:

  1. 構建查詢在VBA
  2. Store中的一個專用於使用備註字段存儲SQL查詢表的查詢(這也將需要一些VBA取SQL並執行它或將其分配到一個臨時的QueryDef等)

你仍然可以使用QBE(查詢通過例子)窗口來生成SQL開始,如果你想。

此外,如果您有非Jet後端(例如MS SQL Server),則可以編寫傳遞查詢。你失去了圖形界面,但獲得了在你選擇的後端編寫SQL的所有功能。訪問不會重新排列傳遞查詢的格式。

+0

+1說得好。一個小問題:建議你從本地表中刪除本地。鏈接表可以用於爲多個數據庫共享相同的SQL語句。 – HansUp 2011-04-14 13:49:53

+0

好點!我自己不使用表中查詢方法(我在VBA中生成了大部分查詢)。雖然我沒有考慮過鏈接表的方法。這是我將來必須考慮的一點。 – mwolfe02 2011-04-14 14:03:05

+0

當我得到有關SQL格式化的肛門保持性時,我使用了表中查詢方法。我討厭查詢設計者「幫助」重新格式化SQL的方式。但除非這是一個我試圖排除故障的複雜查詢,否則它並不重要。在這些情況下,按照我的方式進行格式化可以幫助我跟蹤所有內容。 – HansUp 2011-04-14 14:19:00

5

這是一個骯髒的把戲:追加UNION在總是假的查詢結束。

SELECT field_1, field_2 
FROM my_table 
UNION select field_1, field_2 FROM my_table WHERE False = True; 

這太可怕了,我很慚愧地做了這樣的事情,但它的工作原理。