문제의 조건이 ‘DoCmd 개체의 메소드를 사용하시오.’라고만 되어 있다면, 제가 작성한 답안처럼 DoCmd.OpenReport를 두 번 사용하여 조건을 각각 지정해도 정답으로 인정되는지 궁금합니다. 아니면 모범답안처럼 하나의 DoCmd.OpenReport 문에서 두 조건을 And로 연결해야만 정답으로 인정되는 건가요?
Private Sub cmd인쇄_Click()
DoCmd.OpenReport "CCTV관리", acViewPreview, , "관리구청='" & [txt관리구청] & "'And 보관일수=" & [Forms]![설치목적조회]![CCTV설치현황]![txt보관일수]
DoCmd.Close acForm, "보관일수", acSavePrompt
End Sub
안녕하세요.
두 번 DoCmd.OpenReport를 쓰는 방식은 모범답안과 같은 의미가 아닙니다.
모범답안은 한 번 열 때 두 조건을 동시에 적용합니다.
DoCmd.OpenReport "CCTV관리", acViewPreview, , _
"관리구청='" & [txt관리구청] & "' And 보관일수=" & _
[Forms]![설치목적조회]![CCTV설치현황]![txt보관일수]즉,
관리구청 조건 AND 보관일수 조건을 모두 만족하는 레코드만 표시합니다.
반면
DoCmd.OpenReport ..., , , "관리구청=..."
DoCmd.OpenReport ..., , , "보관일수=..."처럼 두 번 실행하면 조건이 합쳐지는 것이 아니라 보고서를 각각 따로 열려고 하는 것입니다. 두 번째 실행이 첫 번째 조건에 추가되는 구조가 아닙니다.
따라서 이 문제에서는 하나의 DoCmd.OpenReport 문에서 두 조건을 And로 연결하는 것이 맞습니다.
즉 DoCmd 개체의 메소드를 사용하시오라는 지시만 있더라도, 결과 조건이 “관리구청과 보관일수를 모두 만족”해야 한다면 두 조건을 한 WhereCondition에 넣어야 합니다.
즐거운 하루 되세요.
-
관리자2026-10-20 09:25:14
안녕하세요.
두 번
DoCmd.OpenReport를 쓰는 방식은 모범답안과 같은 의미가 아닙니다.모범답안은 한 번 열 때 두 조건을 동시에 적용합니다.
DoCmd.OpenReport "CCTV관리", acViewPreview, , _ "관리구청='" & [txt관리구청] & "' And 보관일수=" & _ [Forms]![설치목적조회]![CCTV설치현황]![txt보관일수]즉,
관리구청 조건 AND 보관일수 조건을 모두 만족하는 레코드만 표시합니다.
반면
DoCmd.OpenReport ..., , , "관리구청=..." DoCmd.OpenReport ..., , , "보관일수=..."처럼 두 번 실행하면 조건이 합쳐지는 것이 아니라 보고서를 각각 따로 열려고 하는 것입니다. 두 번째 실행이 첫 번째 조건에 추가되는 구조가 아닙니다.
따라서 이 문제에서는 하나의
DoCmd.OpenReport문에서 두 조건을And로 연결하는 것이 맞습니다.즉
DoCmd 개체의 메소드를 사용하시오라는 지시만 있더라도, 결과 조건이 “관리구청과 보관일수를 모두 만족”해야 한다면 두 조건을 한WhereCondition에 넣어야 합니다.즐거운 하루 되세요.