본문 바로가기
일상/열심히살자

컴활1급 실기 엑세스

by N바오 2019. 1. 8.
반응형

2019년 1월경 독학 공부중 정리. 

 

최신 상설 기출복원 구해서 반복 해야함. 

 

----------------------------------------------------------------------------------------------------------------------------------

 

<엑세스>

 

1. db구축(총 30점:테이블

 

1. 테이블 완성 및 필드 조회 속성 설정

 

유효성 검사

like "* *" : 공백을 포함하는 값 ex) A B

not like "* *" : 공백을 포함하지 않는 값 ex) AB

inStr([전자우편]," ")=0 and like "*@*" : 공백없고 @을 포함한 값

>1000 or is null : 1,000보다 큰 값을 입력하거나 비워둬야 한다.

"서울" or "대전" or "부산" / in("서울", "대전", "부산") : 서울 대전 부산 중 입력 하시오.

 

데이터 형식

텍스트 : ~255자

메모 : ~65,533자

숫자: 바이트(~255), 정수(-32,768~32,767)

OLE개체 : 사진파일 첨부 가능

 

입력마스크

0 L A & : 필수

0: 숫자

L: 영문자

A:영문자와 숫자

&:모든문자와 공백

 

형식

[파랑]#,##0;[빨강](#,##0);-

양수일때는 파랑색으로 1,000 과 같은 형태로 표시하고, 음수일 때는 -1,000 형태로 표히하고

0값은 0으로 표시

 

2.관계설정 

 

3.외부데이터 : 이름이 지정된 범위를 이용할 경우 옵션에서 선택을 해줘야 한다.

 

ex


왼쪽3글짜는 0부터 100사이의 숫자만 입력되도록 하시오.
유효성 검사규칙 : left([연락처],3)<=100


100 이내의 숫자를 입력할 수 있는 데이터 형식과 같은 필드 크기는 
데이터 형식: 숫자, 필드 크기: 바이트


100자 정도의 글자를 입력하기에 적절한 데이터 형식
텍스트


필드를 기준으로 내림차순으로 정렬되도록 테이블 속성을 설정하시오.
해당 레코드를 선택 후 속성 시트 > 정렬 기준 > 해당 레코드명 DESC 입력


필드 이름은 그대로 두고 레이블만 "주민번호"로 표시되도록 설정하시오.
캡션 : 주민번호


남(-1)이나 여(0)의 두 가지 값 중 하나만 입력될 수 있도록 적당한 데이터 형식을 설정하고, 
남'과 여'로 나타나도록 형식을 설정하시오.
데이터 형식: 예/아니오 > 형식: ;남;여 >  조회 탭: 텍스트 상자로 변경


0~100까지의 정수가 입력되도록 하시오.
데이터 형식: 숫자 , 유효성 검사규칙 : between 0 and 100


레코드를 추가하면 현재 날짜의 연도가 입력되도록 설정하시오.
=year(date())
 
A, B, C, D, F 값의 목록이 나타나도록 하시오. 목록 이외의 값은 입력되지 않도록 하시오.
조회 : 캄보 상자 > 행원 본유형: 값 목록 > 행원 본: A;B;C;D;F > 목록 값만 허용: 예

상품번호와 상품명 필드를 기본 키로 설정하시오.

경고가 뜰 경우 스스로 판단
중복 값을 검색하는 <동일상품> 쿼리를 만들고 마지막 레코ㄷ(단가가 500,000)의 
상품번호 와 상품명을 각 각 '9' '철판 건재'로 변경하시오,






 

 

2. 입력 및 수정 기능 구현(총 25점)  : 

 

1. 속성 설정 

 

판매현황 테이블의 지역코드 필드와 

폼의 txt지역코드 컨트롤 값과 같은 레코드의 

"매출액"의 합계

dsum("[매출액]","판매현황","[지역코드]=[txt지역코드]")

 

2.하위폼설정 

 

3.조건부서식 : 식이 (=)생략하고 식 작성한다. 

 

4.기능구현 : 이벤트프로시저일경우 패스한다.

 

ex


폼에 레코드를 삭제할 수 없도록 설정하시오.
삭제가능: 아니오


최대화단추가 표시 되지 않도록 설정하시오.
최소화/최대화단추: 최소화 단추만


