2026_최신기출유형_01회
-2. 이벤트 프로시저 구현 0/5
-이벤트 프로시저 X [컨트롤 OnClick 모듈]의 cmd보고서 값이 정답과 다릅니다.
하위폼의 값을 가져올 때는 1)과 같이 쓰는 거라고 생각했는데, 2)와 같이 쓰는 이유는 뭔가요?
(제가 뭔가를 잘못 이해하고 있는 것 같으데, 뭘 잘못 이해한 건지 모르겠어요,,,)
1) DoCmd.OpenReport "등록현황", acViewPreview, "학과명='" & [문화센터등록].[Form]![txt학과명] & "'"
2) DoCmd.OpenReport "등록현황", acViewPreview, , "학과명='" & [Forms]![문화센터등록현황]![문화센터등록]![txt학과명] & "'"
안녕하세요.
헷갈리신 부분은 “하위 폼 자체를 참조하는 방법”과 “하위 폼이 들어 있는 메인 폼에서 출발하여 참조하는 방법”의 차이입니다.
첫 번째 방식은 현재 폼에서 하위 폼 컨트롤을 직접 참조할 때 사용하는 형태입니다.
[문화센터등록].[Form]![txt학과명]
여기서 [문화센터등록]은 하위 폼 컨트롤이고, .Form은 그 안에 들어 있는 폼 객체를 의미합니다.
반면 두 번째는 열려 있는 메인 폼을 처음부터 지정해서 찾아가는 방식입니다.
[Forms]![문화센터등록현황]![문화센터등록]![txt학과명]
구조를 보면
Forms
└─ 문화센터등록현황 ← 메인 폼
└─ 문화센터등록 ← 하위 폼 컨트롤
└─ txt학과명
처럼 메인 폼 → 하위 폼 → 컨트롤 순서로 찾아갑니다.
따라서 핵심은 현재 코드가 어디에서 실행되느냐입니다.
현재 메인 폼 안에서 하위 폼을 참조 →
[하위폼컨트롤].Form![컨트롤]
외부에서 특정 메인 폼부터 지정하여 참조 →[Forms]![메인폼]![하위폼컨트롤]...
다만 Access에서는 하위 폼 내부 컨트롤을 참조할 때 일반적으로 .Form을 명시하는 방식이 가장 명확합니다. 예를 들면:
[Forms]![문화센터등록현황]![문화센터등록].Form![txt학과명]
즉, 1번만 하위 폼 참조법이고 2번은 전혀 다른 것이 아니라, 참조를 어디서 시작하느냐가 다른 것이라고 이해하시면 됩니다.
즐거운 하루 되세요.
-
관리자2026-08-07 14:56:14
안녕하세요.
헷갈리신 부분은 “하위 폼 자체를 참조하는 방법”과 “하위 폼이 들어 있는 메인 폼에서 출발하여 참조하는 방법”의 차이입니다.
첫 번째 방식은 현재 폼에서 하위 폼 컨트롤을 직접 참조할 때 사용하는 형태입니다.
[문화센터등록].[Form]![txt학과명]여기서
[문화센터등록]은 하위 폼 컨트롤이고,.Form은 그 안에 들어 있는 폼 객체를 의미합니다.반면 두 번째는 열려 있는 메인 폼을 처음부터 지정해서 찾아가는 방식입니다.
[Forms]![문화센터등록현황]![문화센터등록]![txt학과명]구조를 보면
Forms └─ 문화센터등록현황 ← 메인 폼 └─ 문화센터등록 ← 하위 폼 컨트롤 └─ txt학과명처럼 메인 폼 → 하위 폼 → 컨트롤 순서로 찾아갑니다.
따라서 핵심은 현재 코드가 어디에서 실행되느냐입니다.
현재 메인 폼 안에서 하위 폼을 참조 →
[하위폼컨트롤].Form![컨트롤]
외부에서 특정 메인 폼부터 지정하여 참조 →[Forms]![메인폼]![하위폼컨트롤]...다만 Access에서는 하위 폼 내부 컨트롤을 참조할 때 일반적으로
.Form을 명시하는 방식이 가장 명확합니다. 예를 들면:[Forms]![문화센터등록현황]![문화센터등록].Form![txt학과명]즉, 1번만 하위 폼 참조법이고 2번은 전혀 다른 것이 아니라, 참조를 어디서 시작하느냐가 다른 것이라고 이해하시면 됩니다.
즐거운 하루 되세요.