문제
다음 중 VBA 코드로 작성한 모듈에서 txt날짜_DblClick인 프로시저가 실행되는 시점으로 옳은 것은?
① 다른 프로시저에서 이 프로시저를 호출해야 실행된다. ② 해당 폼을 열면 폼에 속해 있는 모든 프로시저가 실행된다. ③ txt날짜 컨트롤이 더블 클릭될 때 실행된다. ④ 해당 폼의 txt날짜 컨트롤에 값이 입력되면 실행된다.
정답
3번
해설
정답: 3. 이벤트 프로시저 이름은 '컨트롤이름_이벤트명' 형식이다. txt날짜_DblClick은 txt날짜 컨트롤에서 더블 클릭(DblClick) 이벤트가 발생할 때 실행된다.
오답 풀이
- 1번: 호출해야만 실행되는 것은 일반(Sub) 프로시저이며, 이벤트 프로시저는 해당 이벤트로 자동 실행된다.
- 2번: 폼을 열 때 모든 프로시저가 실행되는 것은 아니다.
- 3번: 컨트롤 이름_DblClick은 그 컨트롤을 더블 클릭할 때 실행되므로 옳다.
- 4번: 값 입력 시 실행되는 것은 _Change나 _AfterUpdate 등 다른 이벤트이다.
보충 개념 이벤트 프로시저는 'Object_Event' 명명 규칙을 따른다. Click, DblClick, Change, GotFocus 등 이벤트마다 발생 시점이 다르다.