2011-04-14 46 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; 

这太可怕了,我很惭愧地做了这样的事情,但它的工作原理。