티스토리 뷰
목차
안녕하세요 컴활1급 엑세스 part 제가 공부하면서 자주 출제되는 유형만 요약해 봤습니다.
4월초 부터는 다시 상공회의소에서 진행하는 컴활 시험이 재개 될거라 예상되는데요
가산점 노리시는분들은 지금 착실하게 준비하셔서 꼭 한방에 합격 하시기를 바랍니다!
먼저 컴활1급 엑세스 작업별 구성 요소 및 배점에 대해서 알려드릴게요
문제 1 DB 구축 <30점>
문제 2 입력 및 수정 기능 구현 <25점>
문제 3 조회 및 출력 기능 구현 <25점>
문제4 처리 기능 구현 <20점>
문제 4 처리 기능 구현은 따로 정리해서 올릴건데 이유는 크로스탭 쿼리 업데이트 쿼리 불일치 쿼리 등 직접 실습 예제푸는 방법을 올릴 예정입니다.눈으로만 백날 봐서는 이해가 안가는 파트 이기 때문에 그렇습니다
엑세스
part1. DB구축 (30점)
part1-1
테이블 완성 (20점)
<참고사항>
기본값 숫자 : 숫자
(‘=’ 생략 ) 문자 : “문자”
오늘날짜 : Date()
오늘날짜 + 시간 : Now()
현재 년도 : year(date())
데이터 형식 숫자
byte : ( 0-255 사이 숫자)
정수 : ( 0-65535 2byte)
정수(long) : (0-약 41억 까지)
텍스트 : 최대 255 문자 // 메모 255 초과
< 문제에서 255자 이상의 텍스트를 입력할 수 있도록 데이터 형식 설정 >
-> 데이터 형식 = 텍스트 x -> 메모 o
유효성 검사 규칙 ‘=’ 으로 시작하지 않는다. // 구간, 종류 설정 오류 표시 (범위 제한)
- A부터 B 사이값 : between A and B
날짜 : Between #2019-01-01# and #2019-01-31# 으로 표시
- A,B,C 값만 입력 : In(A,B,C) 아니면 "A" or "B" or "C"
- Like "*임*" : 반드시 ‘임’ 문자가 포함되도록 설정 -> *임* 만 입력해도 알아서 like 표시
- 공백문자가 입력되지 않도록 설정 : InStr([컴활],“ ”)=0 // " " 사이에 반드시 띄어쓰기
- 반드시 3글자가 입력되도록 설정 : Len([컴활])=3
★ 여러개 필드를 주어지고 유효성 검사 규칙 설정 : 속성 시트에서 적용
ex) ‘기말고사’ 는 ‘수학’과 ‘국어’를 합한 점수를 초과하지 않도록 유효성 검사 규칙 설정 하시오
정렬
오름차순 정렬 : 컴활 ASC
내림차순 정렬 : 컴활 DESC
입력 마스크 : 입력 마스크 기호; 저장 유무; 화면 표시문자
ex) 필드에는 반드시 영문 대문자 3자리와 숫자 2자리 표시 ‘-’ 기호도 저장 하고 화면에 '*' 표시 (예시 LDY-10) 정답 : >LLL-00;0;*
> : 대문자 , < : 소문자
0 : 필수 / 0-9 숫자 입력
9 : 선택 / 0-9 숫자 입력
L : 필수 / 한글/영문 입력
? : 선택 / 한글/영문 입력
part1-2
외부 데이터 가져오기 / 조회 속성 (5점)
외부데이터 가져오기
<참고사항>
- 첫 행 열 머리글 여부 확인
- 기본 키 추가 여부 확인
조회 속성
<참고사항>
유형. 1
<문제 : ‘SW' , 'DY' , 'SD' 의 순서대로 값이 목록으로 나타나도록 설정 하시오>
- 컨트롤 표시 : 콤보 상자로 변경
- 행원본 유형을 ‘값 목록’ 으로 설정
- 세미콜론 ‘;’ 으로 행의 순서를 구분시킨다.
유형. 2
- <서비스> 테이블에 ‘서비스코드’ , ‘유형코드’를 가져오고 필드에는 ‘서비스 코드’ 가 저장되 게 하시오.
-서비스코드’를 내림차순 정렬 , 목록 이외의 값 입력되지 않도록 설정 하시오.
< 참고사항>
- 바운드 열 / 열 개수 / 열 너비 / 목록 너비 / 목록 값만 허용/ 잘 확인하기.
Part1-3 관계설정(5점)
문제
- <부서> 테이블의 ‘부서코드’ 필드는 <사원> 테이블의 ‘부서코드’ 필드를 참조하고 두 테이블간 관계는 M:1 이다.
[참주 무결성 강화]
- 위와 같이 [ 참조 무결성 강화] 오류 발생시 <삭제 쿼리>를 이용해 조건에 맞게 설정해준다.
Not in(Select 필드 from 테이블)
- ‘부서코드’ 필드가 <부서> , <사원> 테이블 중 어디가 기본키인지 확인한다.
- ‘부서코드’ 가 기본키가 아닌 <사원> 테이블에서 <부서> 테이블과 중복된 ‘부서코드’를 삭 제 해준다.
- 실행 후 !! 관계를 다시 설정한다.
Part 2 / Part 3 폼 완성 및 보고서 완성
컨트롤 원본 / 형식 구분
유형.1 < 형식 사용 >
1. 컨트롤 원본을 설정한다.
2. 우선 ‘:’ 을 빼고 형식을 ‘ 총 부담금액 #,##0원 ’ 이라고 작성한다.
3. ‘ 총 부담금액 #,##0원 ’ 작성 후 엔터 누르고 마지막에 ‘:’ 작성 해준다.
4. 형식 작성시 ‘=’ 기호 사용 안합니다.
유형.2 < 컨트롤 원본 사용 >
1. ' =Sum(부담금합계) ' 작성 후 Format([수식],“형식”) 작성
2. Format 형식 작성 후 마지막에 ':' 표시를 작성한다.
D함수
DCount("필드명","테이블/쿼리","조건")
- 필드명 = 별도의 필드명 지시가 없음 “*” 으로 작성
- 테이블 = 별도의 지시가 없음 - 폼의 레코드 원본 작성
- 조건 = D함수일 경우 “필드명 = 컨트롤 이름” 으로 작성
Dsum("필드명","테이블/쿼리","조건")
Davg("필드명","테이블/쿼리","조건")
DLookup("필드명","테이블/쿼리","조건")
필드명 팁 : ~이 표시되도록 구현하시오
ex)
<납품내역> 폼의 ‘txt거래처명’ 컨트롤에는 'txt거래처코드' 에 해당하는 거래처명이 표시되도록 구현하시오.
<거래처> 테이블 사용 , DLookup 사용
답 : Dlookup("거래처명",“거래처“,“거래처코드=txt거래처코드“)
★ 프로시저 / 매크로 구분
1.문제에서 ‘이벤트 프로시저로 작성하시오’ 라고 말하면 프로시저로 작성
2.문제에서 ‘매크로를 사용해서 작성하시오’ 라고 말하면 속성시트에 매크로 작성기 선택해서 작성
3.문제에서 ‘매크로를 사용해서 “컴활” 매크로를 만드시오 ’ 라고 매크로 이름을 제시하면 만들기에 매크로 만들기 이용
매크로 작성할 때
ExportwithFormatting (내보내기)
CloseWindow(창 닫기)
where조건문 = 테이블=Forms![폼이름]![컨트롤이름]
컨트롤 원본
1. 텍스트인 경우 -> ‘컴활’ ex) "대리점명 = ‘“ & txt대리점명조회 & “‘"
2. 숫자인 경우 -> 숫자 ex) "제품코드 = “ & txt제품코드조회
3. 날짜(년-월-일)인 경우 -> #날짜# ex) “ 판매날짜 = #“ & txt판매날짜 & ”#”
4. 포함 or 일부 인 경우 -> Like * ex ) “ 대리점명 Like '*" & txt대리점조회 & ”*‘“
■ datediff함수
1) =datediff("옵션",시작일,종료일)
2) 옵션 : y(년), m(월), d(일), q(분기)
=datediff("m","2019-1-1","2019-12-31") -> 12
=datediff("y","2019-1-1","2019-12-31") -> 1
=datediff("d","2019-1-1","2019-12-31") -> 365
*날짜서식코드*
년 : yyyy(2019), yy(19)
월 : m(1),mm(01),mmm(jan),mmmm(january)
일 : d(1) dd(01)
요일 : aaa(일) aaaa(일요일)ddd(sun) dddd(sunday)
Docmd 구문
1.
DoCmd.OpenReport "보고서명", acViewPreview, , "조건" (테이블 열기)
DoCmd.OpenForm "폼명", acNormal, , "조건" (폼 열기)
DoCmd.OpenTable “테이블 명 ”,acViewPreview
DoCmd.OpenQuery "쿼리명", acViewPreview
2.
DoCmd.Close (닫기) - acSaveNo(저장 안함)
- acSaveYes (저장 함)
- acSavePrompt(저장 할지 안할지 여부 물어봄)
DoCmd.GoToRecord , , acNewRec (새로운 레코드 추가)
DoCmd.GoToControl "컨트롤 이름" (컨트롤 이름으로 이동)
DoCmd.ShowAllRecords (모든 레코드 보기)
3.
DoCmd.RunSQL "delete * from 테이블 조건" (삭제)
DoCmd.RunSQL "udate 테이블 set 업데이트할 내용 where 조건" (업데이트)
DoCmd.RunSQL "insert into 테이블(필드1,필드2,필드3)" (삽입)
필터 Me구문
1. Me.Filter = "조건"
Me.Filter = True
2. Me.RecordSource = "select*from 테이블 where조건"
3. Me.RecordsetClone.FindFirst "조건" ( ‘=’ 안들어간다.)
Me.Bookmark = Me.RecordsetClone.Bookmark
4. docmd.ApplyFilter, "조건" ( ‘=’ 안들어간다.)
ex) Me.Filter = "대리점명 = ‘“ & txt대리점명조회 & “‘" -> 조건 예시
Me.Filter = True
정렬 Me 구문
Me.OrderBy = "필드 ASC(오름차순) / DESC(내림차순)"
Me.OrderByOn = True
msgbox
경고문 종류 = (X) vbCritical (오류 메시지)
(i) vbImformation(정보 메시지)
(?) vbQuestion(질문 메시지)
(!) vbExclamation(경고 메시지)
유형1. 확인창이 예 하나만 있을 경우
MsgBox "메시지 내용", vbYes+ vb경고문, "타이틀 내용"
유형2. 확인창이 예 / 아니오 일 경우
If MsgBox("메시지 내용", vbYesNo + vb경고문, "타이틀 내용") = vbYes Then
DoCmd 구문
Else
DoCmd 구문
End If
'자격증' 카테고리의 다른 글
컴활1급 장수생 합격후기(컴활1급합격후기 2020년) (0) | 2020.06.28 |
---|---|
공기업 취업준비(인천국제공항공사) (0) | 2020.04.07 |
컴활1급실기 요약(2020년 엑셀정리) (1) | 2020.03.10 |
컴활2급 취득후기(자주나오는함수정리) (0) | 2020.03.01 |
리눅스 마스터2급 취득 후기 (0) | 2020.02.28 |