728x90
728x170
액세스 과목 시험 대비
영역별 점수
작업 유형 | 배점 | 출제 항목 | 배점 | 출제 형태 | 세부 출제 내역 |
|
DB 구축 : 테이블, 데이터 가져오기 |
30 | 테이블 완성 | 20 | 4점 x 5 | - 기본키 작성 - 유효성 검사 텍스트 - 기본값 지정 - 필드 크기 지정 - 형식 지정 - 필드 추가 · 제거 - 필수 입력 지정 - 데이터 형식 지정 |
- 유효성 검사 규칙 - 색인 설정 - 입력 마스크 설정 - 테이블 속성 - 입력 모드 설정 - 빈 문자열 허용 - 캡션 지정 |
데이터 생성 | 5 | 5점 x 1 | - 액셀 파일 연결하기 - HTML 파일 연결하기 - 텍스트 파일 가져오기 |
- 액셀 파일 가져오기 - 테이블 추가 쿼리 - 테이블에 엑셀 파일 추가하기 |
||
관계 | 5 | 5점 x 1 | - 관계 설정 - 업데이트 여부 설정 |
- 참조 무결성 여부 설정 - 모두 삭제 여부 설정 |
||
필드의 조회 속성 | 5 | 5점 x 1 | 콤보 상자 설정 - 행 원본 지정 - 목록 너비 지정 - 바운드 열 지정 - 목록값만 허용 여부 - 열 너비 지정 - 열 이름 지정 |
목록 상자 설정 - 행 원본 지정 - 목록 너비 지정 - 바운드 열 지정 - 열 너비 지정 - 열 이름 지정 |
||
4가지 출제 항목을 조합하여 4점 x 5문제, 5점 x 2문제 출제 | ||||||
입력 및 수정 : 폼 |
25 | 폼 완성 | 15 | 3점 x 5 | - 레코드 원본 지정 - 레코드 원본에 필드 추가 - 기본 보기 - 컨트롤 원본 지정 - 탭 순서 지정 - 탐색 단추 설정 - 텍스트 맞춤 설정 - 구분선 설정 - 화면 표시 여부 설정 - 추가/삭제 여부 설정 - 스타일 설정 - 최소화/최대화 설정 - 스크롤바 설정 - 잠금 여부 설정 - 레코드 선택기 설정 |
- 컨트롤 생성/이동 - 컨트롤 순서 변경 - 탭 정지 여부 지정 - 컨트롤 팁 텍스트 지정 - 배경색 설정 - 컨트롤 정렬 - 탭 정지 여부 지정 - 컨트롤 기본값 속성 지정 - 조건부 서식 - 소문자/대문자로 표시 - 팝업 설정 - 모달 설정 - 그림 삽입 - 정렬 기준 지정 - 컨트롤 형식 속성 지정 |
매크로 함수 | 5 | 5점 x 1 | - OpenForm - OpenReport - RunCommand |
- ShowAllRecords - MessageBox - CloseWindow |
||
콤보 상자 설정 | 5 | 5점 x 1 | - 행 원본 지정 - 열 너비 지정 |
- 목록값만 허용 여부 - 바운드 열 지정 |
||
하위 폼 추가하기 | 5 | 5점 x 1 | - 컨트롤 추가 - 사용할 테이블/쿼리 지정 |
- 연결할 필드 설정 - 하위 폼 속성 지정 |
||
4가지 출제 항목을 조합하여 3점 x 5문제, 5점 x 2문제 출제 | ||||||
조회 및 출력 : 보고서 출력 |
20 | 보고서 완성 | 15 | 3점 x 5 | - 정렬 및 그룹 지정 - 레코드 원본 지정 - 컨트롤 원본 지정 - 중복 내용 숨기기 - 컨트롤 속성 지정 - 테두리 스타일 지정 - 바운드 열 지정 - 누계 지정 |
- 반복 실행 구역 설정 - 용지 방향 지정 - 페이지 바꿈 지정 - 컨트롤 추가하기 - 조건부 서식 - 형식 지정 - 컨트롤 표시 속성 지정 |
이벤트 프로시저 | 5 | 5점 x 1 | - Me.RecordSource - DoCmd.OpenForm - DoCmd.OpenQuery - Me.Filter - Me.RecordsetClone.FindFirst - DoCmd.OpenReport - 폼 컨트롤의 값 표시하기 - MsgBox, Time, Month, Datevalue - ADO 개체 |
- DoCmd.GoToRecord - Unload Me - 새 래코드 추가 - iif, Switch - 학점 계산 - 근무 월 수 계산 - 직무 등급 계산 - 금액 계산 - MsgBox - Right - Mid - Mod |
||
처리 기능 : 쿼리 |
25 | 쿼리 | 4 | 4점 x 1 | - 일반 선택 쿼리 | |
21 | 7점 x 3 | - 크로스탭 쿼리 - 매개변수 쿼리 - 그룹 지정 쿼리 - 테이블 만들기 쿼리 - 불일치 검색 쿼리 - 삭제 쿼리 - 삽입 쿼리 - 업데이트 쿼리 - 중복 데이터 검색 쿼리 |
쿼리 작성 시 사용되는 속성 및 함수 - Distinct - Top - & 연산자 - Date - Datediff - Weekday - In 연산자 - IIF - Switch - IsNull - Mod - Choose - Dsum - Right - Left - Mid - Instr |
● 문제 풀이 순서
- DB 구축 (30)
- 테이블 완성 (20)
- 데이터 생성 (5)
- 관계 (5)
- 필드의 조회 속성 (5)
- 처리 기능 (25)
- 일반 선택 쿼리 (4)
- 기타 쿼리 (21)
- 입력 및 수정 (25)
- 폼 완성 (15)
- 매크로 함수 (5)
- 콤보 상자 설정 (5)
- 하위 폼 추가하기 (5)
- 조회 및 출력 (20)
- 보고서 완성 (15)
- 이벤트 프로시저 (5)
● DB 구축 : 유효성 검사 규칙
예제
- '주야구분' 필드에는 '주간' 또는 '야간'만 입력되도록 설정하시오.
- In ("주간", "야간")
- 이메일 필드에는 '@'가 반드시 들어가도록
- *@*
- 필드의 두 번째 자리엔 꼭 'a'가 들어가도록
- "?"a"*"
- '주문코드' 필드에는 0~10까지 숫자만 입력되도록
- Between 0 And 10
- '주문코드' 필드에는 공백이 입력되지 않도록
- InStr([주문필드], "") = 0
- 담당교수 필드에 "만"을 포함할 때
- InStr([담당교수], "만") >= 1
- '주민등록번호' 필드의 7번째 자리에 입력되는 '-' 이후에 반드시 7자리가 입력되도록
- Len([주민등록번호]) - InStr([주민등록번호], "") = 7
- '전화번호' 필드값에는 반드시 '-' 문자를 포함하도록
- *-*
- '생년월일' 필드에는 2018년 이후 출생자만 입력되도록 하고, 다른 값 입력시 "메시지" 표시
- 유효성 검사 규칙 : >= # 2018-1-1 #
- 유효성 텍스트 : 메시지
- '구매금액' 필드에는 "구매수량"과 "단가"를 곱한 값만 입력되도록
- 다른 필드를 끌고올 때는 식을 테이블 자체 속성에 입력
- [구매금액] = [구매수량] * [단가]
- 다른 필드를 끌고올 때는 식을 테이블 자체 속성에 입력
- '종료일자' 필드는 '시험일자' 필드보다 크거나 같은 날짜만이 입력 가능하도록
- 테이블 자체 속성에 입력
- [종료일자] >= [시험일자]
- '기대치' 필드는 평점 필드의 10% 이상의 값이 넣어지지 못하도록
- 기대치 필드의 속성이 아닌, 테이블 전체 속성에 입력
- [기대치] < [평점] * 1.1
- 0이 아닌 값 입력
- <> 0
- 0 또는 100 이상인 값 입력
- 0 Or >= 100
- 1부터 99까지의 숫자만 입력
- 1 >= And <= 99
- 반드시 'A-'로 시작하는 5개의 문자 입력
- Like "A-???"
- 'A', 'B', 'C' 중 에서 입력
- In ("A", "B", "C")
- '고객코드'는 반드시 6글자로 입력
- Len([고객코드]) = 6
- '전화번호' 필드 값에는 반드시 "-" 문자를 포함
- Like "*-*"
● DB 구축 : 입력 마스크
개념
더보기
입력 마스크 사용자 지정 형식
0000-0000 | ; | 0 | ; | x |
① | ② | ③ |
① 사용자 지정 기호를 사용하여 입력 마스크를 지정함.
② 데이터를 입력할 때 -, /, =와 같은 서식 문자의 테이블 저장 여부를 지정함.
- 0 : 입력 마스크 문자를 포함하여 저장
- 1 이나 공백 : 입력된 데이터만 저장
③ 데이터를 입력할 때, 데이터가 입력될 자리에 표시할 문자를 지정함.
입력 마스크 대치 문자
- 입력 마스크 : 데이터의 입력 형식을 정의하여 사용자가 오류 없이 정확하게 입력할 수 있도록 하는 속성
- 입력 마스크에서 사용되는 사용자 지정 기호
기호 | 설명 |
0 | 필수 요소 0에서 9까지의 숫자를 입력 덧셈과 뺄셈 기호 사용 불가 |
9 | 선택 요소 숫자나 공백 입력 덧셈과 뺄셈 기호 사용 불가 |
# | 선택 요소 숫자나 공백 입력 덧셈과 뺄셈 기호 사용 가능 |
L | 필수 요소 A에서 Z까지의 영문자와 한글 입력 |
? | 선택 요소 A에서 Z까지의 영문자와 한글 입력 |
A | 필수 요소 A에서 Z까지의 영문자나 숫자, 한글 입력 |
a | 선택 요소 A에서 Z까지의 영문자나 숫자, 한글 입력 |
& | 필수 요소 모든 문자나 공백 입력 가능 |
C | 선택 요소 모든 문자나 공백 입력 가능 |
. , : ; - / | 소수 자릿수와 1000 단위, 날짜, 시간 구분 기호로 입력 |
< | 모든 문자를 소문자로 변환 |
> | 모든 문자를 대문자로 변환 |
\ | 뒤에 나오는 문자를 그대로 표시함. 예) \A : A만 표시됨. |
예제
- '연락처' 필드에는 '123-4567' 형식으로 입력되도록 다음과 같이 필드 속성의 입력 마스크를 설정하시오.
- ▶ 앞의 3글자와 뒤의 4글자는 숫자로 입력받되, # 기호를 이용할 것
- ▶ 입력 시 데이터가 입력될 자리를 '#'으로 표시
###-####; ;# |
- '연락처' 필드에는 '703-4873' 형식으로 입력하도록 다음과 같이 입력 마스크를 설정하시오.
- ▶ 앞의 세 글자, 뒤의 네 글자는 숫자로 입력받되 반드시 입력되도록 설정
- ▶ '-'도 입력 데이터와 같이 저장되고, 입력 시 데이터 입력 자리에 '*'가 표시되도록 설정하시오.
000-0000;0;* |
- '전화번호' 필드에는 입력 시 '123-5678(서울)'과 같은 형식으로 입력되도록 입력 마스크를 다음과 같이 설정하시오.
- ▶ 7자리 숫자를 모두 입력받되 숫자를 반드시 입력받도록 할 것
000-0000"(서울)" |
- '주민번호' 필드는 다음과 같은 형식으로 입력되고 저장되도록 입력 마스크를 설정하시오.
- ▶ 표시 예 : 760516-2232529
000000\-0000000;0;_ |
※ \ : '\'자 뒤에 나오는 문자(-)를 그대로 표시하라는 의미
※ 0 : 데이터를 입력할 때 '-', '/', '=' 등과 같은 문자를 테이블에 저장할지의 여부 지정 (0 : 입력한 값과 함께 문자 저장, 1이나 생략 : 값만 저장)
※ _ : 값을 입력할 때 문자가 입력되어야 할 자리에 표시되는 문자
● DB 구축 : 형식
개념
더보기
'형식' 속성의 사용자 지정 기호
형식 | 기호 | 설명 |
숫자/통화 | .(마침표) | 소수 구분 기호 표시 |
,(쉼표) | 천 단위 구분 기호 표시 | |
0 | 숫자 한 자리를 표시하되, 값이 없을 경우 0 표시 | |
# | 숫자 한 자리를 표시하되, 값이 없을 경우 아무 것도 표시하지 않음. | |
$ | $를 표시 | |
% | 값에 100을 곱하고 % 기호를 추가 | |
E- 또는 e- | 지수 표기법으로 음의 지수 뒤에는 빼기 기호(-)를 붙이고, 양의 지수 뒤에는 아무 기호도 붙이지 않음. | |
E+ 또는 e+ | 지수 표기법으로서 음의 지수 뒤에는 빼기 기호(-)를, 양의 지수 뒤에는 더하기 기호(+)를 붙임. | |
날짜/시간 | d | - d : 필요에 따라 한 자리 또는 두 자리 숫자로, 1~31까지의 일을 표시 - dd : 01~31까지 두자리 숫자로 일을 표시 - ddd : sun~sat까지 요일의 처음 세 자리를 표시 - dddd : Sunday~Saturday까지 완전한 요일 이름 표시 - ddddd : 미리 정의된 간단한 날짜 형식으로 표시 - dddddd : 미리 정의된 자세한 날짜 형식으로 표시 |
w | - w : 일주일을 1~7로 나누어 몇 번째 요일인지를 표시 - ww : 1년을 1~53까지 나누어 몇 번째 주인지를 표시 |
|
m | - m : 필요에 따라 한 자리 또는 두 자리 숫자로 1~12까지의 월을 표시 - mm : 01~12까지 두 자리 숫자로 월을 표시 - mmm : Jan~Dec까지 월의 처음 세 자리를 표시 - mmmm : January에서 December까지 완전한 월 이름을 표시 |
|
a | - aaa : 요일을 '일'~'토'의 형태로 표시 - aaaa : 요일을 '일요일~토요일' 형태로 표시 |
|
q | 날짜를 1~4까지의 분기로 표시 (quarter) | |
y | - y : 1년 중의 일을 표시(1~366) - yy : 연도의 마지막 두 자리를 표시 - yyyy : 연도를 네 자리 숫자로 표시 |
|
h | - h : 한 자리 또는 두 자리 숫자로 0~23까지 시간을 표시 - hh : 두 자리 숫자로 00~23까지 시간을 표시 |
|
n | - n : 한 자리 또는 두 자리 숫자로 0~59까지의 분을 표시 - nn : 두 자리 숫자로 00~59까지 분을 표시 |
|
s | - s : 한 자리 또는 두 자리 숫자로 0~59까지 초를 표시 - ss : 두 자리 숫자로 00~59까지 초를 표시 |
|
AM/PM | - AM/PM : 대문자 AM이나 PM을 포함한 12시간제로 표시 - am/pm : 소문자 am이나 pm을 포함한 12시간제로 표시 - A/P : 대문자 A나 P를 포함한 12시간제로 표시 - a/p : 소문자 a나 p를 포함한 12시간제로 표시 |
|
텍스트/메모 형식 |
@ | 문자 데이터의 표시 위치 지정 |
* | * 기호 다음에 있는 특정 문자를 표시할 수 있는 너비만큼 반복하여 채움. |
예제
- '출발일자' 필드의 데이터 형식을 날짜/시간 형식으로 변경하고, '11, Sun' 형식으로 표시하도록 설정하시오. (표시 예 : 2020-06-03 → 06, Wed)
- 형식 : mm, ddd
- 입력할 경우, 자동으로 mm", "ddd 로 바뀜.
- 형식 : mm, ddd
- 새로운 레코드가 추가되는 경우 '탑승횟수' 필드에는 기본적으로 1이 입력되고, 왼쪽으로 정렬되어 표시되도록 설정하시오.
- 기본값 : 1
- 형식 : !
- '회원등급' 다음에 '비고' 필드를 추가한 후, 텍스트가 255자리까지만 입력되도록 데이터 형식을 설정하시오.
- 데이터 형식 : 짧은 텍스트
● DB 구축 : 데이터 형식
예제
- '약도이미지' 필드를 '연락처' 필드의 뒤에 추가하고, 이미지를 삽입할 수 있도록 데이터 형식을 설정하시오.
- 데이터 형식 : OLE 개체
● DB 구축 : 관계
예제
- <하행열차판매> 테이블의 '구간'은 <고속열차> 테이블의 '구간'을 참조하며 두 테이블 간의 관계는 M:1 이다. 두 테이블에 관해 다음과 같은 관계를 설정하시오.
- ▶ 관계 설정 시 필요한 기본키를 설정하시오.
- <고속열차> 테이블의 '구간' 필드를 기본키로 설정한다.
- 참조 받는 테이블의 필드를 기본키로 설정한다.
- <하행열차판매> '구간' 필드 → <고속열차> '구간' 필드
- 참조 받는 테이블의 필드를 기본키로 설정한다.
- <고속열차> 테이블의 '구간' 필드를 기본키로 설정한다.
- ▶ 관계 설정 시 필요한 기본키를 설정하시오.
- <사원정보> 테이블의 '부서코드'는 <부서> 테이블의 '부서코드'를 참조하며 두 테이블 간의 관계는 M:1이다. 두 테이블에 대해 다음과 같은 관계를 설정하시오.
- ▶ 두 테이블 간에 관계를 설정하면 다음과 같은 오류가 발생한다. 삭제 쿼리를 작성하여 이를 해결한 후 항상 참조 무결성을 유지하도록 설정하시오. 삭제 쿼리의 이름은 '삭제'로 지정하시오.
- <부서> 테이블의 '부서코드' 필드가 변경되면 이를 참조하는 <사원정보> 테이블의 '부서코드' 필드도 따라 변경되도록 설정하시오.
- ▶ 두 테이블 간에 관계를 설정하면 다음과 같은 오류가 발생한다. 삭제 쿼리를 작성하여 이를 해결한 후 항상 참조 무결성을 유지하도록 설정하시오. 삭제 쿼리의 이름은 '삭제'로 지정하시오.
<부서> 테이블 | <사원정보> 테이블 |
● 입력 및 수정 : 폼 완성
예제
- 폼의 크기를 조정할 수 없도록 <그림>과 같이 설정하시오.
- 폼의 크기를 조정할 수 없도록 설정하기
- 폼 속성 [형식] 탭의 "테두리 스타일"
- 가늘게 : 최소화, 최대화 단추가 표시되어 있을 경우
- 대화상자 : 최소화, 최대화 단추가 표시되어 있지 않을 경우
- 폼 속성 [형식] 탭의 "테두리 스타일"
- 폼의 크기를 조정할 수 없도록 설정하기
- 폼 바닥글의 'txt최대점수' 컨트롤에 '직위'가 "사원"인 사원 중 '승진시험점수'가 가장 높은 점수를 표시하시오.
- "컨트롤 원본" : =DMax("승진시험점수","사원정보","직위='사원'")
- "사원정보" : 폼 속성의 [데이터] 탭에서 "레코드 원본" 속성을 통해 확인할 수 있음.
- "컨트롤 원본" : =DMax("승진시험점수","사원정보","직위='사원'")
- 폼의 홀수와 짝수 행에 다른 배경색이 표시되도록 관련 속성을 설정하시오. (▶ 다른 배경색 : Access 테마 3)
- "다른 배경색" : Access 테마 3
- "본문" 속성 시트 창의 [형식] 탭에서 "다른 배경색" 속성을 변경하면 됨.
- "다른 배경색" : Access 테마 3
- 본문의 배경색을 "#FEE4BA"로 설정하고, 본문 영역이 항상 표시되도록 설정하시오.
- <본문>
- "배경색" : #FEE4BA
- "표시 시기" : 항상
- <본문>
- <소속지점별판매현황> 폼의 하위 폼으로 추가된 <판매내역> 폼이 위 그림과 같이 표시되도록 설정하시오.
- ▶ 기본 폼의 '소속지점코드'에 해당하는 자세한 판매내역이 하위 폼에 표시되도록 설정하시오.
- <판매내역> 폼
- "기본 필드 연결" : 소속지점코드
- "하위 필드 연결" : 소속지점코드
- <판매내역> 폼
- ▶ 기본 폼의 '소속지점코드'에 해당하는 자세한 판매내역이 하위 폼에 표시되도록 설정하시오.
- 본문의 'txt주문수량합'에 '주문수량'의 합계를 표시하되 합계가 0인 경우 0이 표시되도록 설정하시오.
- <txt주문수량합>
- "컨트롤 원본" : =Sum([주문수량])
- "형식" : 0
- <txt주문수량합>
- 폼 바닥글의 'txt날짜와시간'에 현재 날짜와 시간이 [표시 예]와 같이 표시되도록 설정하시오.
- ▶ 표시 예 : 2020년 6월 5일 14시 01분 52초 → 2020-06-05 오후 2:01:52
- <txt날짜와시간>
- "컨트롤 원본" : = Now()
- "형식" : 기본 날짜
- <txt날짜와시간>
- ▶ 표시 예 : 2020년 6월 5일 14시 01분 52초 → 2020-06-05 오후 2:01:52
● 입력 및 수정 : 매크로 함수
예제
- MessageBox : 메시지 박스에 함수의 결과를 포함한 문장 출력하기
- ="현재 시간은 " & Date() & " 입니다."
- 등호(=)를 먼저 입력한 후, 문장은 큰따옴표("") 안에, 입력해준다.
- 메시지 박스에 함수의 결과를 포함하지 않아도 될 경우에는, 등호 없이 문자만 입력한다. (예: 현재 시간은 7시 입니다.)
- & 를 사용하여 문장과 문장 또는 문장과 함수를 연결한다.
- 등호(=)를 먼저 입력한 후, 문장은 큰따옴표("") 안에, 입력해준다.
- ="현재 시간은 " & Date() & " 입니다."
- <판매내역입력> 폼의 '판매내역입력'(cmd판매내역) 단추를 클릭하면 <업무현황조회> 폼을 '폼 보기' 형식으로 여는 <입력작업> 매크로를 생성하여 지정하시오.
- ▶ 폼이 열리면 데이터를 추가할 수 있도록 레코드 선택기의 위치를 이동시키시오.
- <업무현황> 테이블을 액셀 파일(*.xlsx)로 변환하는 <액셀변환> 매크로를 생성하시오.
- ▶ 변환된 파일 이름은 '업무현황'으로 하시오.
- <종목별등록내역> 폼의 폼 머리글을 더블클릭하면 다음과 같은 긴으을 수행하는 <오름정렬> 매크로를 생성한 후 지정하시오.
- ▶ 모든 레코드를 표시하고, SortAscending을 이용해 오름차순으로 정렬하시오.
● 입력 및 수정 : 하위 폼 추가하기
예제
- 1번 그림을 참조하여 <주문조회> 폼에 <주문내역2> 폼을 하위 폼으로 추가하시오.
- ▶ '하위 폼'의 연결 기준은 각 'cmb제품코드'와 '제품코드'로 할 것
- ▶ '하위 폼/하위 보고서' 컨트롤의 이름은 'child주문내역2'로 할 것
[기본 필드 연결] : 제품코드 -> cmb제품코드 (변경) |
● 조회 및 출력 : 보고서 완성
예제
- 다음과 같이 정렬 및 그룹화를 설정하시오.
- ▶ '출발일자'의 연도와 월을 이용하여 오름차순 정렬
- ▶ '출발일자'의 연도와 월에 대해 그룹 머리글 설정
'그룹, 정렬 및 요약' 창에서 '그룹 추가'를 클릭한 후, [식] 클릭
'식 작성기'에 =YEAR([출발일자]) & MONTH([출발일자]) 를 입력한 후 <확인> 클릭
- 페이지 바닥글의 'txt날짜' 컨트롤에는 날짜만을 표시하는 함수와 Format()를 이용하여 [표시 예]와 같이 표시하시오.
- ▶ 2020-Jun-03 수요일
- ① '고객명'과 '상품이름'을 기준으로 오름차순 정렬하시오.
'고객명'을 기준으로 먼저 오름차순 정렬 후, '상품이름'을 기준으로 오름차순 정렬한다.
- 보고서 머리글의 'txt고객코드'에는 <판매> 폼의 'lst고객목록'에서 선택한 고객의 '고객코드'가 표시되도록 설정하시오.
- ▶ <판매> 폼이 열려있고, 'lst고객목록'에서 '고객코드'가 선택되어 있다고 가정할 것
※ <판매> 폼을 열고, 'lst고객목록' 컨트롤에서 특정 값을 선택한 후 보고서를 실행해야 'txt고객코드'에 정상적인 값이 표시된다.
● 조회 및 출력 : 이벤트 프로시저
예제
- <열차표판매현황> 폼의 '할인금액계산'(cmd할인금액계산) 단추를 클릭하면 다음과 같은 기능을 차례대로 수행하는 이벤트 프로시저를 구현하시오.
- ▶ DoCmd 개체의 메서드를 이용하여 <할인금액계산> 쿼리를 실행하도록 하시오.
- ▶ 현재 폼의 Recalc 메서드를 실행하시오.
Private Sub cmd할인금액계산_Click()
DoCmd.OpenQuery "할인금액계산"
Me.Recalc
End Sub
- <사원별판매현황> 폼의 'txt성명' 컨트롤에 '이름'을 입력하고 '조회(cmd조회)' 단추를 클릭하면 입력된 '이름'에 해당하는 레코드를 찾아 보여주는 기능을 수행하도로 이벤트 프로시저를 구현하시오.
- ▶ 조건에 맞는 레코드가 여러 개 있을 경우 첫 번째로 일치하는 레코드를 찾을 수 있도로 하시오.
- ▶ 현재 폼의 RecordSetClone 속성과 Bookmark 속성, FindFirst 메서드를 이용
Private Sub cmd조회_Click()
Me.RecordSetClone.FindFirst "이름 = '" & txt성명 & "'"
Me.Bookmark = Me.RecordSetClone.Bookmark
End Sub
- <사원별판매현황> 폼의 '인쇄(cmd인쇄)' 단추를 클릭하면 <우수사원현황> 보고서를 '인쇄 미리 보기' 형식으로 여는 이벤트 프로시저를 구현하시오.
- ▶ <우수사원현황> 보고서를 열기 전에 현재 폼을 닫으시오.
- ▶ DoCmd 개체의 메소드 사용
Private Sub cmd인쇄_Click()
DoCmd.Close // 현재 폼 닫기
DoCmd.OpenReport "우수사원현황", acViewPreivew // 보고서 열기 (인쇄 미리보기 형식)
End Sub
- <운항고객관리> 폼의 '삭제(cmd삭제)' 단추를 클릭하면 다음과 같은 기능을 수행하도록 이벤트 프로시저를 구현하시오.
- ▶ <보험사현황> 테이블에서 '보험사'가 'cmb보험사' 컨트롤의 값과 동일한 레코드를 삭제하시오.
- ▶ Requery 메서드를 호출하여 폼의 데이터를 다시 불러오고, '보험사업데이트' 프로시저를 실행하시오.
Private Sub cmd삭제_Click()
DoCmd.RunSQL = "DELETE * FROM 보험사현황 WHERE 보험사 = cmb보험사"
DoCmd.Requery // 폼의 데이터 다시 불러오기
Call 보험사업데이트 // '보험사업데이트' 프로시저 실행하기
End Sub
- <소매점관리> 폼의 '삭제(cmd삭제)' 단추를 클릭하면 다음과 같은 기능을 수행하도록 이벤트 프로시저를 구현하시오.
- ▶ <소매점2> 테이블에서 'cmb소매점코드'에 해당하는 레코드를 찾아 삭제하시오.
- ▶ Ado 개체를 이용하시오.
Private Sub cmd삭제_Click()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.ActiveConnection = CurrentProject.Connection
rs.CursorType = AdOpenDynamic
rs.LockType = adLockOptimistic
rs.Open "SELECT * FROM 소매점2 WHERE 소매점코드 = '" & cmb소매점코드 & "'"
rs.Delete
rs.Close
End Sub
- <판매> 폼의 '삭제(cmd삭제)' 단추를 클릭할 때 다음과 같은 기능을 수행하도록 이벤트 프로시저를 구현하시오.
- ▶ <상품_2> 테이블에서 '상품이름' 필드의 값이 'cmb상품이름' 컨트롤에서 선택한 값과 동일한 레코드를 삭제하시오.
- ▶ 삭제를 수행한 후 현재 'cmb상품이름'에 선택된 값을 지우시오.
- ▶ 'cmb상품이름'의 행 원본을 참조하여 'cmb상품이름'에 표시되는 데이터를 갱신하시오.
Private Sub cmd삭제_Click()
DoCmd.RunSQL = "DELETE * FROM 상품_2 WHERE 상품이름 = cmb상품이름"
cmb상품이름 = ""
cmb상품이름.RowSource = "SELECT 상품_2.상품이름 FROM 상품_2 ORDER BY 상품_2.상품이름;"
End Sub
- <주문내역1> 폼에서 폼 바닥글의 'cmb제품'과 'cmb대리점' 컨트롤에서 '제품'과 '대리점코드'를 각각 선택하고, '찾기(cmd찾기)' 단추를 클릭하면 선택한 '제품'과 '대리점코드'에 해당되는 레코드로 옮겨가서 정보를 보여주는 기능을 수행하는 이벤트 프로시저를 구현하시오.
- ▶ 현재 폼의 RecordSetClone 속성과 Bookmark 속성, FindFirst 메서드 등을 이용
Private Sub cmd찾기_Click()
Me.RecordsetClone.FindFirst "제품 = '" & cmb제품 & "' And 대리점코드 = '" & cmb대리점 & "'"
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
- <학생등록> 폼에서 '이름정렬(cmd정렬)' 단추를 클릭하면 다음과 같은 기능을 수행하도록 이벤트 프로시저를 구현하시오.
- ▶ '이름'을 기준으로 오름차순 정렬할 것
- ▶ 폼의 OrderBy 및 OrderByOn 속성을 이용할 것
Private Sub cmd정렬_Click()
Me.OrderBy = "이름 ASC" // "항목이름 정렬방법(ASC/DESC)"
Me.OrderByOn = True
End Sub
- <회원정보> 폼의 '수정' 버튼(cmd수정)을 클릭하면 다음과 같은 기능을 수행하도록 이벤트 프로시저를 구현하시오.
- ▶ <회원1> 테이블에서 'cmb회원번호'에 선택된 '회원번호'를 가진 회원의 정보를 'txt성명', 'txt전화번호', 'txt주소', 'txt회원등급'의 데이터로 수정할 것
- ▶ Requery를 이용하여 폼의 데이터를 다시 불러올 것
Private Sub cmd수정_Click()
DoCmd.RunSQL "UPDATE 회원1 SET 성명 = txt성명, 전화번호 = txt전화번호, 주소 = txt주소, 회원등급 = txt회원등급 WHERE 회원번호 = cmd회원번호"
DoCmd.Requery
End Sub
- <수강신청내역> 폼의 '수정(cmd수정)' 단추를 클릭하면 다음과 같은 기능을 차례대로 수행하는 이벤트 프로시저를 구현하시오.
- ▶ DoCmd 개체의 메서드를 이용하여 <1000원증가> 쿼리를 실행하도록 하시오.
- ▶ 현재 폼의 Recalc 매서드를 실행하시오.
Private Sub cmd수정_Click()
DoCmd.OpenQuery "1000원증가"
Me.Recalc
End Sub
- <주문정보조회> 폼의 'txt조회일' 컨트롤에 조회할 주문일을 입력하고, '조회(cmd조회)' 버튼을 클릭하면 다음과 같은 기능이 수행되도록 이벤트 프로시저로 구현하시오.
- ▶ 'txt조회일' 컨트롤에 입력한 주문일에 대한 자료만 표시할 것
- ▶ Filter와 FilterOn 속성을 이용할 것
Private Sub cmd조회_Click()
Me.Filter = "주문일 = #" & txt조회일 & "#" // 날짜를 입력 받을 경우에는 작은 따옴표(')가 아닌 #으로 대상을 감싼다.
Me.FilterOn = True
End Sub
● 처리 기능 : 크로스탭 쿼리
예제
- 부서명별 입사년도별로 '승진시험점수'의 최대값을 조회하는 <부서-입사년도별실적> 크로스탭 쿼리를 작성하시오.
- ▶ <사원관리> 쿼리를 이용하시오.
- ▶ 입사년도는 '입사일자' 필드를 이용하고, "년도"를 & 연산자로 연결하여 표시하시오.
- ▶ 쿼리 실행 결과 표시되는 필드와 필드명은 <그림>과 같이 표시되도록 설정하시오.
1개의 쿼리를 이용하여 크로스탭 쿼리를 만드는 문제이므로, "쿼리 마법사"를 이용한다.
- 상품이름별 주소별로 '주문수량'의 합계를 조회하는 <주문수량조회> 크로스탭 쿼리를 작성하시오.
- ▶ <고객>, <판매현황>, <상품> 테이블을 이용하시오.
- ▶ '주소' 필드 중 '서울', '인천', '경기'만 표시하시오.
- ▶ 쿼리 실행 결과 표시되는 필드와 필드명은 <그림>과 같이 표시되도록 설정하시오.
설정 | <주소> 필드의 속성 시트 |
● 처리 기능 : 매개변수 쿼리
예제
- <열차표종합> 쿼리를 이용하여 A 구간의 열차를 이용하는 고객의 정보를 조회하는 <A구간고객정보> 쿼리를 작성하시오.
- ▶ '좌석수'를 기준으로 내림차순 정렬하여 표시하시오.
- ▶ '좌석수'가 많은 순으로 상위 25%만 표시하시오.
- <열차표종합> 쿼리를 이용하여 '고객이름'의 일부를 매개 변수로 받아 해당 고객의 열차표 정보를 조회하는 <고객열차조회> 매개 변수 쿼리를 작성하시오.
- ▶ '출발일자' 필드를 기준으로 오름차순 정렬하여 표시하시오.
● 처리 기능 : 불일치 검색 쿼리
예제
- <상품> 테이블에는 존재하지만 <판매현황> 테이블에는 없는 상품의 정보를 조회하는 <판매되지않은상품> 쿼리를 작성하시오.
- ▶<판매현황> 테이블에 없는 '상품코드'는 판매되지 않은 것으로 가정하시오.
- ▶ NOT IN 예약어를 사용하여 SQL 명령으로 작성하시오.
- ▶ 쿼리 실행 결과 표시되는 필드와 필드명은 <그림>과 같이 표시되도록 설정하시오.
- 다음과 같은 기능을 수행하는 <미등록회원> 쿼리를 작성하고 저장하시오.
- ▶ 전체 회원에 대해 현재 등록되지 않은 회원 조회
- ▶ 결과의 필드명은 '회원정보'와 '성명', '전화번호'로 표시
- ▶ <회원>과 <수강내역> 테이블 이용
● 처리 기능 : 기타 쿼리
예제
- <관심소매점>과 <제품별판매현황> 테이블을 이용하여 소매점별 총 반품수를 표시하는 <소매점별반품현황> 쿼리를 작성하시오.
- ▶ 반품이 없는 소매점까지 표시하시오.
- ▶ 총 반품수가 많은 순으로 정렬하여 표시하시오.
조인 속성 설정 | |
- <판매현황>과 <상품> 테이블을 이용하여 '상품이름'별 '판매단가', '매출수수료', '할인액'을 조회하는 <할인액> 쿼리를 작성하시오.
- ▶ '할인액'은 '주문수량'이 30 이상이면 '판매단가'의 2%로, 그렇지 않으면 '판매단가'의 1%로 계산하시오. (IIf 함수 사용)
- ▶ 동일한 레코드는 한 번만 표시되도록 설정하시오.
- '제품코드' 필드의 NULL 값을 "차-100"으로 업데이트하고, 업데이트 쿼리의 이름은 '변경'으로 지정하시오.
- <판매종합> 쿼리를 이용하여 대리점명별 '주문수'와 '주문금액'의 평균을 조회하는 <대리점명별요약> 쿼리를 작성하시오.
- ▶ '주문일자'가 10일 이전인 주문만 표시하시오. (Day 함수 사용)
- ▶ '평균주문수'와 '평균주문금액'은 정수로 표시하시오. (Int, Avg 함수 사용)
728x90
그리드형(광고전용)
'Certificate > CSSD' 카테고리의 다른 글
[컴퓨터활용능력 1급 실기] 상시 시험 문제 복원 (0) | 2022.01.08 |
---|---|
[컴퓨터활용능력 1급 실기] '1004' 런타임 오류 (매크로, 데이터 통합) (0) | 2021.12.25 |
[컴퓨터활용능력 1급 실기] 액셀/스프레드시트 과목 시험 대비 (0) | 2021.12.17 |
[컴퓨터활용능력 1급 실기] 프로시저 작성 문제 정리 (액셀/스프레드시트) (0) | 2021.12.02 |
[컴퓨터활용능력 1급 실기] 계산 작업 문제 정리 (액셀/스프레드시트) (2) | 2021.11.30 |
[컴퓨터활용능력 1급 실기] 처리 기능 (액세스) (0) | 2021.11.27 |
[컴퓨터활용능력 1급 실기] 쿼리(Query) (액세스) (0) | 2021.11.25 |
[컴퓨터활용능력 1급 실기] 조회 (액세스) (2) | 2021.11.25 |