머리글 높이를 1cm 로 설정하고 바닥글을 보이지 않도록 설정하시오.
머리글 영역 선택후 > 높이 :1 , 바닥글 영역 선택후 높이 : 0

새 레코드를 추가하지 못하도록 설정하시오.

폼선택후 추가기능: 아니오

스크롤바만 표시되도록 하시오

폼선택후 스크롤막대: 세로만


폼이 표시되면 폼이 닫히기 전에는 다른 폼을 선택할 수 없도록 설정하시오.
모달 : 예


과세' 컨트롤을 콤보상자로 변경하고 , 행원본에 vat/fre 만 표시되게 하시오
행원본유형: 값목록/ 행원본:vat;fre


남,여 문자열이 목록으로 표시되도록 설정 (테이블완성-설정과 같음)
컨트롤에 저장되는 열번호는 1로 설정
목록 이외의 값은 입력할 수 없도록 설정
행원본유형: 값목록 > 행원본: -1;남;0;여 > 열개수:2 > 열너비:0 > 바운드열:1 > 목록값만허용:예


<사원정보>테이블의 '직위'를 행 원본으로 설정하시오.
콤보상자에 컨트롤에 표시되는 값을 오름차순으로 정렬되게하시오.
직위는 중복되지 않게 한번만 나타내시오.
해당컨트롤 선택 > 행원본 > ... 입력기 > 사원정보 선택 > 직위 > 정렬:오름차순 > 속성 > 고유값:예 (중복표시) SQL = DISTINCT
SELECT DISTINCT 사원정보.직위 FROM 사원정보 ORDER BY 사원정보.직위;


하위폼연 이름은 '대여현황'으로 설정하고각각 '고객아이디'와 '전화번호' 필드를 기준으로 연결하시오.
이름설정은 연결시 마지막에 작성(컨트롤이름) 캡션 변경 문제시 속성에서 변경 가능(보이는 문자)
폼 연결 후 하위 폼 선택 > 기본 필드 연결/하위 필드 연결 속성 확인



기본 폼과 하위 폼의 레코드 원본 및 관계를 참조하여 적절한 필드를 기준으로 두폼을 연결하시오.
폼을 선택하고 기본 필드 연결에서... 를 선택하면 자동으로 값이 설정된다.



 

3. 조회 및 출력 기능 구현(총 25점) : 보고서, 폼

 

1. 속성 설정 (보고서)

그룹 바닥글의 페이지 바꿈 속성 값

없음: 발생X

구역 전 : 바닥글이 시작되기 전에~

구역 후 : 바닥글이 끝나면 ,바뀌면~ 

구역 전/후 : 시작되기전과 후에 한번씩

 

누적합계속성

아니요: 계산 X 해당레코드값 표시

그룹 : 누적총계를 0부터 새로계산

모두: 전체 레코드

 

2.조회작업

 

※ 매크로명이 주어졌을 경우는 만들기로 작성 , 

없을경우에는 해당 단추에 마우스오른쪽으로 이벤트를 지정

 

ex


그룹머리글 내용이 페이지마다 연속적으로 표시되도록 하되, 구역 전에 페이지가 바뀌도록 설정하시오.
그룹머리글을 선택후  반복실행구역=예 / 페이지바꿈=구역전


대여일자가 바뀌면 새 페이지에 표시되도록 대여일자 바닥글을 설정하시오.
모두탭 > 페이지바꿈 : 구역후


현재날짜가 2009년 08월 01일 과 같이 표시하시오.
컨트롤원본 :Date() > 형식 : yyyy"년 "mm"월 "dd"일"


txt업체명 컨트롤에 입력된 업체의 데이터가 표시되도록 하시오.
where조건문: [업체명]=[Forms]![거래내역]![txt업체명]


매크로
<지역매출조회>폼의 지역명(cmb지역명) 컨트롤에서 선택한 값과 동일한 지역명을 갖는 레코드만 출력되게하시오.
[지역명]=폼지역명
 




<거래처별 구매정보> 폼의 'cmb거래처찾기'에서 거래처를 선택하고, '레코드 찾기(cmd찾기)' 
버튼을 클릭하면 선택된 거래처에 해당하는 '구매내역' 레코드 정보를 보여주는 기능을 수행하도록 구현하시오.
filter, filteron 사용


① <거래처별 구매정보> 폼의 레코드 원본은 <거래처>테이블이다.




