컴활 1급 실기 액세스 프로시저 쿼리 작성법과 감점 방지 팁

컴활 1급 실기에서 엑셀은 어떻게든 해볼 만합니다. 스프레드시트는 회사에서 써본 적이라도 있으니까요. 그런데 액세스? 한 번도 안 열어본 사람이 태반입니다. 저도 실기 준비하면서 처음 깔았습니다.

액세스 파트에서 가장 배점이 높은 게 프로시저와 쿼리 작성입니다. 그리고 가장 감점이 많이 되는 것도 여기입니다. 왜냐하면 한 글자만 틀려도 점수를 못 받거든요. 세미콜론 하나, 괄호 하나 때문에 0점 처리되는 경우가 비일비재합니다.

쿼리 작성의 기본: SQL이 아니라 QBE

처음 공부할 때 착각하기 쉬운 부분이 있습니다. 컴활에서 말하는 쿼리는 SQL 직접 작성이 아닙니다. QBE(Query By Example) 방식, 그러니까 디자인 보기에서 필드를 끌어다 놓고 조건을 입력하는 방식입니다.

물론 SQL 보기로 전환해서 코드를 확인할 수도 있지만, 시험에서는 디자인 보기가 기본입니다. SQL을 몰라도 됩니다. 대신 조건식 문법을 정확히 알아야 합니다.

자주 나오는 쿼리 조건식 패턴

날짜 조건

Between #2026-01-01# And #2026-06-30# — 날짜 범위를 지정할 때 샵(#) 기호로 감싸야 합니다. 따옴표가 아닙니다. 이 샵 기호를 빼먹으면 감점입니다.

Year([입사일])=2025 — 연도만 추출해서 비교할 때. 함수 이름과 필드명 사이에 공백 없이 바로 괄호를 엽니다.

문자열 조건

Like “김*” — “김”으로 시작하는 모든 값. 와일드카드가 별표(*)입니다. SQL의 퍼센트(%)가 아닙니다. 액세스에서는 별표예요. 이 차이 때문에 프로그래밍 경험이 있는 사람이 오히려 틀리는 경우가 있습니다.

Like “??동” — 정확히 두 글자 뒤에 “동”이 오는 값. 물음표(?)는 한 글자를 의미합니다.

계산 필드

수당: [기본급]*0.1 — 새 필드명 뒤에 콜론(:)을 찍고 수식을 씁니다. 이때 필드명은 대괄호([])로 감쌉니다. 콜론 앞뒤 공백은 있어도 되고 없어도 됩니다만, 일관되게 쓰는 게 좋습니다.

프로시저 작성: 이벤트와 매크로 함수

프로시저는 폼이나 보고서에서 특정 동작을 자동화하는 코드입니다. 시험에서 가장 많이 나오는 패턴은 이렇습니다.

커맨드 버튼 클릭 시 폼 열기:

DoCmd.OpenForm “폼이름”, acNormal

보고서 미리보기:

DoCmd.OpenReport “보고서명”, acViewPreview

레코드 이동:

DoCmd.GoToRecord , , acFirst (처음으로)

DoCmd.GoToRecord , , acLast (마지막으로)

여기서 감점 포인트가 숨어 있습니다. DoCmd 뒤에 점(.)을 찍는 거, 쉼표 개수, 상수명(acNormal, acViewPreview 등)의 정확한 스펠링. 하나라도 틀리면 0점입니다.

감점 방지를 위한 체크리스트

시험 보기 전에 이것만 확인하세요.

날짜는 샵(#)으로 감쌌는가. 문자열은 큰따옴표(“)로 감쌌는가. 필드명은 대괄호([])로 감쌌는가. 와일드카드는 별표(*)와 물음표(?)를 썼는가. 계산 필드 구분자는 콜론(:)인가. DoCmd의 스펠링은 정확한가. 상수명(acNormal, acViewPreview, acFirst, acLast)을 정확히 외웠는가.

이 체크리스트를 시험 전날 한 번, 시험 당일 입실 전에 한 번 읽으세요. 액세스 파트는 아는데 틀리는 시험입니다. 모르는 게 아니라 실수로 떨어지는 거예요. 꼼꼼함이 실력보다 중요한 과목입니다.

쿼리 작성 시 자주 발생하는 실수와 대처법

액세스 프로시저 문제에서 가장 많은 감점이 발생하는 부분은 SQL 쿼리의 문법 오류입니다. SELECT 문에서 필드명 사이에 쉼표를 빠뜨리거나, WHERE 절의 조건식에서 문자열을 따옴표로 감싸지 않는 실수가 대표적입니다. 날짜 데이터를 다룰 때는 반드시 #2024-01-15# 형식으로 샵 기호를 사용해야 하는데, 이걸 작은따옴표로 쓰는 수험생이 상당히 많습니다.

GROUP BY와 HAVING의 구분도 중요합니다. WHERE는 그룹화 전에 개별 레코드를 필터링하고, HAVING은 그룹화 후에 그룹 단위로 필터링합니다. 예를 들어 “부서별 평균 급여가 300만 원 이상인 부서”를 구하려면 GROUP BY 부서 HAVING AVG(급여) >= 3000000 이렇게 써야 합니다. WHERE에 집계 함수를 넣으면 바로 오류가 납니다.

매크로 프로시저 작성 자주 나오는 부분

액세스 실기의 프로시저 영역에서는 매크로 함수와 이벤트 프로시저가 함께 출제됩니다. 매크로에서는 OpenForm, OpenReport, SetValue, MsgBox 같은 매크로 함수의 인수 순서를 정확히 알아야 합니다. 특히 SetValue는 항목(Item)과 식(Expression) 두 개의 인수를 받는데, 항목에는 컨트롤의 전체 참조명을, 식에는 설정할 값을 넣어야 합니다.

이벤트 프로시저에서는 DLookup, DCount, DSum 같은 도메인 함수가 빈출됩니다. DLookup(“필드명”, “테이블명”, “조건”) 형식을 정확히 외우고, 조건 부분에서 변수를 넣을 때 문자열은 따옴표 처리, 숫자는 그대로, 날짜는 샵 기호로 감싸는 규칙을 지켜야 합니다. 시험장에서 당황하지 않으려면 이런 기본 문법을 손으로 직접 여러 번 써보는 연습이 필수입니다.

함께 읽으면 좋은 글

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