2026 컴활 1급 필기 3과목 6장 | Access 매크로·이벤트·VBA·도메인 함수 — 핵심 이론

데이터위자드 ·

2026 컴활 1급 필기 3과목 6장 | Access 매크로·이벤트·VBA·도메인 함수 — 핵심 이론

필기 · 핵심 이론

Access 프로그래밍에서는 이벤트가 어떤 동작을 실행하고 어떤 폼·보고서·쿼리에 적용되는지 확인합니다. 매크로 작업과 VBA 이벤트 프로시저를 구분하고 조건 문자열의 자료형을 맞춰야 합니다.

이번 절에서 익힐 내용

이벤트와 매크로 · DoCmd와 개체 열기 · 도메인 집계 함수 · Requery와 Refresh · 오류 처리와 저장

1. 이벤트와 매크로

버튼의 클릭 시, 폼의 열 때·로드 시, 컨트롤의 업데이트 후 등은 발생 시점이 다릅니다. 실행할 매크로나 이벤트 프로시저를 해당 속성에 연결해야 합니다.

컨트롤 이름과 캡션은 다를 수 있습니다. 화면에 보이는 글자만 고쳐도 기존 코드의 참조 이름이 바뀌는 것은 아니므로 속성과 코드 대상을 함께 확인합니다.

핵심 기준

이벤트 이름은 실행 시점을 정한다.

예제로 적용하기

입력값을 확정한 뒤 검증 안내를 실행한다. 후보 이벤트는?

풀이와 판단 과정

결론: 업데이트 후

값 변경 확정 이후 동작과 관련된 업데이트 후 이벤트를 검토합니다.

2. DoCmd와 개체 열기

DoCmd.OpenForm·OpenReport·OpenQuery 등은 개체 동작과 연결됩니다. 폼을 열면서 WHERE 조건을 전달하면 선택 레코드를 표시하는 구성을 만들 수 있습니다.

문자열·숫자·날짜의 조건 표기는 다릅니다. 사용자 입력을 조합할 때 인용부호·자료형과 예상하지 못한 값의 처리를 확인합니다.

핵심 기준

개체를 여는 동작과 전달 조건을 구분한다.

예제로 적용하기

선택 고객번호 10의 주문만 폼에 표시한다. 필요한 개념은?

풀이와 판단 과정

결론: 폼 열기와 고객번호 필터 조건

조회 대상을 조건으로 제한하는 개체 열기 동작을 사용합니다.

3. 도메인 집계 함수

DCount·DSum·DLookup은 지정한 도메인과 조건에서 개수·합계·값을 구하는 함수입니다. 대상 식·도메인·조건을 구별해야 합니다. DLookup이 여러 행 중 특정 정렬의 첫 행을 안정적으로 보장한다고 가정하지 않습니다.

NULL 결과와 조건 불일치를 처리하고, 많은 행에서 반복 호출할 때의 성능도 살핍니다. 여러 값을 반환해야 하면 조회 쿼리가 더 명확할 수 있습니다.

핵심 기준

도메인 함수는 대상 식·도메인·조건을 구분한다.

예제로 적용하기

주문 테이블에서 고객번호 10의 금액 합계를 구하는 함수 후보는?

풀이와 판단 과정

결론: DSum

합계를 구하므로 DSum에 금액·주문 도메인·고객 조건을 지정합니다.

4. Requery와 Refresh

Requery는 원본 질의를 다시 실행해 목록·레코드를 재조회하는 개념입니다. Refresh는 현재 레코드 집합의 변경 반영과 관련되며 새 행·조건 변화를 모두 같은 방식으로 반영한다고 보지 않습니다.

고객 선택 후 주문 목록을 다시 조회하려면 어떤 컨트롤의 원본을 갱신할지 한정합니다. 전체 폼을 불필요하게 반복 재조회하면 사용자 위치와 입력 상태에 영향을 줄 수 있습니다.

핵심 기준

Requery와 Refresh는 범위와 목적을 구분한다.

예제로 적용하기

선택 조건이 바뀐 콤보 목록의 원본 질의를 다시 실행한다. 후보는?

풀이와 판단 과정

결론: 해당 컨트롤 Requery

질의를 다시 실행해 선택 조건에 맞는 목록을 갱신합니다.

5. 오류 처리와 저장

