본문 바로가기

자격증_컴퓨터활용능력시험 1급

[컴활 1급_실기]액세스_컨트롤에 입력하는 값에 연결된 다른 값 찾아오기_D함수

D함수들은 컨트롤에 입력하는 값에 연결된 다른 값을 찾아 출력해준다.

예를들면, 학생의 이름과 학번이 있는 명단(의예과 학생명단)이 있다면, 컨트롤에 학번을 입력하면 해당 학번을 가진 학생의 이름을 출력하는 것이다.

 

D함수 문법

함수명("필드", "테이블", "조건")

① 함수명

1. DCOUNT

: 조건에 맞는 자료의 개수

2. DLOOKUP

: 조건에 맞는 자료의 특정 필드값 추출

3. DSUM

: 조건에 맞는 자료의 합

4. DAVG

: 조건에 맞는 자료의 평균

5. DMAX

: 조건에 맞는 자료의 최대값

6. DMIN

: 조건에 맞는 자료의 최소값

 

② "필드"

: 계산해야 할 or 찾아야 할 필드

 

③ "테이블"

: ② "필드"가 있는 테이블

 

④ "조건"

: 어떤 조건을 만족하는 ② "필드"를 가져오면 될지!

: 보통 조건과 컨트롤명을 비교하는 경우가 많다. ex. "학번=txt학번"

: ★큰 따옴표 안에 컨트롤명을 넣어도 된다. 큰 따옴표 안에서 컨트롤명이 인식되지 않는 것은 프로시저라는 것 헷갈리지 말자!!!!

 

자, 그럼 다시 위의 상황으로 돌아가서!
의예과 학생 명단에서 1635027이라는 학번을 검색해서 해당 학번의 학생 이름을 찾는다고 가정해보자.
(학생이름과 학번은 "의예과 학생 명단"에 있고, 학번을 검색하는 컨트롤명은 "txt학번이다.)

DLOOKUP("이름", "의예과 학생 명단", "학번=txt학번")

※ 단, 콤보상자에서 값을 가져올 경우엔 조건 부분의 컨트롤에 대해 앰퍼센트 구분을 해야 한다.

 

솔직히 좀 어렵다. 하지만 몇 번 연습하다보면 금방 익숙해져서 기계적으로 슥슥 풀게 될 것이다.

 

 

※ 폼 화면 안에 없는 데이터와 일치하는 데이터를 출력하는 경우

진짜 까다로운 문제를 하나 찾았다. 폼 화면 안에 없는 데이터를 기준으로 다른 테이블에서 값을 끌어와서 폼으로 출력하는 문제이다.

이럴 경우, 

1. 폼의 원본 데이터를 확인한다.

원본 데이터를 확인하는 쿼리 창으로 넘어가면, 기준이 되는 데이터가 폼 화면 안에는 바운드 되어 있지 않지만, 원본 데이터로 활용되고 있을 것이다.

2. 필드명 = [Forms]![현재 폼 이름]![필드명] 

이렇게 폼 화면에는 바운드 되어 있지 않지만, 폼의 원본 데이터로 사용되는 필드를 끌어오기 위해서는 외부 폼의 경로 공식을 사용하면 된다.

 

(급 명언 투척)

실패가 없다는 건, 도전이 충분하지 않다는 것이다.