데스크톱 데이터베이스 액세스 및 Access 웹앱에서 GoToControl 매크로 함수를 사용하여 열려 있는 폼, 폼 데이터시트, 테이블 데이터시트 또는 쿼리 데이터시트의 현재 레코드 지정된 필드 또는 컨트롤포커스 이동할 수 있습니다. 특정 필드 또는 컨트롤에 포커스를 두려는 경우 이 작업을 사용할 수 있습니다. 그런 다음 이 필드 또는 컨트롤을 비교 또는 FindRecord 작업에 사용할 수 있습니다. 이 작업을 사용하여 특정 조건에 따라 폼으로 탐색할 수도 있습니다. 예를 들어 사용자가 건강 보험 양식의 결혼 컨트롤에 아니요를 입력하면 포커스가 자동으로 배우자 이름 컨트롤을 건너뛰고 다음 컨트롤로 이동할 수 있습니다.
설정
GoToControl 작업에는 다음 인수가 있습니다.
매크로 함수 인수 |
설명 |
컨트롤 이름 |
포커스를 지정할 필드 또는 컨트롤의 이름을 입력합니다. 이 인수는 필수 인수입니다. 참고: [Forms]![과 같은 정규화된 식별자가 아닌 컨트롤 이름 인수에 필드 또는 컨트롤의 이름만 입력합니다.] 제품]! [제품 ID] Access 데스크톱 데이터베이스를 사용하는 경우 |
주의
GoToControl 매크로 함수를 사용하여 포커스를 숨겨진 폼의 컨트롤로 이동할 수 없습니다.
팁: GoToControl 매크로 함수를 사용하여 컨트롤 형식인 하위 폼 로 이동할 수 있습니다. 그런 다음 GoToRecord 작업을 사용하여 하위 폼의 특정 레코드로 이동할 수 있습니다. GoToControl 작업을 사용하여 먼저 하위 폼으로 이동한 다음 하위 폼의 컨트롤로 이동하여 하위 폼 컨트롤로 이동할 수도 있습니다.
VBA(Visual Basic for Applications) 모듈에서 GoToControl 작업을 실행하려면 DoCmd 개체의 GoToControl 메서드를 사용합니다. SetFocus 메서드를 사용하여 포커스를 폼 또는 해당 하위 폼의 컨트롤 또는 열린 테이블, 쿼리 또는 양식 데이터시트의 필드로 이동할 수도 있습니다.
예제
매크로를 사용하여 컨트롤 값 설정
다음 매크로는 Suppliers 양식의 단추에서 제품 추가 양식을 엽니다. Echo, Close, OpenForm, SetValue 및 GoToControl 작업의 사용을 보여 줍니다. SetValue 작업은 Products 양식의 공급자 ID 컨트롤을 Suppliers 양식의 현재 공급자로 설정합니다. 그런 다음 GoToControl 작업은 포커스를 범주 ID 필드로 이동하여 새 제품에 대한 데이터를 입력할 수 있습니다. 이 매크로는 공급자 양식의 제품 추가 단추에 연결해야 합니다.
매크로 함수 |
인수: 설정 |
설명 |
Echo |
에코 온: 아니요 |
매크로가 실행되는 동안 화면 업데이트를 중지합니다. |
닫기 |
개체 유형: 폼 개체 이름: 제품 목록 저장: 아니요 |
제품 목록 양식을 닫습니다. |
OpenForm |
양식 이름: 제품 보기 형식: 폼 데이터 모드: 추가 창 모드: 기본 |
제품 양식을 엽니다. |
Setvalue |
항목: [Forms]![ 제품]! [SupplierID] 식: SupplierID |
공급자 ID 컨트롤을 공급자 양식의 현재 공급자로 설정합니다. |
GoToControl |
컨트롤 이름: CategoryID |
범주 ID 컨트롤로 이동합니다. |
매크로를 사용한 데이터 유효성 검사
다음 유효성 검사 매크로는 Suppliers 양식에 입력된 우편 번호를 확인합니다. StopMacro, MessageBox, CancelEvent 및 GoToControl 작업의 사용을 보여 줍니다. 조건식은 양식의 레코드에 입력된 국가/지역 및 우편 번호를 확인합니다. 우편 번호가 국가/지역에 적합한 형식이 아닌 경우 매크로는 메시지 상자를 표시하고 레코드 저장을 취소합니다. 그런 다음 매크로는 우편 번호 컨트롤로 돌아갑니다. 여기서 오류를 수정할 수 있습니다. 이 매크로는 Suppliers 양식의 BeforeUpdate 속성에 연결해야 합니다.
조건 |
매크로 함수 |
인수: 설정 |
설명 |
If IsNull([CountryRegion]) |
StopMacro |
국가/지역의 값이 Null이면 우편 번호에 대한 유효성 검사가 실행되지 않습니다. |
|
경우 [CountryRegion] 에서 ("프랑스","이탈리아","스페인") 및 렌 ([우편 번호]) <> 5 |
Messagebox |
메시지: 우편 번호는 5자여야 합니다. 경고음: 예 형식: 정보 제목: 우편 번호 오류 |
우편 번호가 5개의 문자로 이루어지지 않은 경우 메시지를 표시합니다. |
CancelEvent |
이벤트를 취소합니다. |
||
GoToControl |
컨트롤 이름: PostalCode |
||
경우 [CountryRegion] 에서 ("오스트레일리아","싱가포르") 및 Len([우편 번호]) <> 4 |
Messagebox |
메시지: 우편 번호는 4개의 문자로 이루어져야 합니다. 경고음: 예 형식: 정보 제목: 우편 번호 오류 |
우편 번호가 4개의 문자로 이루어지지 않은 경우 메시지를 표시합니다. |
CancelEvent |
이벤트를 취소합니다. |
||
GoToControl |
컨트롤 이름: PostalCode |
||
([CountryRegion] = "Canada") 및 ([우편 번호]가 마음에 들지 않는 경우"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
Messagebox |
메시지: 우편 번호가 잘못되었습니다. 캐나다의 우편 번호는 H1J 1C3과 같은 형식으로 이루어져야 합니다. 경고음: 예 형식: 정보 제목: 우편 번호 오류 |
우편번호가 캐나다의 우편 번호 형식에 맞지 않으면 메시지를 표시합니다. (캐나다의 우편 번호는 H1J 1C3과 같은 형식으로 이루어져야 합니다.) |
CancelEvent |
이벤트를 취소합니다. |