Access 데이터베이스에서 다시 쿼리 매크로 함수를 사용하여 컨트롤의 원본을 다시 쿼리하여 활성 개체의 지정된 컨트롤 데이터를 업데이트할 수 있습니다. 컨트롤이 지정되지 않은 경우 이 작업은 개체 자체의 원본을 다시 쿼리합니다. 이 작업을 사용하여 활성 개체 또는 컨트롤 중 하나에 최신 데이터가 표시되는지 확인합니다.
설정
Requery 매크로 함수에는 다음과 같은 인수가 있습니다.
매크로 함수 인수 |
설명 |
컨트롤 이름 |
업데이트하려는 컨트롤의 이름입니다. 매크로 디자인 창의 컨트롤 이름 상자에 컨트롤 이름을 입력합니다. 정규화된 식별자(예: Forms!formname! controlname). 현재 개체의 원본을 다시 쿼리하려면 이 인수를 비워 둡니다. 활성 개체가 데이터시트 또는 쿼리 결과 집합 경우 이 인수를 비워 두어야 합니다. |
주의
매크로 다시 쿼리 작업은 다음 중 하나를 수행합니다.
-
컨트롤 또는 개체의 기반이 되는 쿼리를 다시 실행합니다.
-
새 레코드 또는 변경된 레코드를 표시하고 컨트롤 또는 개체의 기반이 되는 테이블 삭제된 레코드를 제거합니다.
참고: 매크로 다시 쿼리 작업은 레코드 포인터의 위치에 영향을 주지 않습니다.
쿼리 또는 테이블을 기반으로 하는 컨트롤은 다음과 같습니다.
-
상자 및 콤보 상자를 나열합니다.
-
하위 폼 컨트롤.
-
차트와 같은 OLE 개체입니다.
-
DS um과 같은 도메인 집계 함수를 포함하는 컨트롤입니다.
지정된 컨트롤이 쿼리 또는 테이블을 기반으로 하지 않는 경우 이 작업은 컨트롤을 강제로 다시 계산합니다.
컨트롤 이름 인수를 비워 두면 개체에 포커스 가 있는 경우 Requery 매크로 함수는 Shift+F9를 누르는 것과 같은 효과를 줍니다. 하위 폼 컨트롤에 포커스가 있는 경우 이 작업은 하위 폼의 원본만 다시 쿼리합니다(Shift+F9를 누르는 것처럼).
참고: 다시 쿼리 매크로 함수는 컨트롤 또는 개체의 원본을 다시 쿼리합니다. 반면 RepaintObject 매크로 함수는 지정된 개체의 컨트롤을 다시 칠하지만 데이터베이스를 다시 쿼리하거나 새 레코드를 표시하지는 않습니다. ShowAllRecords 매크로 함수는 활성 개체를 다시 쿼리할 뿐만 아니라 매크로 다시 쿼리 작업에서 수행하지 않는 적용된 필터도 제거합니다.
활성 개체에 없는 컨트롤을 다시 쿼리하려면 Requery 매크로 함수 또는 DoCmd 개체의 해당 Requery 메서드가 아닌 VBA(Visual Basic for Applications) 모듈에서 Requery 메서드를 사용해야 합니다. VBA의 Requery 메서드는 Requery 매크로 함수 또는 DoCmd.Requery 메서드보다 빠릅니다. 또한 Requery 매크로 함수 또는 DoCmd.Requery 메서드를 사용하는 경우 Access 쿼리를 닫고 데이터베이스에서 다시 로드하지만 Requery 메서드를 사용하면 쿼리를 닫고 다시 로드하지 않고 쿼리를 다시 실행합니다. ADO(ActiveX Data Object) Requery 메서드는 Access Requery 메서드와 동일한 방식으로 작동합니다.