코드에서는 예외 처리·입력 검증·정확한 대상 참조를 분리합니다. 오류를 무조건 무시하면 실패한 작업이 성공처럼 보일 수 있습니다. 이벤트 코드와 연결 속성을 저장한 뒤 다시 열어 확인합니다.

신뢰하지 않는 데이터베이스의 코드를 무조건 실행하지 않습니다. 실습은 별도 연습 데이터에서 수행하고 삭제·수정 쿼리는 대상을 먼저 조회합니다.

핵심 기준

오류 무시는 실패를 숨길 수 있으므로 원인과 상태를 확인한다.

예제로 적용하기

실행 쿼리가 실패했는데 완료 메시지만 뜬다. 개선할 점은?

풀이와 판단 과정

결론: 실행 성공·실패 분기와 오류 처리

실제 실행 상태를 확인해 실패 시 성공 안내를 하지 않도록 처리해야 합니다.

한눈에 비교하기

기능역할점검
이벤트실행 시점연결 속성
DoCmd개체 동작이름·조건
DSum도메인 합계자료형·NULL
Requery질의 재실행대상 컨트롤
오류 처리실패 대응성공 안내 분리

순서대로 풀어 보는 예제

고객번호 10을 선택한 뒤 주문 목록을 바꾸려면 고객 선택 이벤트에서 해당 목록을 Requery하는 구조를 만들 수 있습니다. 금액 합계는 DSum의 조건에 숫자 고객번호를 정확히 지정합니다.

실습에서 고객 10과 20을 번갈아 선택해 목록·합계가 함께 바뀌는지 확인합니다. 조건 문자열 오류·NULL·해당 주문 없음도 별도로 확인하여 정상 자료에서만 작동하는 코드를 피합니다.

헷갈리는 문장 바로잡기

이벤트와 매크로

잘못된 판단 캡션만 같으면 모든 코드가 자동 연결된다.

올바른 판단: 이벤트 이름은 실행 시점을 정한다.

DoCmd와 개체 열기

잘못된 판단 OpenReport는 테이블 전체 삭제다.

올바른 판단: 개체를 여는 동작과 전달 조건을 구분한다.

도메인 집계 함수

잘못된 판단 DCount는 무조건 금액 합이다.

올바른 판단: 도메인 함수는 대상 식·도메인·조건을 구분한다.

Requery와 Refresh

잘못된 판단 두 명령은 모든 경우에 완전히 같다.

올바른 판단: Requery와 Refresh는 범위와 목적을 구분한다.

오류 처리와 저장

잘못된 판단 모든 오류는 무조건 무시하는 것이 최선이다.

올바른 판단: 오류 무시는 실패를 숨길 수 있으므로 원인과 상태를 확인한다.

이론을 정리했다면 같은 절의 객관식 문제에서 조건과 예외를 확인하세요. 정답을 고른 뒤에는 틀린 선택지가 왜 성립하지 않는지도 설명해 보세요.

핵심 개념 확인 — 객관식 5문제

설명을 읽은 뒤 아래 다섯 문항을 풀어 보세요. 정답을 고르고 틀린 선택지의 오류도 설명할 수 있으면 이 단원의 기준을 이해한 것입니다.

문제 1

Access 매크로·이벤트·VBA·도메인 함수에서 이벤트와 매크로에 대한 설명으로 옳은 것은?

  1. ① 클릭과 업데이트 후는 언제나 같은 시점이다.
  2. ② 캡션만 같으면 모든 코드가 자동 연결된다.
  3. ③ 이벤트 이름은 실행 시점을 정한다.
  4. ④ 폼에는 이벤트가 없다.
정답과 해설 보기

정답 ③

버튼의 클릭 시, 폼의 열 때·로드 시, 컨트롤의 업데이트 후 등은 발생 시점이 다릅니다. 실행할 매크로나 이벤트 프로시저를 해당 속성에 연결해야 합니다. 컨트롤 이름과 캡션은 다를 수 있습니다. 화면에 보이는 글자만 고쳐도 기존 코드의 참조 이름이 바뀌는 것은 아니므로 속성과 코드 대상을 함께 확인합니다.

기억할 핵심

이벤트 이름은 실행 시점을 정한다.

문제 2

Access 매크로·이벤트·VBA·도메인 함수에서 DoCmd와 개체 열기에 대한 설명으로 옳은 것은?

  1. ① 숫자와 문자열 조건 표기는 언제나 완전히 같다.
  2. ② OpenReport는 테이블 전체 삭제다.
  3. ③ 개체를 여는 동작과 전달 조건을 구분한다.
  4. ④ 폼 이름은 코드에서 참조할 수 없다.
