책 내용 질문하기
2016년 1회 1급 엑세스
도서
2018 시나공 컴퓨터활용능력 1급 실기(엑셀, 액세스 2010 사용자용)
페이지
242
조회수
47
작성일
2018-10-04
작성자
탈퇴*원
첨부파일

문제2-2

서비스코드 가 표시되어 있지 않아 찾는 부분이요

답에선 서비스신청현황에서 서비스명을 찾잖아요

근데 서비스명 필드는

'서비스','신청자현황','서비스신청현황' 에 다 있잖아요

만약

1.

서비스를 선택한다면

dlookup("서비스명","서비스","[forms]![환자관리]!['''?

어떻게 되는건가요? 저 환자관리는 불변하는 값이죠?

2.

신청자현황을 선택한다면

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

ㅁㅁ자리에 수급자등급이나 수급자유형 성별 전화번호

이런것도 들어가도되는건가요?(신청자현황필드와 환자관리 필드에 동시에 다 있잖습니까?)

3.

해설처럼 서비스신청현황을 선택했을땐 공동으로 포함되는 필드에

환자코드밖에 해당이안되나요?

환자명도 해당되는거 맞죠?

성별과 전화번호로도 만들수있는건가요?

4.

혹시 여기서 공동포함된 필드를 찾을때

하위폼의 레코드원본인 [서비스현황]에서 찾는거에요?아니죠?

현재폼의 레코드 원본으로 지정된 개체란 상위폼 ((즉 환자관리)필드의 원본)에서 찾는거죠?

제가 공동포함필드를 찾을 때 혹시 하나하나씩 열어봐서 공통된걸 찾아야하나요?

5.

클릭시 바뀌는.

rs.cursorlocation=aduseclient

이 조건문의 위치는 어디있던 상관이 없나요?

제가 rs.activeconnection 행 아래에 썼는데 되는거같아서요

성의 있는 답변 부탁드립니다.

이정도면..포기가 빠를까 싶네요

다른 답변을 아무리봐도 이해를 못하겠어요..

다 다른 질문에도 똑같은 답변을 복사 붙여넣기 해놓으셔서..

이해할 방도가 없네요.ㅎ ....

잘 부탁드립니다..

답변
2018-10-05 21:24:13

안녕하세요.

1.
<서비스> 테이블에는 '서비스코드, 유형코드, 서비스명' 필드가 있습니다.

현재 폼의 레코드 원본인 <환자> 테이블의 필드 중 일치하는 필드가 없어 비교가 불가능합니다.
<환자> 테이블은 '환자코드, 환자명, 성별, 전화번호, 수급자등급, 수급자유형, 거주약도' 필드를 가지고 있습니다.

그래서 dlookup 함수의 테이블/쿼리명으로 사용하기 적당치 않습니다.

2.
<신청자현황> 테이블의 필드은 현재 폼의 레코드 원본인 <환자> 테이블의 필드 중 일치하는 필드인 '환자명'이 있으므로
dlookup 함수의 테이블/쿼리명으로 사용할 수는 있습니다.

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

하지만, 중복값이 없는 필드로 비교를 하는 것이 관계 데이터베이스에서는 더 정확한 값을 얻을 수 있습니다.
같은 환자명이 있는 경우, 정확한 데이터가 나오지 않을 가능성이 있습니다.

'수급자등급, 수급자유형' 필드로는 중복값으로 인해 정확한 답이 나오지 않습니다.

문제의 해설처럼 문제 풀이를 이해하시는 것이 좋을 것 같습니다.

3.
2번 설명처럼 중복값이 있을 때, 결과가 나오지 않을 수 있으므로 환자코드로 지정해 주시는 것이 좋습니다.
중복값이 있을 수 있는 필드는 지정하지 않아야 합니다.

4.
'환자관리' 폼의 레코드 원본인 <환자> 테이블과 필드명을 비교해야 합니다.
직접 확인해 주셔야 작성이 가능합니다.
테이블과 쿼리를 열어보거나, [데이터베이스 도구] 메뉴의 '관계'를 열어서 확인하실 수도 있습니다.

5.
rs.CursorLocation = adUseClient
rs.ActiveConnection = CurrentProject.Connection

현재 데이터베이스를 연결하는 것과, 현재 레코드의 위치를 클라이언트로 넘기는 순서는 바뀌어도 상관없습니다.

문제에서 제시한대로 정상작동 된다면 정답으로 인정된다고 보시면 됩니다.

좋은 하루 보내세요.

  • *
    2018-10-05 21:24:13

    안녕하세요.

    1.
    <서비스> 테이블에는 '서비스코드, 유형코드, 서비스명' 필드가 있습니다.

    현재 폼의 레코드 원본인 <환자> 테이블의 필드 중 일치하는 필드가 없어 비교가 불가능합니다.
    <환자> 테이블은 '환자코드, 환자명, 성별, 전화번호, 수급자등급, 수급자유형, 거주약도' 필드를 가지고 있습니다.

    그래서 dlookup 함수의 테이블/쿼리명으로 사용하기 적당치 않습니다.

    2.
    <신청자현황> 테이블의 필드은 현재 폼의 레코드 원본인 <환자> 테이블의 필드 중 일치하는 필드인 '환자명'이 있으므로
    dlookup 함수의 테이블/쿼리명으로 사용할 수는 있습니다.

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

    하지만, 중복값이 없는 필드로 비교를 하는 것이 관계 데이터베이스에서는 더 정확한 값을 얻을 수 있습니다.
    같은 환자명이 있는 경우, 정확한 데이터가 나오지 않을 가능성이 있습니다.

    '수급자등급, 수급자유형' 필드로는 중복값으로 인해 정확한 답이 나오지 않습니다.

    문제의 해설처럼 문제 풀이를 이해하시는 것이 좋을 것 같습니다.

    3.
    2번 설명처럼 중복값이 있을 때, 결과가 나오지 않을 수 있으므로 환자코드로 지정해 주시는 것이 좋습니다.
    중복값이 있을 수 있는 필드는 지정하지 않아야 합니다.

    4.
    '환자관리' 폼의 레코드 원본인 <환자> 테이블과 필드명을 비교해야 합니다.
    직접 확인해 주셔야 작성이 가능합니다.
    테이블과 쿼리를 열어보거나, [데이터베이스 도구] 메뉴의 '관계'를 열어서 확인하실 수도 있습니다.

    5.
    rs.CursorLocation = adUseClient
    rs.ActiveConnection = CurrentProject.Connection

    현재 데이터베이스를 연결하는 것과, 현재 레코드의 위치를 클라이언트로 넘기는 순서는 바뀌어도 상관없습니다.

    문제에서 제시한대로 정상작동 된다면 정답으로 인정된다고 보시면 됩니다.

    좋은 하루 보내세요.

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