책 내용 질문하기
액세스 dlookup함수에서 테이블/쿼리를 지정해주지 않았을 때
도서
2017 시나공 컴퓨터활용능력 1급 실기(엑셀,액세스 2007사용자용)
페이지
조회수
126
작성일
2017-05-24
작성자
첨부파일

(부록 p.224 참고)

2016-1회-액세스 문제2-2에서는

'환자관리' 폼의 하위 폼 본문이 'txt서비스명' 컨트롤에 서비스명이 표시되도록 구현하시오

dlookup함수 이용

폼화면에는 '서비스코드'가 표시되어 있지 않음

해설을 참고하여 생각해보면

1. txt서비스명에 서비스명이 표시되어야 하므로, 테이블이나 쿼리에서 서비스명 필드를 가진 개체를 찾습니다.

<서비스>, <신청자현황> 테이블과 <서비스신청현황>쿼리가 존재합니다.

이 중에서도 현재폼과 관련된 서비스명이 나타나야하므로

현재폼이 가진 필드를 가진 테이블/쿼리를 선택해야 합니다.

해설에서는 <서비스신청현황> 쿼리를 선택하여 공동의 필드로 환자코드를 선택하였는데요

<신청자현황>테이블을 선택하여 공동의 필드로 환자명을 써도 괜찮지 않나요?

2. 이어지는 질문으로 컨트롤 원본에 쓰는 방식을 질문드립니다.

이전의 문제들은 "상품코드=txt상품코드" 이런식인데요, (해당 테이블/쿼리의)필드명과 현재 폼의 컨트롤 비교

=dlookup("서비스명", "서비스신청현황", "[서비스신청현황]![환자코드]=forms![환자관리]![환자코드])

여기에서 왜 []을 쓰는 건가요?

서비스신청현황 쿼리에서 환자코드필드와 현재폼의 레코드원본의 필드인 환자코드를 비교하기 떄문인가요?

그럼 환자코드 = forms![환자관리]![환자코드] 이렇게 써도 무관하죠?

그리고 forms![환자관리]![환자코드]여기서 왜 forms에는 [] 안해주나요?

★ 성실한 답변부탁드립니다(물론 질문들이 넘쳐나 바쁘시겠지만,,,,이전 질문드린 내용에서는 질문 중 몇개만 답해주신다거나 '결과만 같다면 상관없습니다.' 이런 답변을 받았는데 도움이 되지 않더라구요. 제대로 제가 이해하고 있는지 혹은 왜 그런지가 알고 싶어서 질문드립니다.) ★

답변
2017-05-31 09:23:10

안녕하세요.

1. 님의 말씀대로 아래와 같이 작성해도 됩니다.

=DLookUp("서비스명","신청자현황","Forms![환자관리]![환자명]=[신청자현황]![환자명]")

2. =dlookup("서비스명", "서비스신청현황", "[서비스신청현황]![환자코드]=forms![환자관리]![환자코드])

여기에서 왜 []을 쓰는 건가요?

서비스신청현황 쿼리에서 환자코드필드와 현재폼의 레코드원본의 필드인 환자코드를 비교하기 떄문인가요?

-> 일반적으로 컨트롤의 위치를 지정할때 []를 지정하는데요. 생략이 가능합니다.

그럼 환자코드 = forms![환자관리]![환자코드] 이렇게 써도 무관하죠?

-> 일반적으로 해당 컨트롤이 있는 폼의 레코드 원본에 있는 값과 비교할 때는 테이블 혹은 쿼리이름을 생략해도 되지만 이 문제의 경우는 그렇지 않기때문에 쿼리명을 지정해야 합니다.

그리고 forms![환자관리]![환자코드]여기서 왜 forms에는 [] 안해주나요?

-> 해도 상관 없습니다.

즐거운 하루 되세요.

  • *
    2017-05-31 09:23:10

    안녕하세요.

    1. 님의 말씀대로 아래와 같이 작성해도 됩니다.

    =DLookUp("서비스명","신청자현황","Forms![환자관리]![환자명]=[신청자현황]![환자명]")

    2. =dlookup("서비스명", "서비스신청현황", "[서비스신청현황]![환자코드]=forms![환자관리]![환자코드])

    여기에서 왜 []을 쓰는 건가요?

    서비스신청현황 쿼리에서 환자코드필드와 현재폼의 레코드원본의 필드인 환자코드를 비교하기 떄문인가요?

    -> 일반적으로 컨트롤의 위치를 지정할때 []를 지정하는데요. 생략이 가능합니다.

    그럼 환자코드 = forms![환자관리]![환자코드] 이렇게 써도 무관하죠?

    -> 일반적으로 해당 컨트롤이 있는 폼의 레코드 원본에 있는 값과 비교할 때는 테이블 혹은 쿼리이름을 생략해도 되지만 이 문제의 경우는 그렇지 않기때문에 쿼리명을 지정해야 합니다.

    그리고 forms![환자관리]![환자코드]여기서 왜 forms에는 [] 안해주나요?

    -> 해도 상관 없습니다.

    즐거운 하루 되세요.

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