정답과 해설 보기

정답 ③

DoCmd.OpenForm·OpenReport·OpenQuery 등은 개체 동작과 연결됩니다. 폼을 열면서 WHERE 조건을 전달하면 선택 레코드를 표시하는 구성을 만들 수 있습니다. 문자열·숫자·날짜의 조건 표기는 다릅니다. 사용자 입력을 조합할 때 인용부호·자료형과 예상하지 못한 값의 처리를 확인합니다.

기억할 핵심

개체를 여는 동작과 전달 조건을 구분한다.

문제 3

Access 매크로·이벤트·VBA·도메인 함수에서 도메인 집계 함수에 대한 설명으로 옳은 것은?

  1. ① DCount는 무조건 금액 합이다.
  2. ② 도메인 함수는 대상 식·도메인·조건을 구분한다.
  3. ③ 도메인 함수에는 조건을 둘 수 없다.
  4. ④ DLookup은 언제나 최고 금액을 반환한다.
정답과 해설 보기

정답 ②

DCount·DSum·DLookup은 지정한 도메인과 조건에서 개수·합계·값을 구하는 함수입니다. 대상 식·도메인·조건을 구별해야 합니다. DLookup이 여러 행 중 특정 정렬의 첫 행을 안정적으로 보장한다고 가정하지 않습니다. NULL 결과와 조건 불일치를 처리하고, 많은 행에서 반복 호출할 때의 성능도 살핍니다. 여러 값을 반환해야 하면 조회 쿼리가 더 명확할 수 있습니다.

기억할 핵심

도메인 함수는 대상 식·도메인·조건을 구분한다.

문제 4

Access 매크로·이벤트·VBA·도메인 함수에서 Requery와 Refresh에 대한 설명으로 옳은 것은?

  1. ① 두 명령은 모든 경우에 완전히 같다.
  2. ② Requery는 원본을 영구 삭제한다.
  3. ③ 새 자료는 어떤 갱신도 없이 반드시 모두 표시된다.
  4. ④ Requery와 Refresh는 범위와 목적을 구분한다.
정답과 해설 보기

정답 ④

Requery는 원본 질의를 다시 실행해 목록·레코드를 재조회하는 개념입니다. Refresh는 현재 레코드 집합의 변경 반영과 관련되며 새 행·조건 변화를 모두 같은 방식으로 반영한다고 보지 않습니다. 고객 선택 후 주문 목록을 다시 조회하려면 어떤 컨트롤의 원본을 갱신할지 한정합니다. 전체 폼을 불필요하게 반복 재조회하면 사용자 위치와 입력 상태에 영향을 줄 수 있습니다.

기억할 핵심

Requery와 Refresh는 범위와 목적을 구분한다.

문제 5

Access 매크로·이벤트·VBA·도메인 함수에서 오류 처리와 저장에 대한 설명으로 옳은 것은?

  1. ① 삭제 쿼리는 대상 확인이 필요 없다.
  2. ② 저장하지 않은 이벤트 코드는 항상 영구 보존된다.
  3. ③ 모든 오류는 무조건 무시하는 것이 최선이다.
  4. ④ 오류 무시는 실패를 숨길 수 있으므로 원인과 상태를 확인한다.
정답과 해설 보기

정답 ④

코드에서는 예외 처리·입력 검증·정확한 대상 참조를 분리합니다. 오류를 무조건 무시하면 실패한 작업이 성공처럼 보일 수 있습니다. 이벤트 코드와 연결 속성을 저장한 뒤 다시 열어 확인합니다. 신뢰하지 않는 데이터베이스의 코드를 무조건 실행하지 않습니다. 실습은 별도 연습 데이터에서 수행하고 삭제·수정 쿼리는 대상을 먼저 조회합니다.

기억할 핵심

오류 무시는 실패를 숨길 수 있으므로 원인과 상태를 확인한다.

범위 확인

2026년 학습 범위를 기준으로 구성했습니다. 시험 시행기관의 자격 안내·출제 기준에서 과목과 변경 공지를 확인할 수 있습니다.

이 단원의 객관식 문제 풀기

이전 · 보고서·그룹·집계·인쇄

컴활 1급 전체 목차

과목별 이론

단원별 객관식

실습

필기 모의고사

실기 모의고사

스터디클럽의 다른 강의 보기