② <거래처>테이블의 [거래처명] 필드의 데이터 형식이 '텍스트'다.




③ 거래처명=cmb거래처찾기 대입하고 [거래처명]필드가 데이터형식이므로 작은따옴표로 구분한다.


거래처명='cmb거래처찾기'


④ 컨트롤을 제외한 나머지 부분을 큰 따옴표로 묶어서 구분한다. (작은따옴표안쪽"",전체"",&로연결)


"거래처명='"cmb거래처찾기"'"


<거래처별 구매정보> 폼의 'cmb거래처찾기'에서 거래처를 선택하고, '레코드 찾기(cmd찾기)' 
버튼을 클릭하면 선택된 거래처에 해당하는 '구매내역' 레코드 정보를 보여주는 기능을 수행하도록 구현하시오.
filter, filteron 사용


Me.filter ="거래처명='" & cmb거래처찾기& "'" 
Me.filterOn = true                          




txt조회코드' 컨트롤에 입력된 제품코드에 해당하는 레코드만을 대상으로 
filter, filteron 사용


filter = "제품코드='"& txt조회코드 &"'"


단순참고용 


docmd.close acform, "동아리정보", acsaveprompt
                               폼이름          저장방법


docmd.openform "동아리회원명부" ,acnormal, "동아리명='"&동아리명&"'"


메세지를출력하고 닫는다
msgbox me.name &"작업을종료합니다."
docmd.close



 

 

4. 처리 기능 구현(총 20점)  : 쿼리

 

선택쿼리 : 지정된 조건검색용. 그룹으로 묶어 계산하는 쿼리작성가능

매개변수쿼리: 실행시 정보입력표시쿼리

실행쿼리: 기존테이블내용을 수정,삭제,추가하여 실제 자료를 변화 시키는 쿼리

크로스탭 쿼리: 특정필드의 요약 값(합계,개수,평균등)을 표시

 

 

주어진 연산자로 사용(없으면 알아서)

 

is null 

을 사용하여 ~있는데 없는것을 찾을때 두 테이블을 모두 열고 조인속성 2번으로 변경해야한다.

 

상위5이내 추출할경우 상단 메뉴 반환에서 지정한다.

 

크로스탭쿼리 작성시 2개이상의 테이블이나 쿼리를 이용하라고 나오면, 쿼리마법사를 이용하지말고

쿼리 디자인보기로 직접작성해야한다.

 

<테이블1>과 <테이블2>를 이용하라고 할땐 하란대로 할것.

결과가 다를땐 테이블을 둘다 열어 확인.

 

 

ex


선택 쿼리 


대여건수는 전화번호를 이용하고 대여금액은 금액+연체료의 합으로 계산하시오.
그림처럼 상단필드에 입력한다.




크로스탭 쿼리


<대여목록> 쿼리를 이용하여 영화제목별 성별 대여수를 나타내시오.
열은 iif함수를 이용하여 성별필드를 남(-1) 여(0)로 표시되도록 설정하시오.


(마법사를이용할경우 마지막에 디자인수정선택)




고객번호 뒤에 세자리가 짝수인 것만 표시하는 <짝수고객> 쿼리
필드 : right([고객번호],3) mod 2 (=2로 나눈 나머지가 0)
조건 : 0






업데이트쿼리


반납일자가 비어있는 미반납 자료의 경우 '연체료' 필드 값을 '금액' 필드값의 50% 값으로, 
'반납' 필드값은 'false' 로 업데이트 되도록 설정 (true=-1,flase=0)


업데이트와조건을 이용하여 수정한다.




상위수령액 10개를 내림차순으로 정렬하여 표시하시오.




<납품상세>쿼리의 단가(만원)필드를 '원가 * (1 - 할인율) 의 값으로 변경하는 업데이트쿼리를 작성






매개변수쿼리 [조건에 입력한다.]


크로스탭 쿼리 
표시할 계산함수가 개수인경우 임의적 선택 가능(단, null값이 없는 자료)


전화번호가 중복 등록된 고객을 조회하는 쿼리 작성
쿼리마법사를 이용하여 처리한다.


추가쿼리(상단메뉴>추가)








하위폼지정시 연결하는 필드는 '제품코드로' 직접지정
옵션에서 선택하는데 둘다 제품코드 =  제품코드로 하면 된다.







 

 

 

 

반응형