책 내용 질문하기
상설 재질문입니다.
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
조회수
102
작성일
2013-06-18
작성자
첨부파일

1.

가령 이러한 시트에서

A버튼을 클릭하면

강좌(아래 형태의)폼을 실행하고 (강좌.show)

폼이 초기화되면 list강좌에 J3:J5를 입력하고 (l ist강좌.rowsource="J3:J5")

폼의 입력 버튼을 클릭하면

폼의 list강좌에서 강좌를 선택하지 않았으면
txt성명에 "강좌를 선택하지 않았습니다." 라고 표시하고
목록의 첫번째 값을 선택하면 셀에 폼의 내용을 입력하는 문제였습니다.

그래서
if list강좌.listindex=-1 then

txt성명 = "강좌를 선택하지 않았습니다."
elseif list강좌.listindex=0 then
입력행=[b4].row+[b4].currentregion.rows.count
cells(입력행,2)=list강좌
cells(입력행,3)=txt성명
cells(입력행,4)=txt나이
cells(입력행,5)=txt국어
cells(입력행,6)=txt수학
cells(입력행,7)=txt영어
cells(입력행,8)=val(txt국어)+val(txt수학)+val(txt영어)

end if
이런식으로 하는 게 맞는 건지, 아니면 어떻게 해야하는 건가요??
2.
<주문현황> 보고서의 페이지 바닥들에
회원ID: A컨트롤 이 있고
이 A컨트롤에 회원아이디와 배송연락처를
a1 ☎ (02)123-4567 처럼 표시되게 하라는 문제인데
이 보고서의 레코드 원본은 <주문> 테이블이었고
보고서의 내용 중 배송연락처를 나타내고 있는 부분은 없었습니다.
배송연락처는 <주문내역>테이블에 있는 상태입니다.
그럼
A컨트롤에
=[아이디] & " ☎ " & [배송연락처]
라고 입력하는 것이 아니라
[배송연락처]를 찾기 위해 Dlookup함수를 써야하는건가요?
=[아이디] & " ☎ " & Dlookup("배송연락처","주문내역","아이디=txt아이디")
조건부분은
(가령 현재 보고서의 txt아이디 값이 주문내역 테이블의 아이디와 일치하는 경우 주문내역 테이블에서 배송연락처를 찾는) 것으로 했을때요,
저렇게 하는 게 맞는 건가요?
3. 엑세스에서
폼이 종료될때
왼쪽과 같은 메시지를 표시하고
예를 클릭하면
오른쪽과 같이 현재 시간을 표시하고 폼을 종료시키시오 라는 문제인데요
이벤트에서 on close 에서
dim aa

aa=msgbox ( "시간을 입력할까요?",vbyesno,"시간입력")
if aa=vbyes then
msgbox " time & "종료할까요?", vbokonly, "현재 시간"
end if
라고 밖에 못 썼는데
문제의 지시사항 처럼 하려면 어떻게 해야하나요?
-----------------------------------------------------------------------------------
1. 문제에서 요구하는 대로 실행만 된다면 코드는 어떻게 하든 상관이 없습니다.
님의 코드를 봤을 때 'elseif list강좌.listindex=0 then' 이 부분을 else 로 수정하면 정상적으로 실행이 될꺼 같네요.

-> 그럼 elseif 를 else로만 바꾸면 실행 될 것 같다는 말씀이세요?

틀린 부분이 있는 건 아닌가요??

2. 이 또한 님과 같이 해야만 결과값이 정상적으로 나왔다면 그렇게 하는게 맞겠죠.
-> 현재 보고서의 원본 레코드에 없는 <배송연락처> 부분을 나타내려면
배송연락처가 있는 테이블에서 찾아와야 하는 것이므로 dlookup을 이용해서 쓰면 된다는 거죠??
3. 맨 마지막에 폼을 종료하는 것을 못했다는 말씀인가요? 그렇다면 맨 마지막에 Docmd.Close를 입력하면 됩니다.
dim aa

aa=msgbox ( "시간을 입력할까요?",vbyesno,"시간입력")
if aa=vbyes then
msgbox " time & "종료할까요?", vbokonly, "현재 시간"
docmd.colse - 1
end if

docmd.close -2

그럼 Docmd.close 를 1 r과 2 자리 중 어디에 쓰면 된다는 건가요?

docmd.close를 써주면

두 번째 메시지 박스가 뜨고 확인을 누르면 폼이 종료 되는 건가요?

vbok 일때 종료한다고 또 뭐 if를 써줘야 하는 건가요??

자꾸 보다 보니 더 헷갈려서요;;

답변
2013-06-19 09:20:56

안녕하세요.

1. elseif 를 else로만 바꾸면 실행 될 것 같다는 말씀이세요?
-> 비슷하게 만들어서 실행해 보았는데 실행이 됐습니다.

2. 현재 보고서의 원본 레코드에 없는 <배송연락처> 부분을 나타내려면
배송연락처가 있는 테이블에서 찾아와야 하는 것이므로 dlookup을 이용해서 쓰면 된다는 거죠??
-> 방법은 여러가지가 있을 수 있습니다. 그러니 문제에서 요구하는 지시사항을 모두 만족하고 결과값만 제대로 나오면 상관 없습니다.
3. 예를 클릭하면 현재시간을 표시하고 폼을 종료하라고 하였으니 1번 위치에 입력해야 합니다.
즐거운 하루 되세요.
"
  • *
    2013-06-19 09:20:56

    안녕하세요.

    1. elseif 를 else로만 바꾸면 실행 될 것 같다는 말씀이세요?
    -> 비슷하게 만들어서 실행해 보았는데 실행이 됐습니다.

    2. 현재 보고서의 원본 레코드에 없는 <배송연락처> 부분을 나타내려면
    배송연락처가 있는 테이블에서 찾아와야 하는 것이므로 dlookup을 이용해서 쓰면 된다는 거죠??
    -> 방법은 여러가지가 있을 수 있습니다. 그러니 문제에서 요구하는 지시사항을 모두 만족하고 결과값만 제대로 나오면 상관 없습니다.
    3. 예를 클릭하면 현재시간을 표시하고 폼을 종료하라고 하였으니 1번 위치에 입력해야 합니다.
    즐거운 하루 되세요.
    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.