컴활 1급 매크로·모듈 — 함수·이벤트 프로시저·오브젝트
컴활 1급 매크로 모듈 단원을 Access 2021 기준으로 정리했다. 매크로 함수, 이벤트 프로시저, 오브젝트 프로그래밍의 역할과 공부 순서를 설명한다.
글쓴이 DAYLAB ·
컴활 1급 매크로 모듈은 데이터베이스 일반의 마지막 영역에 가깝습니다. DB 빈출 실측 기준으로 모듈 활용은 8.8%로 여섯 영역 중 가장 낮은 편이지만, 완전히 버릴 수 있는 영역은 아닙니다. 특히 폼의 단추, 이벤트, 오브젝트와 연결되면 짧은 개념 문제처럼 보여도 실제로는 Access의 동작 구조를 이해해야 풀 수 있습니다.
이 글은 Access 2021 기준으로 컴활 1급 매크로 모듈에서 알아야 할 매크로 함수, 이벤트 프로시저, 오브젝트 프로그래밍의 핵심을 정리합니다. 비중이 낮다고 마지막에 대충 보는 방식보다는, 테이블·쿼리·폼·보고서의 흐름을 잡은 뒤 자동화 관점으로 연결하는 편이 좋습니다. 폼 이벤트와 함께 보려면 컴활 1급 폼, 전체 DB 구조는 컴활 1급 데이터베이스를 참고하세요.
매크로와 모듈의 역할
매크로와 모듈은 데이터베이스에서 반복 동작이나 특정 상황의 처리를 자동화하는 영역입니다. 테이블이 데이터를 저장하고, 쿼리가 데이터를 처리하고, 폼과 보고서가 화면과 출력 형식을 담당한다면, 매크로와 모듈은 동작을 실행하는 쪽에 가깝습니다. 버튼을 눌렀을 때 폼을 열거나, 특정 이벤트가 발생했을 때 값을 확인하거나, 정해진 작업을 순서대로 수행하는 흐름과 연결됩니다.
매크로는 비교적 정해진 동작을 조합하는 방식으로 이해할 수 있습니다. 명령을 선택하고 조건에 따라 실행하도록 구성하는 쪽에 가깝습니다. 모듈은 VBA 코드와 연결되는 영역으로, 이벤트 프로시저와 오브젝트 프로그래밍 개념이 등장합니다. 컴활 1급 필기에서는 깊은 프로그래밍 능력을 요구한다기보다, 어떤 상황에서 매크로와 이벤트 프로시저가 쓰이는지, 오브젝트가 무엇을 의미하는지 판단하는 것이 중요합니다.
이 영역은 스프레드시트 일반의 매크로·VBA와도 용어가 겹칩니다. 하지만 Access의 매크로 모듈은 데이터베이스 개체와 이벤트에 더 밀접하게 연결됩니다. 폼의 단추를 클릭했을 때, 보고서를 열 때, 레코드가 이동할 때처럼 개체의 동작과 상황을 중심으로 이해해야 합니다. 단순히 "코드가 나온다"로 생각하면 범위가 흐려집니다.
비중은 낮지만 데이터베이스 일반 전체의 마무리 역할을 합니다. 테이블, 쿼리, 폼, 보고서가 어떤 역할을 하는지 모르면 매크로와 모듈이 무엇을 자동화하는지도 알기 어렵습니다. 그래서 모듈 단원은 처음부터 깊게 파기보다, 앞 단원을 한 번 돌린 뒤 연결하는 방식이 효율적입니다.
매크로 함수와 자동화 흐름
매크로 함수는 특정 작업을 실행하기 위한 명령으로 볼 수 있습니다. 폼을 열거나 닫고, 보고서를 열고, 메시지를 표시하고, 조건에 따라 동작을 실행하는 식의 흐름과 연결됩니다. 컴활 1급에서는 매크로 함수 이름 자체보다, 어떤 동작을 자동화하는지와 어느 개체에 연결되는지를 파악하는 것이 중요합니다.
매크로를 공부할 때는 동작의 순서를 생각해야 합니다. 사용자가 버튼을 누른다, 매크로가 실행된다, 특정 폼이나 보고서가 열린다, 조건에 따라 메시지가 표시된다 같은 식입니다. 이 흐름은 폼 단원과 자주 연결됩니다. 폼 위의 명령 단추는 단순 장식이 아니라 특정 작업을 실행하는 출발점이 될 수 있습니다.
조건부 실행도 중요합니다. 모든 상황에서 같은 동작을 실행하는 것이 아니라, 특정 조건을 만족할 때만 실행하도록 구성할 수 있습니다. 조건식은 쿼리의 Where와 완전히 같은 것은 아니지만, 값과 조건을 읽는다는 점에서 사고방식이 이어집니다. 조건을 판단하는 능력은 컴활 1급 쿼리에서 익힌 내용과 함께 쓰입니다.
매크로는 코드를 직접 길게 작성하지 않아도 동작을 자동화할 수 있다는 점에서 접근성이 있습니다. 그러나 필기에서는 실제 작성 능력보다 개념 구분이 중요합니다. 매크로가 데이터 저장 구조인지, 화면 구성 요소인지, 자동화 동작인지 묻는다면 자동화 동작 쪽으로 판단해야 합니다.
이벤트 프로시저와 오브젝트
이벤트 프로시저는 특정 이벤트가 발생했을 때 실행되는 절차입니다. 이벤트는 사용자의 클릭, 폼 열기, 레코드 이동, 값 변경 같은 상황으로 이해할 수 있습니다. 프로시저는 그 이벤트에 대응해 실행되는 처리 절차입니다. 따라서 이벤트 프로시저는 "어떤 일이 발생했을 때 어떤 동작을 실행한다"는 구조로 보면 됩니다.
오브젝트는 Access 안의 개체를 가리키는 관점과 연결됩니다. 폼, 보고서, 컨트롤, 레코드셋처럼 동작과 속성을 가진 대상이 오브젝트로 다뤄질 수 있습니다. 필기에서는 오브젝트 프로그래밍의 깊은 문법보다, 개체가 속성과 메서드, 이벤트를 가질 수 있다는 구조를 이해하는 것이 중요합니다. 속성은 상태나 값을 나타내고, 메서드는 동작을 수행하며, 이벤트는 특정 상황의 발생을 의미한다고 보면 됩니다.
폼과 컨트롤을 공부할 때 속성을 배웠다면, 모듈에서는 그 속성과 이벤트가 코드나 프로시저와 연결될 수 있음을 이해해야 합니다. 예를 들어 어떤 컨트롤이 보이는지, 사용할 수 있는지, 클릭했을 때 어떤 동작이 실행되는지는 모두 개체의 속성과 이벤트 관점으로 볼 수 있습니다. 이 연결을 알면 모듈 단원이 따로 떨어진 프로그래밍 암기처럼 느껴지지 않습니다.
이벤트 프로시저는 보고서와도 연결될 수 있습니다. 보고서를 열거나 인쇄하는 과정, 특정 구역이 표시되는 과정에서도 이벤트가 발생할 수 있습니다. 다만 컴활 1급 데이터베이스 일반에서는 폼의 이벤트 흐름이 특히 이해하기 쉽습니다. 컴활 1급 폼을 먼저 보고 이벤트 단원을 보면 용어가 덜 낯섭니다.
낮은 비중 영역을 다루는 법
모듈 활용은 실측 기준 8.8%로 가장 낮은 영역입니다. 그렇다고 공부하지 않아도 된다는 뜻은 아닙니다. 데이터베이스 일반은 과락 기준이 있는 과목이고, 낮은 비중 영역에서 쉬운 개념 문제를 놓치면 손해가 큽니다. 다만 학습 시간을 배분할 때 테이블, 폼, 보고서, 쿼리보다 뒤에 두는 것이 합리적입니다.
첫 번째 순서는 매크로와 모듈의 역할 구분입니다. 매크로는 정해진 동작을 자동화하는 구성에 가깝고, 모듈은 VBA 코드와 이벤트 프로시저를 포함하는 영역으로 이해합니다. 둘 다 자동화와 동작 처리에 가깝지만 접근 방식이 다릅니다. 이 구분만 잡아도 기본 문제에서 흔들릴 가능성이 줄어듭니다.
두 번째 순서는 이벤트입니다. 이벤트가 무엇인지, 이벤트 프로시저가 어떤 상황에서 실행되는지 봅니다. "클릭하면", "열릴 때", "변경될 때"처럼 상황을 나타내는 표현이 나오면 이벤트 관점으로 읽습니다. 폼과 컨트롤의 속성을 함께 떠올리면 이해가 쉽습니다.
세 번째 순서는 오브젝트입니다. 폼, 보고서, 컨트롤 같은 개체가 속성, 메서드, 이벤트를 가질 수 있다는 구조를 정리합니다. 어려운 문법보다 개념 관계가 중요합니다. 전체 공부 순서에서는 컴활 1급 액세스 테이블, 컴활 1급 보고서까지 먼저 잡고, 마지막에 모듈을 붙이는 방식이 좋습니다. 과목 전체 배분은 컴활 1급 독학에서 조정할 수 있습니다.
자주 묻는 질문
매크로 모듈은 비중이 낮으니 버려도 되나요?
권하지 않습니다. 비중은 가장 낮은 편이지만, 데이터베이스 일반에는 과락 위험이 있고 쉬운 개념 문제를 놓치면 손해가 큽니다. 다만 테이블, 폼, 보고서, 쿼리보다 뒤에 배치해 효율적으로 정리하는 것이 좋습니다.
매크로와 모듈은 어떻게 구분하나요?
매크로는 정해진 동작을 조합해 자동화하는 방식에 가깝고, 모듈은 VBA 코드와 이벤트 프로시저를 포함하는 영역입니다. 둘 다 자동화와 관련되지만, 모듈은 프로그래밍 개념과 더 가깝습니다.
이벤트 프로시저는 무엇을 뜻하나요?
이벤트 프로시저는 클릭, 열기, 변경 같은 특정 이벤트가 발생했을 때 실행되는 처리 절차입니다. 폼의 단추나 컨트롤 동작과 함께 이해하면 가장 쉽습니다.
컴활메이트 1급은 컴활 1급 출제기준에 맞춘 자체 출제 문제로 매크로 함수와 이벤트 프로시저의 핵심 개념을 반복 학습하도록 돕습니다. 본 자료는 대한상공회의소 공식 자료가 아닌 자체 출제 콘텐츠입니다.