CancelEvent 매크로 함수

CancelEvent 매크로 함수를 사용하면 Access에서 이 매크로 함수가 포함된 매크로 실행 이벤트를 취소할 수 있습니다. 이 경우 BeforeUpdate, OnOpen, OnUnload 또는 OnPrint와 같은 이벤트 속성의 설정값이 매크로의 이름이 됩니다.

참고: Access 웹 앱에서는 CancelEvent 매크로 함수를 사용할 수 없습니다.

설정

CancelEvent 매크로 함수에는 인수가 없습니다.

주의

폼에서는 일반적으로 CancelEvent 매크로 함수를 유효성 검사 매크로에서 BeforeUpdate 이벤트 속성과 함께 사용합니다. 사용자가 컨트롤 또는 레코드에 데이터를 입력하면 Access에서 입력된 데이터를 데이터베이스에 추가하기 전에 유효성 검사 매크로를 실행합니다. 데이터가 매크로의 유효성 검사 조건에 맞지 않으면 CancelEvent 매크로 함수가 업데이트 프로세스가 시작되기 전에 프로세스를 취소합니다.

데이터가 유효성 검사 조건에 맞지 않음을 나타내고 입력해야 할 데이터 형식에 대한 유용한 정보를 제공하기 위해 이 함수와 MsgBox 매크로 함수를 함께 사용하는 경우가 많습니다.

CancelEvent 매크로 함수로 취소할 수 있는 이벤트는 다음과 같습니다.

ApplyFilter

Dirty

MouseDown

BeforeDelConfirm

Exit

NoData

BeforeInsert

Filter

Open

BeforeUpdate

Format

Print

DblClick

KeyPress

Unload

Delete


참고: MouseDown 이벤트에 CancelEvent 매크로 함수를 사용할 경우에는 개체를 마우스 오른쪽 단추로 클릭할 때 발생하는 이벤트만 취소할 수 있습니다.

컨트롤의 OnDblClick 이벤트 속성 설정에 CancelEvent 매크로 함수가 있는 매크로가 지정되어 있으면 이 매크로 함수에 의해 DblClick 이벤트가 취소됩니다.

취소할 수 있는 이벤트의 경우 이벤트에 지정된 매크로가 실행된 후에 이벤트의 기본 동작, 즉 해당 이벤트 발생 시에 Access에서 일반적으로 실행되는 동작이 발생합니다. 따라서 이 기본 동작을 취소할 수 있습니다. 예를 들어 텍스트 상자에서 포인터 위치에 있는 단어를 두 번 클릭하면 일반적으로 단어가 선택됩니다. DblClick 이벤트에 지정된 매크로에서 이 기본 동작을 취소하고 텍스트 상자의 데이터에 대한 정보가 있는 폼을 여는 등의 다른 작업을 실행할 수 있습니다 취소할 수 없는 이벤트의 경우 매크로가 실행되기 전에 기본 동작이 발생합니다.

참고: 폼의 OnUnload 이벤트 속성에 CancelEvent 매크로 함수를 실행하는 매크로가 지정되어 있으면 폼을 닫을 수 없습니다. 이 경우 CancelEvent 매크로 함수의 실행 조건을 수정하거나 매크로를 열어 CancelEvent 매크로 함수를 삭제해야 합니다. 모달 폼인 경우에는 매크로를 열 수 없습니다.

VBA(Visual Basic for Applications) 모듈에서 CancelEvent 매크로 함수를 실행하려면 DoCmd 개체의 CancelEvent 메서드를 사용합니다.

예제

매크로를 사용한 데이터 유효성 검사

다음은 공급자 폼에 입력된 우편 번호를 검사하는 유효성 검사 매크로로서 StopMacro, MsgBox, CancelEvent, GoToControl 매크로 함수의 사용 방법을 보여 줍니다. 이 매크로는 조건식을 통해 폼의 레코드에 입력된 국가/지역 및 우편 번호를 검사합니다. 우편 번호의 형식이 국가/지역에 맞지 않으면 메시지 상자를 표시하고 레코드 저장을 취소합니다. 그리고 사용자가 오류를 수정할 수 있도록 우편 번호 컨트롤로 돌아갑니다. 이 매크로는 공급자 폼의 BeforeUpdate 속성에 연결되어야 합니다.

조건

매크로 함수

인수: 설정

설명

IsNull([국가/지역])

StopMacro

국가/지역의 값이 Null이면 우편 번호에 대한 유효성 검사가 실행되지 않습니다.

[국가/지역] In ("프랑스","이탈리아","스페인") And Len([우편 번호]) <> 5

MsgBox

메시지: 우편 번호는 5개의 문자로 이루어져야 합니다.

경고음:

종류: 정보

제목: 우편 번호 오류

우편 번호가 5개의 문자로 이루어지지 않은 경우 메시지를 표시합니다.

...

CancelEvent

이벤트를 취소합니다.

GoToControl

컨트롤 이름: PostalCode

[국가/지역] In ("오스트레일리아","싱가포르") And Len([우편 번호]) <> 4

MsgBox

메시지: 우편 번호는 4개의 문자로 이루어져야 합니다.

경고음:

종류: 정보

제목: 우편 번호 오류

우편 번호가 4개의 문자로 이루어지지 않은 경우 메시지를 표시합니다.

...

CancelEvent

이벤트를 취소합니다.

GoToControl

컨트롤 이름: PostalCode

([국가/지역] = "캐나다") And ([우편 번호] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]")

MsgBox

메시지: 유효하지 않은 우편 번호입니다. 캐나다의 우편 번호는 H1J 1C3과 같은 형식으로 이루어져야 합니다.

경고음:

종류: 정보

제목: 우편 번호 오류

우편번호가 캐나다의 우편 번호 형식에 맞지 않으면 메시지를 표시합니다. (캐나다의 우편 번호는 H1J 1C3과 같은 형식으로 이루어져야 합니다.)

...

CancelEvent

이벤트를 취소합니다.

Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×