[ 컴퓨터 활용능력 게시글 타래 ]
1. 컴퓨터 활용 능력 1급, 2급 알아보기 : 컴퓨터 활용 능력 1급, 2급 알아보기
2. 컴활 1급 준비 전 필독 : 컴활 1급 준비 꿀팁 ! 접수/필기/액셀/액세스
3. 컴퓨터 활용 능력 1급 필기 공부법과 후기 : 컴활 1급 필기 빠르게 합격하기! / 직장 병행 후기
4. 컴퓨터 활용 능력 1급 실기 공부법과 후기 : 컴활 1급 실기 빠르게 합격하기! / 직장 병행 후기
5. (실기) 스프레드시트 (엑셀) 요약 : 엑셀(스프레드시트) 실기_총 정리/엑셀 단축키 요약
6. (실기) 스프레드시트 (엑셀) 실전 요약 : 엑셀(스프레드시트) 실기_기출 분석/실전 전략 요약
7. (실기) 데이터베이스 (엑세스) 요약 : 1급 엑세스(데이터베이스)실기_총 정리/엑세스 단축키 요약
8. (실기) 데이터베이스 (엑세스) 실전 요약 : 본 게시글
9. 컴퓨터 활용 능력 응시 전 필수 체크리스트 (자료 공유) : 시험 전 체크 리스트 - 컴퓨터 활용 능력 1급/2급
엑세스(데이터베이스)실기_총 정리/엑세스 단축키 요약에서 엑세스 실기의 전체적인 이론과 숙지하면 좋을 단축키를 정리하였는데요,
이제 본격적으로 실제 기출 문제 풀이에 있어 알아야 할 실전 전략들을 정리해 봅니다.
- 실전 전략
앞서 실기 빠르게 합격하기! / 직장 병행 후기 [실기 합격 후기] 에서 정리했었죠? 실전 준비에 앞서 다시 한번 정리해 봅니다.
실기 시험에서의 배점과 목표 점수는 아래와 같습니다.
데이터베이스 | 번호 | 배점 [점] | 목표 점수 | |
DB구축 30점 |
1 | 테이블 완성 | 20 | 25점 이상 |
2 | 조회 속성 설정, 관계 설정, 외부 데이터 가져오기 등 | 5 | ||
3 | 5 | |||
입력 및 수정기능 구현 25점 |
1 | 폼 완성 | 15 | 17점 |
2 | 콤보 상자, 조건부 서식, 컨트롤(단추) 생성, 이벤트 프로시저 및 매크로 작성 | 5 | ||
3 | 5 | |||
조회 및 출력 기능 구현 20점 |
1 | 보고서 완성 | 15 | 15점 |
2 | 이벤트 프로시저 및 매크로 작성 | 5 | ||
처리 기능 구현 25점 |
1 | 쿼리 작성 | 4 | 18점 |
2 | 쿼리 작성, 이벤트 프로시저 및 매크로 작성 | 7 | ||
3 | 7 | |||
4 | 7 | |||
합계 // 합격 점수 : 스프레드시트, 데이터베이스 평균 70점 | 100점 | 75점 |
전략은, 상대적으로 사람들에게 익숙한 엑셀에서 최대한 점수를 확보하고 데이터베이스는 최소 커트 라인을 넘기는 것입니다.
DB구축 최대한 만점 / 입력 및 수정기능 구현 에서 이벤트 프로시저 외에 최대한 맞추기 / 조회 및 출력 기능 구현 에서 이벤트 프로시저 외에 최대한 맞추기 / 처리 기능 구현 에서 쿼리 최대한 맞추기 를 해야 합격 안정권입니다.
엑세스는 엑셀보다 자잘한 실수가 많기 쉬우므로 반드시 시험 마지막 10분 정도는 남기는 연습을 해서 검토하는 버릇을 들여야 합니다.
추가적으로 컴활 실기 시험장에서 확인할 세팅 옵션을 정리하겠습니다.
- 매크로 실행 확인 : [파일] > [옵션] > [보안센터]-[보안센터 설정]-[매크로 설정]-'모든 매크로 포함' 체크
이 전략을 마음에 두었다면, 이제 기출문제 풀이와 실전에서 꼭 숙지해야 할 꿀팁들을 정리해 보겠습니다.
- 영역 별 실기 분석
* (알고가기) 이벤트 프로시저에서 조건식 작성 순서
1. 필드의 데이터 형식을 파악 : <폼>의 레코드 원본이 무슨 <테이블>인지, 해당 <테이블>의 [필드]의 데이터 형식이 무엇인지.
- 기본 형식 : 필드=컨트롤
예) 거래처명 = cmd거래처찾기
2. 작은 따옴표로 숫자와 컨트롤을 구분 : 데이터 형식에 텍스트이면 ' '으로 구분해 준다.
예) 거래처명 = 'cmd거래처찾기'
3. 큰 따옴표로 컨트롤을 구분 : 컨트롤을 제외한 나머지를 큰 따옴표로 묶어서 구분한다.
예) " 거래처명=' " cmd거래처찾기 " ' "
4. 엠퍼샌드(&) 로 컨트롤과 나머지 부분을 연결
예) " 거래처명=' " & cmd거래처찾기 & " ' "
(예시)
1. Me.Filter = 필드 like *Txt필드*
2. Me.Filter = 필드 like ' *Txt필드* '
3. Me.Filter = "필드 like ' * " Txt필드 " * ' "
4. Me.Filter = "필드 like ' * " & Txt필드 & " * ' "
[DB구축]
1) 테이블 완성
- 입력 마스크 : 마스크 문자열 정의;저장여부(0은 데이터와 함께, 1은 데이터만);자리 표시자
- 123-456-7890 의 형식 : 000\-00\-0000\;0
- 암호 형식으로 보이게 하기 : Password
[모든 문자]
\ : \ 다음에 오는 문자가 그대로 표시
C : 선택 요소, 모든 문자, 공백
& : 필수 요소, 모든 문자, 공백
[대소문자]
> : 이후 모두 대문자로 변환
< : 이후 모두 소문자로 변환
[숫자]
0 : 필수 요소, 숫자
9 : 선택 요소, 숫자, 공백
# : 선택 요소, 숫자, 공백, 덧셈기호, 뺄셈기호
[문자]
L : 필수 요소, 문자
? : 선택 요소, 문자
A : 필수 요소, 영문대문자, 숫자
a : 선택 요소, 문자, 숫자
- 기본값 : 새로운 레코드가 추가될 때 "text" 값이 자동으로 입력되도록 함
- 유효성 검사 규칙
- n글자로만 제한하기 : Len([필드]=n
- 숫자 값의 조건을 0 이상으로 제한하기 : >=0
- "A","B","C" 까지만 구성되게 하기 : In("A","B","C")
- 1 이상 1000 이하로 제한하기 : Between 1 And 1000
>=1 And <=1000 - 이름에 공백 허용하지 않기 : Not Like "* *"
이메일의 경우 : InStr([전자우편]," ")=0 And Like "*@*"
- 테이블 추가 : 추가 쿼리로 기존 테이블에 존재하지 않는 레코드 추가하기
- [만들기]-[쿼리], 추가할 데이터가 들어 있는 테이블 선택
- 필드를 구성한 후,빈 공간 우클릭 > [쿼리유형]-[추가 쿼리], 데이터가 추가될 테이블 선택
- 기준이 되는 필드 조건 : Not In (Select 필드 From 추가될테이블)
- 레코드에 조건이 있을 때 : Not In (Select 필드 from 추가될테이블 where 조건)
- 기본키 설정
- 오류창 : "인덱스, 기본 키 또는 관계에서 중복된 값을 만들었기 때문에 테이블에 요청된 변경 사항이 적용되지 않았습니다. ~"
- 이 경우 문제에서 어떻게 중복된 값을 없앨지 힌트를 준다.
쿼리로 중복 값을 검색하여 데이터를 고치는 방법은 아래와 같다.- [만들기]-[쿼리]-[쿼리 마법사] : 중복 데이터 검색 쿼리 마법사
- 중복 값과 필드를 따로 표시할 필요는 없으므로 필드는 따로 선택하지 않는다.
- 쿼리를 실행하면 중복값이 확인되고, 해당 데이터를 테이블에 들어가 직접 고친다.
- 오류가 사라지면 기본키를 설정한다.
- [만들기]-[쿼리]-[쿼리 마법사] : 중복 데이터 검색 쿼리 마법사
- 이 경우 문제에서 어떻게 중복된 값을 없앨지 힌트를 준다.
- 오류창 : "인덱스, 기본 키 또는 관계에서 중복된 값을 만들었기 때문에 테이블에 요청된 변경 사항이 적용되지 않았습니다. ~"
- IME 모드 : 입력되는 문자의 상태 지정
- 영문자 전자 : 글자 간격이 넓은 영문 입력
- 영문자 반자 : 일반적인 영문 입력
2) 조회 속성 설정
- 컨트롤 표시 바꾸기 : 디자인보기-[조회] 에서 변경 가능하다.
- 콤보상자에서 동일한 값이 중복되지 않고 한 번만 나타나게 설정하기
- 콤보상자 만들기 : 컨트롤 우클릭 > 변경 > 콤보 상자
- 필드 속성에서 '행 원본' 작성기를 클릭해 목록으로 나타나게 할 필드를 추가한다.
- 중복되지 않게 한 번만 설정하기
- 방법 1 : [쿼리 속성]에서 '고유 값' 속성을 '예' 로 지정한다.
- 방법 2 : [요약] 에서 '묶는 방법' 을 추가한다.
- 목록상자
- 바운드 열 : 필드에 저장되는 열(상자 열었을 때 보이는 열 중에서 몇 번째 열을 보일건지).
- 무조건 1로 지정해 놓고, 상자가 가지고 있어야 하는 값을 첫 번째 필드로 만들기.
- 바운드 열 : 필드에 저장되는 열(상자 열었을 때 보이는 열 중에서 몇 번째 열을 보일건지).
- 콤보상자에서 동일한 값이 중복되지 않고 한 번만 나타나게 설정하기
- 행 원본 설정하기 : 작성기 를 누르고, 테이블을 선택한다.
- 전체 데이터를 추가할 때는 테이블 아래에서 * 을 선택해 필드에 드래그한다.
- 쿼리 작성기를 닫으면 SQL문이 작성되어 들어가 있다.
- 명령 단추 만들기 : [폼 디자인 도구]-[디자인]-[컨트롤]-[단추]
- 명령 단추 마법사 대화상자에서 각 종류와 매크로 함수 지정
3) 관계 설정
- "기본 테이블의 참조 필드에 고유 인덱스가 없습니다" : 관계를 설정할 테이블의 기본 키가 없기 때문으로, 기본 키를 설정한 후 다시 관계를 성립한다.
4) 외부 데이터 가져오기
[입력 및 수정기능 구현]
1) 폼 완성
- 속성 시트 단축키 : Alt + Enter
- 캡션 속성은 해당 컨트롤의 제목이고, 이름 속성이 실제 개체의 식별자 역할을 함
- 기본폼과 하위폼 연결 : 하위폼 개체를 선택한 후, [속성 시트]-[데이터]-[기본 필드 연결] 작성기 단추 > 기본, 하위 필드를 각각 선택 후 확인
- 하위폼 본문 탭 순서 : 하위폼 선택기 > 바로가기 메뉴 > 탭 순서
- 레코드 탐색 단추와 폼의 구분 선이 표시되지 않도록 설정하기 : '탐색 단추(아니오)', '구분 선(아니오)' 속성을 설정한다.
- 컨트롤 팁 텍스트 : 컨트롤에 마우스를 가져다 대면 텍스트 상자를 띄우기.
- 클릭하면 하이퍼링크가 연결되게 하기 : 속성 창 > 하이퍼링크 주소 > 주소 설정하기.
2) 콤보 상자
- 콤보 상자 변경 : 컨트롤 선택 > 바로가기 메뉴 > [변경]-[콤보 상자]
- 콤보 상자 내용 추가하기 : [속성 시트]-[행 원본] 작성기 단추 > 테이블 추가 후 쿼리 구성 > 닫으면 조건이 입력되어 있다.
- 컨트롤에서 '남'은 '-1', '여'는 '0'으로 입력되게 하기
행원본 : -1;남;0;여
- 컨트롤에서 '남'은 '-1', '여'는 '0'으로 입력되게 하기
- 목록 값만 허용 : [속성 시트]-[데이터] 에서 변경 가능하다.
3) 조건부 서식
- [디자인보기]-[폼 디자인 도구]-[서식]-[컨트롤 서식] 그룹, 조건부 서식
4) 컨트롤(단추) 생성
- 컨트롤 원본 지정하기 : [속성 시트]-[모두]-[컨트롤 원본]
- 전체 개수 지정 : =Count(*)
- 날짜 지정 : =Date()
- 특정 테이블의 필드 합계가 표시되도록 구현하기
- =DSum ("[필드]", "테이블", "조건식")
- 조건식 : "[상품코드]='"&[상품코드]&"'"
- =DSum ("[필드]", "테이블", "조건식")
- 조건에 맞는 레코드의 개수가 표시되도록 구현하기
- =Dcount("[필드]", "테이블", "조건식")
- =Dcount("*", "랜탈도서", "[반납여부]=0")
- =Dcount("[필드]", "테이블", "조건식")
- 형식 지정하기
- 날짜 지정 : yyyy-mm-dd
- yyyy年 m月 dd日 : 월 이 1자리인지 2자리인지 확인을 꼭 한다. 1자리의 경우 m만 써도 된다.
- 날짜 지정 : yyyy-mm-dd
Count(*) : 레코드의 전체 개수 (Null 포함) 계산
5) 이벤트 프로시저 및 매크로 작성
- cmd조회 버튼 클릭 시 특정 레코드만 조회
- Private Sub cmd조회_Click()
Me.RecordSource = "SELECT 거래물품.공급업체명 FROM 거래물품 Where 공급업체명=' " & txt공급업체명 & " ' "
End Sub
- Private Sub cmd조회_Click()
- cmd종료 버튼 클릭 시, 폼에 변경 내용이 있으면 사용자 확인 없이 무조건 저장 후 개체 닫기
- Private Sub cmd닫기_Click()
DoCmd.Close acForm, "폼이름", acSaveYes
End Sub
- Private Sub cmd닫기_Click()
- Txt수량 컨트롤 값을 변경 시, Txt금액 컨트롤에 Txt수량 * Txt원가 값이 입력되게 작성하고 Txt부가세 컨트롤에 조건에 따른 값이 입력되게 하기
- Private Sub Txt수량_AfterUpdate()
Txt금액 = Txt원가 * Txt수량
If Txt과세 = "VAT" Then
Txt부가세 = Txt원가 * Txt수량 * 0.1
Else
Txt부가세 = 0
End If
End Sub
- Private Sub Txt수량_AfterUpdate()
- 옵션 그룹 컨트롤(fra정렬)의 값에 따라 컨트롤 값이 변경되면 해당 필드를 중심으로 내림차순 정렬되어 표시되도록 하기 (오름차순의 경우, desc 생략)
- 레이블 이름에 따라 값이 지정되어 있음 (1,2,3)
- Private Sub fra정렬_AfterUpdate()
Select Case fra정렬
Case 1
Me.OrderBy = "필드1 desc"
Case 2
Me.OrderBy = "필드2 desc"
Case 3
Me.OrderBy = "필드3 desc"
End Select
Me.OrderByOn = True
End Sub
[조회 및 출력 기능 구현]
1) 보고서 완성
- 컨트롤 원본 : =으로 시작
- 양식 : [필드], "문자", 연결할 때는 & 사용
- 일련번호 : =1 (누적 합계 : 그룹)
- 누적합계 : =Count(*)
- 합계 : Sum([필드] 계산식)
- 페이지 : "현재" & [Page] & "페이지 / 총 " & "Pages] & "페이지"
- 조건문 : Iif([필드]="조건","True일 때 값","False일 때 값")
- [속성 시트]-[형식] 에서 변경 가능한 것
- 반복 실행 구역
- 형식과 소수 자릿수
- 정렬 : [디자인]-[그룹화 및 정렬]
2) 이벤트 프로시저 및 매크로 작성
- Cmd검색을 누르면 Txt조건 과 같은 문자가 포함된 필드의 레코드를 찾아 표시하기.
- Private Sub Cmd검색_Click()
Me.Filter = " 필드 like ' * " & Txt조건 & " * "
Me.FilterOn = True
End Sub- 문자열 : Me.Filter ="필드명='"&컨트롤명&"'"
- 숫자 : Me.Filter ="필드명="&컨트롤명
- 날짜형 : Me.Filter ="필드명=#" & 컨트롤명 & "#"
- 문자열의 일부와 일치 : Me.Filter ="필드명 like '*" & 컨트롤명 & "*'"
- Private Sub Cmd검색_Click()
- cmd검색을 누르면 cmb_필드 컨트롤에서 선택한 값으로 조회되게 하기.
- Private Sub cmd검색_Click()
DoCmd.ApplyFilter , " 필드 = ' " & cmd_필드 & " ' "
- Private Sub cmd검색_Click()
[처리 기능 구현]
1) 쿼리 작성
- 값의 유무를 확인하는 연산자
조건 | 결과 | 조건 | 결과 |
Is Null | 값이 없는 레코드 | Is Not Null | 값이 있는 레코드 |
"" (공백 없는 따옴표) | Null이 아닌 빈 값 | Not "" | 값이 있는 레코드 |
- DateSerial(Year,Month,Day) : yyyy-mm-dd 형식이 된다.
- 쿼리 조건 작성하기
- 양식 : [필드], 값에는 괄호 따로 붙이지 않는다.
- 쿼리 마법사 : 단순 쿼리 마법사 (선택한 필드를 이용한 쿼리), 크로스탭 쿼리 마법사 (스프레드 형식), 중복 데이터 검색 쿼리 마법사, 불일치 검색 쿼리 마법사
- 테이블 만들기 쿼리 : [쿼리 도구]-[디자인]-[쿼리 유형]-'테이블 만들기'
- 이력이 없는 레코드 조회하기 쿼리
- 관계의 조인 속성에서, 조인된 필드가 일치하는 레코드만 포함 옵션 선택
- 왼쪽 외부 조인 : 왼쪽 테이블의 레코드는 모두 포함하고, 존재하지 않는 오른쪽 테이블의 레코드는 Null로 표시된다.
두 테이블을 함께 조회하는 레코드의 경우, 꼭 조인 속성을 별도로 설정하는 게 필요할지 검토해야 한다.
- 필드 조건 : IS NULL
- [필드1]이 가장 많은 [필드2]가 나타도록 정렬하기
- 쿼리 디자인창 > 바로가기 메뉴 > [속성] > '상위값' 1
2) 이벤트 프로시저 및 매크로 작성
- Cmd닫기 를 클릭하면 메세지 창을 띄운 후 종료하는 이벤트 프로시저
- Private Sub Cmd닫기_Click()
MsgBox Me.Name & "작업을 종료합니다"
DoCmd.Close
End Sub
- Private Sub Cmd닫기_Click()
- Cmd닫기 를 클릭하면 메시지 대화상자가 띄워지고, 예/아니오/취소 중 예를 누르면 종료하는 이벤트 프로시저
- Private Sub Cmd닫기_Click()
a = MsgBox("폼을 닫으시겠습니까?", 아이콘종류 + vbYesNoCancel, "메시지 창 제목")
if a = vbYes Then
DoCmd.Close
End If
End Sub
- Private Sub Cmd닫기_Click()
[아이콘 종류]
vbQuestion : 물음표 아이콘
vbCritical : 경고 아이콘
vbExclamation : 알림 아이콘
vbInformation : 정보 아이콘
[버튼 종류]
vbYesNoCancel : 예/아니오/취소
vbYesNo : 예/아니오
vbRetryCancel : 재시도/취소
vbOKOnly : 확인
vbOKCancel : 확인/취소
vbAbortRetryIgnore : 중단/재시도/무시
- 매개변수 쿼리 : [만들기]-[쿼리] 에서 쿼리 디자인 작성 후, 매개변수로 활용할 필드의 조건에 대괄호 []를 사용한다.
- 예) 매개변수에 Txt을 입력하면 해당 필드의 다른 레코드를 조회하기
조건 : Like "*" & [매개변수] & "*"
- 예) 매개변수에 Txt을 입력하면 해당 필드의 다른 레코드를 조회하기
- cmd_추가 버튼을 누르면 각 텍스트 상자에 입력된 데이터를 <테이블>의 각 필드에 추가하기.
- DoCmd.RunSQL "insert into 테이블(필드1,필드2,...) values (txt_텍스트1,txt_텍스트2,...)
- txt텍스트 을 더블클릭하면 Form을 열기
- Private Sub txt텍스트_DblClick(Cancel As Integer)
DoCmd.OpenForm "Form", acNormal, "텍스트 = ' " & txt텍스트 & " ' "
- Private Sub txt텍스트_DblClick(Cancel As Integer)
- cmd미리보기 을 클릭하면 Report을 인쇄 미리보기로 열기
- DoCmd.OpenReport "Report", acViewPreview
* 예시 데이터의 출처 : 시나공 이기적 컴퓨터활용능력 실기_연습문제 (2021)
'내가 보려고 정리하는 알쓸백과 > 자격증 & 공부' 카테고리의 다른 글
[컴활 실기 1급] 엑셀/엑세스/프로시저 같은 기능 다른 함수 및 명령어 정리 (0) | 2023.03.06 |
---|---|
[컴활 실기 1급] 엑셀, 액세스 서식코드 모음/정리/요약 (0) | 2023.03.06 |
(컴퓨터활용능력) 1급 엑셀(스프레드시트) 실기_기출 분석/실전 전략 요약 (0) | 2023.03.01 |
한국사능력시험/2023 시험 일정 (0) | 2023.02.27 |
[엑셀] "배열의 일부를 변경할 수 없습니다." 배열 수식 적용이 안 될 때 (0) | 2023.02.25 |
댓글