책 내용 질문하기
2025년 상시01 메크로 설정에 관해서 질문 드립니다.
도서
2026 시나공 컴퓨터활용능력 1급 실기 기출문제집
페이지
100
조회수
10
작성일
2026-08-07
작성자
서*정
첨부파일

안녕하세요, 엑세스 메크로 연결하는 문제에서요.


cmb구분 컨트롤이 있는 부분은 컨트롤 원본이 구분상세 테이블인데

[구분코드]=[forms]![회원관리]![cmb구분] 으로 설정하는게 아닌지 잘 모르겠습니다.



그 다음문제인 이벤트 프로시저에서는


[구분코드]='" & cmb구분 & "'" 으로 연결되는데, 왜 메크로 부분은 '[구분]= ~'으로 되는 걸까요?



답변
2026-08-07 16:24:28

안녕하세요.

핵심은 콤보상자의 ‘컨트롤 원본’과 실제로 조건에서 비교해야 하는 값이 반드시 같은 것은 아니라는 점입니다.

예를 들어 cmb구분의 컨트롤 원본이 구분상세라고 해도, 콤보상자의 행 원본이 다음처럼 구성되어 있을 수 있습니다.

구분코드 | 구분
1       | 일반
2       | 우수

그리고 바운드 열이 2열이라면 cmb구분의 실제 값은 구분코드가 아니라 구분 값입니다. 이 경우 매크로 조건은

[구분]=[Forms]![회원관리]![cmb구분]

처럼 작성하는 것이 맞습니다.

반대로 VBA 이벤트 프로시저에서

"[구분코드]='" & cmb구분 & "'"

을 사용했다면, 그 상황에서는 cmb구분구분코드 값을 반환하도록 설정되어 있거나, 코드에서 비교 대상이 구분코드이기 때문입니다.

즉, 판단할 때는 컨트롤 원본 이름만 보면 안 되고 cmb구분의 바운드 열(Bound Column)을 확인해야 합니다.

cmb구분이 구분코드를 반환 → [구분코드]=...
cmb구분이 구분 값을 반환 → [구분]=...

또한 매크로와 VBA라서 비교 필드가 달라지는 것은 아닙니다. 각 문제에서 콤보상자가 실제로 어떤 값을 반환하고, 대상 폼·보고서의 어느 필드와 비교해야 하는지가 기준입니다.

즐거운 하루 되세요.

  • 관리자
    2026-08-07 16:24:28

    안녕하세요.

    핵심은 콤보상자의 ‘컨트롤 원본’과 실제로 조건에서 비교해야 하는 값이 반드시 같은 것은 아니라는 점입니다.

    예를 들어 cmb구분의 컨트롤 원본이 구분상세라고 해도, 콤보상자의 행 원본이 다음처럼 구성되어 있을 수 있습니다.

    구분코드 | 구분
    1       | 일반
    2       | 우수
    

    그리고 바운드 열이 2열이라면 cmb구분의 실제 값은 구분코드가 아니라 구분 값입니다. 이 경우 매크로 조건은

    [구분]=[Forms]![회원관리]![cmb구분]
    

    처럼 작성하는 것이 맞습니다.

    반대로 VBA 이벤트 프로시저에서

    "[구분코드]='" & cmb구분 & "'"
    

    을 사용했다면, 그 상황에서는 cmb구분구분코드 값을 반환하도록 설정되어 있거나, 코드에서 비교 대상이 구분코드이기 때문입니다.

    즉, 판단할 때는 컨트롤 원본 이름만 보면 안 되고 cmb구분의 바운드 열(Bound Column)을 확인해야 합니다.

    cmb구분이 구분코드를 반환 → [구분코드]=...
    cmb구분이 구분 값을 반환 → [구분]=...

    또한 매크로와 VBA라서 비교 필드가 달라지는 것은 아닙니다. 각 문제에서 콤보상자가 실제로 어떤 값을 반환하고, 대상 폼·보고서의 어느 필드와 비교해야 하는지가 기준입니다.

    즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.