책 내용 질문하기
다시 질문드립니다.
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
62
조회수
223
작성일
2012-09-13
작성자
첨부파일

안녕하세요.

매번 친철하게 답변달아주셔서 감사합니다. ^^

1. 2012년 2회 대비 모의고사 엑세스 문제인데 궁금한게 있어서 질문드립니다.

문제3번(조회및출력기능구현)에 2번 문제인데요.

filter 기능을 이용하여 cmb학과 일치하는 데이터만 표시하는 문제인데..

답을 보면

me.filter = "학과 = '" & cmb학과 & "'"

me.filteron = true

로 되어있습니다.

cmb학과 컨트롤에는 학과테이블의 학과코드(21, 22, 23)와 학과명(경영과. 영어과) 필드가 행원본으로 지정되어있고 학과코드가 바운드열로 지정되어있습니다.

그런데 문제풀면서 지도학생폼의 레코트원본으로 지정되어있는 학생테이블의 학과필드에는 필드값으로 학과명이 나열되어있고 cmb학과에 바운드 열인 학과코드는 필드 값들이 숫자(21, 22)여서 값들이 일치하지 않아 조건비교하기 어렵다 판단하여, 필드값이 학과명으로 되어있는 cmb학과 두번째열인 학과명과 비교식으로 써야한다고 생각했습니다.

그래서

me.filter = "학과 ='" & cmb학과 .column(1) & "'"

me.filterOn = true

이렇게 작성햇거든요?

보통 문제풀때도 같은 값들을 갖고 있는 필드와 컨트롤을 비교하지 않나요??

매번 레코드원본 필드와 해당 컨트롤을 비교해가면서 이렇게 풀었었고 다른 문제는 다 맞았던거 같은데 이 문제 정답이 이렇게 되어있으니 또 혼란스럽네요;;;

제가 잘 못 알고있는게 있다면 가르쳐주세요~

2. 이건 며칠전에 상설질문드렸던건데 이해가 안가서 다시 질문드립니다.

프로시저 작성하는 문제였습니다.

예를 들어 txt제품명이 공백이라면 '제품을 입력하시오'라는 메세지상자를 띄우고(버튼은 확인버튼만)
txt제품명이 공백이 아니라면 금액이 단가*수량과 같지않을 경우 "~~입니다"(버튼은 확인버튼만있었구 메시지 내용은 기억이 잘 안나는군요)라는 메시지상자를 띄우는 문제였습니다.
if txt제품명= "" then
msgbox "제품을 입력하시오", vbokonly, "Microsoft Office Access"
elseif 금액 <> 단가*수량 then
msgbox "~~입니다", vbokonly, "Microsoft Office Access"
else
조건을 모두 만족하지 않을경우 실행할 내용입력
end if
위에는 제가 질문드렸던거고 밑에는 프로시저는시나공님께서 답을 달아주셨던건데요
밑줄 그은 부분이 이해가 안가서요. 문제자체는 제가 메세지내용으로 들어갈 문구만 기억이 안날뿐이지
문제유형은 똑같거든요(제가 질문올리려고 문제는 그대로 거의 외웠음).. 조건을 모두 만족하지 않을경우 실행할 내용을 입력하려면 문제에 주어졌어야했는데 문제지문은 저게 다였거든요.
3.역시 재질문입니다
db구축 입력마스크 문제입니다.
'OOO택배'를 공백을 포함하여 문자로 입력하고 선택적으로 입력할 수 있도록한다. 택배는 저장되도록 지정하고 영문자O가 표시되도록 하라.
대충 이런 문제였는데.. CCC택배;0;O 이렇게 지정했는데 맞나요?
-> 선택적으로 문자가 입력되게 해야 하므로 ???택배;0;O로 작성해야 합니다. ?는 선택요소로써 A~Z까지의 영문자와 한글 입력이 가능합니다.
이렇게 답글 달아주셧는데..교재2편 62페이지 C도 선택요소라고 나와있는데..?만 정답으로 인정되나요??
뭐가 다른 건지 설명좀 해주세요.ㅠㅠ 이번엔 꼭 합격해야 되서...
아..입력마스크 문제에서 계속 하나씩 틀리니깐 미치겠네요.
답변
2012-09-14 09:39:10

안녕하세요.

1. 말씀하신 내용은 모두 맞습니다. 그런데 하나 생각하지 못하신 점이 있습니다. '지도학생' 폼의 레코드 원본으로 지정된 <학생> 테이블을 디자인 보기로 연 다음 '학과' 필드를 클릭한 후 '조회' 탭에서 행원본과 바운드열을 확인해 보시기 바랍니다. '학생' 테이블의 학과 필드에 학과명이 표시되어 있지만 실직적으로 해당 필드에 저장되는 것은 학과코드임을 알 수 있습니다. 그러므로 '지도학생' 테이블에서 학과 코드를 이용하여 값을 비교한 것입니다.

2. txt제품명이 공백이 아니라면 금액이 단가*수량과 같지않을 경우 라는 이 조건이 또 있는거 아닌가요? 말 그대로 라면 아래와 같이 작성하면 될것도 같네요.

if txt제품명= "" then

msgbox "제품을 입력하시오", vbokonly, "Microsoft Office Access"
else
if 금액 <> 단가*수량 then
msgbox "~~입니다", vbokonly, "Microsoft Office Access"
end if
end if
3. 죄송합니다. 제가 문제를 잘못봤네요. 공백을 포함하여 문자를 입력되게 하는 것이라면 c가 맞네요. 공백을 포함한다는 것을 못보고 문자만 입력되게 한다고 생각했네요.
즐거운 하루 되세요.
"
  • *
    2012-09-14 09:39:10

    안녕하세요.

    1. 말씀하신 내용은 모두 맞습니다. 그런데 하나 생각하지 못하신 점이 있습니다. '지도학생' 폼의 레코드 원본으로 지정된 <학생> 테이블을 디자인 보기로 연 다음 '학과' 필드를 클릭한 후 '조회' 탭에서 행원본과 바운드열을 확인해 보시기 바랍니다. '학생' 테이블의 학과 필드에 학과명이 표시되어 있지만 실직적으로 해당 필드에 저장되는 것은 학과코드임을 알 수 있습니다. 그러므로 '지도학생' 테이블에서 학과 코드를 이용하여 값을 비교한 것입니다.

    2. txt제품명이 공백이 아니라면 금액이 단가*수량과 같지않을 경우 라는 이 조건이 또 있는거 아닌가요? 말 그대로 라면 아래와 같이 작성하면 될것도 같네요.

    if txt제품명= "" then

    msgbox "제품을 입력하시오", vbokonly, "Microsoft Office Access"
    else
    if 금액 <> 단가*수량 then
    msgbox "~~입니다", vbokonly, "Microsoft Office Access"
    end if
    end if
    3. 죄송합니다. 제가 문제를 잘못봤네요. 공백을 포함하여 문자를 입력되게 하는 것이라면 c가 맞네요. 공백을 포함한다는 것을 못보고 문자만 입력되게 한다고 생각했네요.
    즐거운 하루 되세요.
    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.