문제 3 조회 및 출력기능구현 (PAGE.298)
3. '일일소비입력' 폼에서 '보고서보기(cmd보고서보기)' 버튼을 클릭하면 다음과 같은 기능을 수행하도록
이벤트 프로시저를 구현하시오
>분류별소비내역 보고서를 인쇄 미리보기 형태로 열것
>txt날짜 컨트롤에 입력된 데이터의 월에 해당하는 데이터만 표시되도록 설정할 것
정답 :
private Sub cmd보고서보기_click()
Docmd.Openreport "분류별소비내역",acViewPreview,, , "month(날짜) = month(#" & txt날짜 & "#)"
End Sub
인데요...
저는 "month([날짜]) =#" & month([txt날짜]) & "#"
이렇게 썼는데
버튼을 눌러도 안나오더라구요
위 정답은 어떻게해서 저렇게 써야 하는지 도저히 모르겠네용...ㅜㅜㅜㅜㅜ
알려주세요 ㅜㅜㅜㅜㅜ
급합니다...
시험이 요번주 목욜입니다..흑
([날짜]) 가 아니고요 (날짜) 입니다
-
*2018-01-30 20:09:37
([날짜]) 가 아니고요 (날짜) 입니다
-
*2018-02-03 13:51:34
"month(날짜) = month(#" & txt날짜 & "#)"
와 같이 작성하셔야 합니다.
txt날짜에 입력된 값이 날짜형식이므로 #을 사용해야 하는데요.
사용방법이 # & 컨트롤명 & #
입니다.
그러므로 month 안에서 # 을 사용해야 합니다.
[] 는 필드명이나 컨트롤명에 엑세스가 자동으로 붙여주는 부분입니다.
[] 이 있든 없든 정확한 결과가 나오면 정답으로 인정 됩니다.
좋은 하루 되세요.
-
*2018-01-30 20:34:28
심심해서 답변작성하러 놀러다니고 있습니다.
엑세스는 아직 공부를 많이못해서 잘아는편은 아니지만
시나공답변이 거의 슬로우모션급이니 아는것만 답변드릴게요.
일단프로시저에서는 컨트롤과 필드명을 [](대괄호)로 구분하지 않습니다.
그냥 그대로 변수취급하여 작성합니다.
따라서 month([날짜]) 는 month(날짜)로 바뀌는 것이 맞습니다.
뒤에는 보다가 잠시 고민을 해보았는데요...
보통 날짜정보를가진 컨트롤을 불러올때는
바깥쪽의 ''(작은따옴표) 대신에 #으로 묶어줘야 한다고 알고있습니다.
컨트롤의 해당되는 날짜값은 month()함수속에 들어가야 날짜에서 정확히 월만 추출하게 됩니다.
"month(날짜) = month(#" & txt날짜 & "#)"
여기서 제가 같은색깔로 칠해논 기호는 쌍을 의미합니다.
날짜에대한 컨트롤은 #" & 컨트롤명 & "# 의 형태로 가져오게되고
그 값은 반드시 month()함수속에 들어있어야 날짜는 월로 바꿔주게됩니다.
"month([날짜]) =#" & month([txt날짜]) & "#"
따라서 질문자님은 컨트롤을 []로 묶으신 실수와
날짜컨트롤을 가지고오는 기호들을 month함수밖으로 묶어주는 실수를 하셨다고 생각합니다.