2011-04-14 3 views

답변

8

QueryDef 개체로 저장하면 (즉, 그래픽 쿼리 편집기를 사용하여) SQL을 변경하지 않아도됩니다. 당신은 (적어도) 두 개의 다른 옵션 :

  1. 스토어 SQL을 저장하는 메모 필드를 사용하여 쿼리에 전용 테이블의 쿼리 (이 또한 받아 일부 VBA 필요합니다 VBA에서 쿼리를 작성 SQL을 실행하고 임시 querydef에 할당하십시오.)

원하는 경우 처음에는 QBE (예제 별 조회) 창을 사용하여 SQL을 초기에 생성 할 수 있습니다.

또한 Jet 이외의 백 엔드 (예 : MS SQL Server)가 있으면 통과 쿼리를 작성할 수 있습니다. 그래픽 인터페이스를 잃지 만 선택한 백엔드에서 SQL을 작성하는 모든 기능을 습득하게됩니다. 액세스는 통과 쿼리의 서식을 다시 정렬하지 않습니다.

+0

+1 잘 있습니다. 사소한 말 : "로컬 테이블"에서 로컬로 이동하는 것이 좋습니다. 연결된 테이블은 여러 데이터베이스에 대해 동일한 SQL 문을 공유하는 데 유용 할 수 있습니다. – HansUp

+0

좋은 지적! 나는 쿼리 - 인 - 테이블 접근 방식을 사용하지 않는다. (나는 VBA에서 대부분의 쿼리를 생성한다.) 하지만 나는 링크 된 테이블 접근 방식을 고려하지 않았습니다. 미래에 통합하는 것에 대해 생각해야 할 부분입니다. – mwolfe02

+0

SQL 포맷팅에 대해 항문을 보유 할 때 쿼리 인 테이블 방식을 사용합니다. 나는 쿼리 디자이너가 SQL을 "유익하게"다시 포맷하는 방식이 싫다. 하지만 문제를 해결하려고하는 복잡한 쿼리가 아니라면 문제가되지 않습니다. 이러한 상황에서 내 방식으로 포맷하면 모든 것을 추적 할 수 있습니다. – HansUp

5

다음은 더러운 트릭입니다. 항상 거짓 인 검색어 끝에 UNION을 추가하십시오.

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

그건 끔찍한 일이고 부끄러워하지만 작동합니다.

관련 문제