책 내용 질문하기
프로시저 작성에 대해서 질문있습니다.
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
200
조회수
211
작성일
2012-09-07
작성자
첨부파일

안녕하세요.

질문이 좀 많습니다.

1.msgbox 프로시저 작성에 대해 궁금한게 있는데요

2편 200페이지 4번문제 정답을 보면

메시지내용에 현재시간을 포함하여 표시하기 위해 time 함수를 썼는데

time() 이런식으로 안쓰고 time으로만 작성되어있더라구요..그래서 msgbox 프로시저 작성할때는 이렇게 써야되는 줄 알고 그냥 이해하고 넘어갔는데

상설시험 준비때문에 상설질문 답글 조회하다가

[엑세스에서 닫기버튼을 누르면 닫겠다는 대화상자와 예를 누르면 폼을 닫고, 현재시간이 표시되는 대화상사가 표시 된다는 문제였는데요 ]라는 질문에대한 답변으로

폼을 닫고 시간을 표시 해야 하므로

Dim aa

aa = MsgBox("폼을 닫으시겠습니까?", vbOKOnly, " ")

If aa = vbOK Then

DoCmd.Close

End If

MsgBox Now()

위에서처럼 답변을 달아주셧는데.. 저기에는 now함수를 ()를써서 답글을 달아주셧더라구요..

프로시저에서 함수 작성할때 ()붙여주고 안붙여주고 어떤 논리가 있는건지..아니면 그냥 무턱대고 저대로 걍 암기해버려야하는 건지...너무 사소한거에 집착하는건지도 몰라도 상설이 난이도가 있다보니 이런거 실수할까봐서요..배우는 입장에서 작성할때마다 헷갈리네요.ㅠㅠ

2.상설질문입니다.

엑세스 DB구축문제인데요

사용여부 필드 값을 Y/N로 나타나도록 조회속성을 설정하시오.

목록상자로 나타내시오.

문제지문은 저게 다구요. 문제지에 제시된 그림에는 목록상자의 ▼단추를 누르면 하나의 열에 위에는 Y 아래에는 N이 나타나있는 그림이었는데..(열이 하나였음)

데이터형식은 텍스트, 행원본유형 : 값목록, 행원본: Y;N, 바운드열:1, 열개수 1 로 지정했는데

그림과 같이 안나오더라구요..그래서 데이터형식을 예/아니오로 했더니 조회탭의 컨트롤 표시에 목록상자가 아예 없더라구요..그래서 다시 위에 설정한대로 다시 값지정했는데 맞는 건가요??

집에와서 저 위에 설정한대로 하면 문제에 제시됐던 그림대로 나오는데 시험장에서는 문제지 그림대로 나타나지 않았거든요...(시험장에서 처음 DB구축부터 뜻대로 풀리지 않아서 당황;;;;)

3. 역시 상설질문입니다.

예를들어 제품납품현황 폼의 인쇄버튼(cmd인쇄)을 클릭하면 제품납품내역 보고서를 미리보기 형태로 보고서를 열되, txt주문일자에 입력된 날짜와 일치하는 제품만을 보고서에 구현하시오.

주문일자는 하위폼으로 지정된 제품입력폼의 주문일자 이용.

(cf. 위 질문이 정확한건 아니구요 문제에 하위폼 컨트롤이 주어지고 그걸 이용해서 푸는 문제였던것으로 기억이 납니다.ㅠ)

보통 다른폼의 컨트롤 지정할 때는 [forms]![폼이름]![컨트롤명] 이렇게 하는 것으로 알고있고

하위폼에 있는 컨트롤 지정할때는 [폼이름].[form]![컨트롤명]으로 이렇게 하는 것으로 알고있는데요(기출풀이인가 어디서 본듯해서요)

그래서 docmd.openreport "제품납품내역", acviepreview,,"주문일자 = '" & [제품입력].[form]![txt주문일자] & "'" 이렇게 지정했습니다.

하위폼 컨트롤을 프로시저에서 작성할때 위 작성식이 맞는건지요? 그리고 제품입력폼을 열어서 주문일자를 보니 09년 12월 02일 이런식으로 표시되어있던데 텍스트형식으로 보고 컨트롤이 문자일 때의 분리해서 연결하는 방법으로 했는데 맞는건지요?

4. 상설질문

메시지상자 구현하는 문제였는데.. 이건 정확히 어떤 문제였는지는 기억이 안나지만 보통 메시지상자 띄우는 문제라고 생각하면 될 것같아요(시간이 부족해서..못풀었지만ㅠㅠ)

다만 문제 지문에 못보던 문구가 있어서 무엇을 의미하는건지 물어볼려구요

폼이름(??? 이게 폼이름이었는지 폼개체였는지 기억이 가물;;)을 나타내려면 폼속성을 이용해서 나타내시오.

프로시저에서 메시지상자 구현할 때 폼속성을 이용해서 어떻게 나타나게 하라는 말인가요??

문제풀다가 메시지내용에 현재 폼이름 구현할 때 me.name & " 메시지내용" 이렇게 했던거 같은데요..혹시 me.name 이런걸 말하는 건가요??

아니면 폼속성으로만 메시지상자를 구현하라는 말인건지요?? ㅠㅠ

5. 상설 질문

폼 문제인데요. 기본폼에 하위폼이 지정된 문제였습니다. 기본폼 구성은 폼머리글 본문 폼바닥글만 있었고 기본폼본문에 하위폼이 지정되어있었습니다. 제시된 그림에는 하위폼의 본문영역에 있는 컨트롤값들이 기본폼의 본문영역에 표시되는 그림이었습니다.

