2011-04-14 10 views

Respuesta

8

No hay interrupción Acceso de cambiar su SQL si lo guarda como un objeto QueryDef (es decir, utilizando el editor de consultas gráficas). Que tiene (al menos) dos opciones:

  1. construir sus consultas en VBA
  2. tienda sus consultas en una tabla dedicada a consultas utilizando un campo Memo para almacenar el SQL (esto también requieren algún VBA para tomar SQL y ejecútelo o asígnelo a una querydef temporal, etc.)

Aún puede usar la ventana QBE (query-by-example) para generar su SQL inicialmente si lo desea.

Además, si tiene un back-end que no es Jet (por ejemplo, el servidor MS SQL) puede escribir consultas de paso. Pierdes la interfaz gráfica pero obtienes toda la funcionalidad de escribir SQL en tu backend de elección. El acceso no reorganizará el formato en las consultas de paso a través.

+0

+1 Bien dicho. Una pequeña objeción: sugiera que deje caer local de "en una tabla local". Una tabla vinculada puede ser útil para compartir las mismas sentencias de SQL para múltiples bases de datos. – HansUp

+0

¡Buen punto! No uso el enfoque de consultas en una mesa (genero la mayoría de mis consultas en VBA). Aunque no había considerado el enfoque de tabla vinculada. Es algo en lo que tendré que pensar incorporar en el futuro. – mwolfe02

+0

Uso el enfoque de consultas en una tabla cuando obtengo un enfoque anal sobre el formato SQL. Odio la forma en que el diseñador de consultas "amablemente" reformatea mi SQL. Pero realmente no importa a menos que sea una consulta compleja que estoy tratando de resolver. En esas situaciones, formatearlo a mi manera me ayuda a hacer un seguimiento de todo. – HansUp

5

Aquí hay un truco sucio: añada un UNION al final de la consulta que siempre es FALSO.

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

Eso es horrible y me da vergüenza hacer algo así, pero funciona.