문제는 제시된 그림처럼 본문에 지정되어있는 하위폼컨트롤 밑에 선컨트롤을 긋는 거였는데..그림에는 본문의 모든 컨트롤 열이 쭉 나오고 마지막에 선이 그어져있었습니다.(구룹이 지정되어있을 경우 그룹바닥글에 선을 그으면 각 그룹의데이터 마지막에만 선을 나타내는 것처럼요 하지만 제시된 그림에는 하위폼에 그룹지정이 되어있지도 않았고 문제자체에도 그룹지정 혹은 그룹머리글 바닥글 지정하라는 언급은 없었습니다.)

하위폼 컨트롤(하위폼의 본문영역) 밑에 선을 긋고 폼보기를 해보니 컨트롤 값 각각 행마다 선이 그어지게 나오더라구요.

하위폼에 어떤 영역을 추가해서 선을 생성시켜야하는지요? 시간이 부족해서 이것저것 다 시도해보지는 못하고 그냥 냅뒀는데...ㅠ

6. 상설

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

예를 들어 txt제품명이 공백이라면 '제품을 입력하시오'라는 메세지상자를 띄우고(버튼은 확인버튼만)

txt제품명이 공백이 아니라면 금액이 단가*수량과 같지않을 경우 "~~입니다"(버튼은 확인버튼만있었구 메시지 내용은 기억이 잘 안나는군요)라는 메시지상자를 띄우는 문제였습니다.

if txt제품명= "" then

msgbox "제품을 입력하시오", vbokonly, "Microsoft Office Access"

else

dim aa = 금액

if aa <> 단가*수량

msgbox "~~입니다", vbokonly, "Microsoft Office Access"

end if

end if

end sub

이렇게 작성했는데..맞게 작성한건지요? 저는 금액을 변수로 지정했는데(제가 급하게 풀다보니 금액을 왜 aa로지정했는지 저도 잘 모르겠어요;;;) 금액이 폼에 있던 필드였는지 기억이 잘 안나네요.

만약 금액이 폼에 있는 필드명 혹은 컨트롤이라면 그냥 aa지정하지 않고 if문 다시 만들어서

if 금액 <> 단가*수량 이렇게만 작성하면 되는건가요??

7. 상설

db구축 입력마스크 문제입니다.

'OOO택배'를 공백을 포함하여 문자로 입력하고 선택적으로 입력할 수 있도록한다. 택배는 저장되도록 지정하고 영문자O가 표시되도록 하라.

대충 이런 문제였는데.. CCC택배;0;O 이렇게 지정했는데 맞나요?

상설 저에겐 아직 너무 어렵네요..;;

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

답변
2012-09-10 10:52:05

안녕하세요.

1. 속성에 작성을 할때는 괄호를 반드시 지정하야 하지만 프로시저나 메시지 박스에 입력할 떄는 괄호의 경우 생략이 가능합니다.

2. 문제에서 조회 속성을 이용하라고 되어 있으므로 데이터 형식을 바꾸는 것이 아니라 조회 속성을 이용하여 작성하는 것이 맞습니다.

3. 결과값이 정상적으로 나왔나요? 그렇다면 상관 없습니다.

4. 질문 내용만으로는 정확히 어떤 문제인지 파악하기가 어렵네됴.

5. 기본 폼의 본문 영역에서 하위 폼 아래에 선을 삽입하면 될 듯 합니다.

6.

if txt제품명= "" then

msgbox "제품을 입력하시오", vbokonly, "Microsoft Office Access"

elseif 금액 <> 단가*수량 then

msgbox "~~입니다", vbokonly, "Microsoft Office Access"

else

조건을 모두 만족하지 않을경우 실행할 내용입력

end if

7. 선택적으로 문자가 입력되게 해야 하므로 ???택배;0;O로 작성해야 합니다. ?는 선택요소로써 A~Z까지의 영문자와 한글 입력이 가능합니다.

즐거운 하루 되세요.

end sub

"
  • *
    2012-09-10 10:52:05

    안녕하세요.

    1. 속성에 작성을 할때는 괄호를 반드시 지정하야 하지만 프로시저나 메시지 박스에 입력할 떄는 괄호의 경우 생략이 가능합니다.

    2. 문제에서 조회 속성을 이용하라고 되어 있으므로 데이터 형식을 바꾸는 것이 아니라 조회 속성을 이용하여 작성하는 것이 맞습니다.

    3. 결과값이 정상적으로 나왔나요? 그렇다면 상관 없습니다.

    4. 질문 내용만으로는 정확히 어떤 문제인지 파악하기가 어렵네됴.

    5. 기본 폼의 본문 영역에서 하위 폼 아래에 선을 삽입하면 될 듯 합니다.

    6.

    if txt제품명= "" then

    msgbox "제품을 입력하시오", vbokonly, "Microsoft Office Access"

    elseif 금액 <> 단가*수량 then

    msgbox "~~입니다", vbokonly, "Microsoft Office Access"

    else

    조건을 모두 만족하지 않을경우 실행할 내용입력

    end if

    7. 선택적으로 문자가 입력되게 해야 하므로 ???택배;0;O로 작성해야 합니다. ?는 선택요소로써 A~Z까지의 영문자와 한글 입력이 가능합니다.

    즐거운 하루 되세요.

    end sub

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