엑세스 기출문제 공부1탄
- 공부공부/컴퓨터활용능력
- 2017. 6. 30.
시험장따라하기
1.DB구축
문)
‘전화번호’필드에는 입력시 (###)###-#### 같은형태로 표시/
기호는 저장하지 않도록 입력마스크 설정/
사용자지정기호 #사용할 것/
답) 입력마스크: (###)###-####;;#
구분기호는 ; 사용
ㄱ;ㄴ;ㄷ
ㄱ은 입력형태
ㄴ은 기호저장할껀지안할껀지 공백-저장안함
2.입력및수정
문)
‘txt인원수’컨트롤에는 현재 등록된 총 고객의 수를 표시하시오
멘트: 현재 고객은 5명입니다
정해준함수- format, count
답)=format(count(*),"현재 고객은 #명입니다.“)
라고 입력하면 따옴표자동설정
#는 숫자 한자리 기호표시
갯수새는함수 count
문)
고객등록 폼이 열리면open
새 레코드를 입력할 수 있는 화면이 표시되도록하기
매크로로 작성
이름‘새고객등록’
답)매크로함수ㅅ: go to record /레코드ㅅ:새레코드
새레코드입력화면표시; 고투레코드 새레코드 기억
3.조회 및 출력
문)‘txt고객정보‘에는 ’고객번호‘와 ’이름‘이 k001(김나리) 형태로 표시되게 설정
답) =[고객번호] & "(" & [이름] & ")"
() 문자니까 큰따옴표로 묶어주기
문)'txt날짜‘컨트롤에는 현재날짜와 시간표시
2012-07-31 (화) 15:40:36
답) yyyy-mm-dd (aaa) hh:nn:ss
문)‘txt이름’에 입력된 값을 포함하는 정보를 찾아 표시되도록
filter,filteron 이용하여 이벤트프로시저
답)Me.Filter = "이름 like '*" & txt이름 & "*'"
Me.FilterOn = True
참고) 이름like *txt이름*
문자는 무조건 ‘ ’ 로 묶고 txt는 &로 감싼다
true로 해야 표시됨
4.처리기능
문) 판매안된제품 쿼리- 주문제품 테이블에 존재하지 않는
답) 불일치 검색 쿼리마법사 이용
주문제품 테이블에 존재하지 않으므로 관련레코드는 주문제품테이블 2번째
문)변경하는 쿼리 작성하세요
답)쿼리디자인-업데이트
문)<고객검색>폼의 'txt고객번호‘컨트롤에 포커스가 옮겨가면(got focus)
메시지박스 표시 , 고객이 주문한 건수표시, ‘주문고객’테이블 이용
김나리님의 주문 횟수는 3건입니다. +확인버튼
답)MsgBox [이름]님의 주문 횟수는
dcount("고객번호","주문고객","고객번호=txt고객번호")건입니다.
>>
MsgBox [이름] & "님의 주문 횟수는" &
DCount("고객번호", "주문고객", "고객번호=txt고객번호") & "건입니다."
‘주문고객’테이블에서 ‘고객번호’필드값이 'txt고객번호‘에 입력된값과 같은 레코드 수 구함
01회 기본모의고사
1.DB구축
500자 이하의 텍스트 : 메모
‘텍스트‘형식은 255자까지 가능
문) 강사관리 테이블의 데이터를 강사 테이블에 추가하는 ‘강사추가’쿼리
답) 쿼리디자인 - 강사관리 - 추가 - 강사
실행 꼭 눌러보자
2.입력 및 수정
문) 컨트롤에는 탭전환 기능이 적용되지 않도록 설정
답) 기타-탭정지-아니오
문)버튼 클릭시 ‘보고서선택기준’폼을 폼보기 형태로 열 것
답)매크로함수: OpenForm
폼이름: 보고서선택기준
보기형식:폼
문)닫기버튼 클릭하면 ‘폼을 닫습니다.’라는 메시지와
확인,취소 버튼있는 메시지상자
확인버튼 클릭햇을때만 ‘스포츠클럽관리’폼을 닫을 것
답)
Dim aa -변수aa선언
aa=msgbox(“폼을닫습니다.”, vbOKCancel, "") -메세지박스표시하고 결과를 aa에저장
if aa = vbOK then -aa값이 vbOK이면
Docmd.Close -현재폼을 닫는다
end if -if문 종료
문)‘스포츠클럽관리’폼의 'lst회원정보‘의 특정목록을 더블클릭하면
현재폼의 데이터에 ‘회원성명’이 ‘lst회원정보’의 값과 동일한 레코드만 표시
filter , filter on 사용
답)=기호까먹지말기
me.filter = "회원성명 = '" & lst회원정보 & "'"
me.filteron=true
어려운문제!!!!
‘스포츠클럽관리’폼의
‘회원정보(lst회원정보)’와 ‘강사정보(lst강사정보)’를 선택하고,
‘보고서’버튼 (cmd보고서)를 클릭한후,
‘보고서선택기준’폼의 ‘표시’버튼 (cmd표시)를 클릭하면
‘보고서선택기준’폼에서 ‘회원성명(값=1)’을 선택한후
‘표시(cmd표시)’버튼 클릭하면 ‘회원별사용현황’보고서를 ‘인쇄미리보기’형태로 열 것
‘보고서선택기준’폼에서 ‘강사코드(값=2)’을 선택한후
‘표시’버튼 클릭하면 ‘강사별사용현황’보고서를 ‘인쇄미리보기형태로 열 것
단 ‘lst회원정보’와 ‘lst강사정보’에 지정된 값에 해당하는 내역만을 대상으로
답)
if fra확인란 =1 then
docmd.openreport
"회원별사용현황“, acviewpreview, , "[회원성명]=[forms]![스포츠클럽관리]![lst회원정보]”
else
docmd.openreport "강사별사용현황“,acviewpreview,, "[강사코드]!=[forms]![스포츠클럽관리]![lst강사정보]”
end if
4.처리기능
문) '스포츠클럽관리‘폼의 ’lst회원정보‘에서 특정목록을 선택하면(after update)
‘txt표시’~~~컨트롤에는 선택한 회원의 회원성명을 이용하여 다음그림과 같은형식으로 표시
‘txt표시’컨트롤에는 선택한 회원의 이름 및 강사이름 표시
'txt이용료평균‘컨트롤에는 선택한 회원의 이용료 평균 표시
'txt이용료최대값‘컨트롤에는 선택한 회원의 이용료 최대값표시
답)
dlookup(찾아올값이 들어있는 필드이름, 작업대상레코드 들어있는 테이블이나 쿼리이름 (폼속성-데이터-레코드원본 속성확인),조건)
dlookup(강사이름,회원관리현황,회원성명=lst회원정보)
Davg(이용료,회원관리현황,회원성명=lst회원정보)
Dmax(이용료,회원관리현황,회원성명=lst회원정보)
txt표시=“회원명:” & lst회원정보 & “(강사이름:" & dlookup("강사이름”,“회원관리현황”,“회원성명=lst회원정보”) & “)”
txt이용료평균=lst회원정보 & “회원의 이용료 평균:”
문)존재하지않는조회쿼리- 불일치검색쿼리마법사!
문)‘강사별회원수’쿼리 작성하세요
강사이름에 따른 회원수,이용료,할인금액의 총계 계산
결과필드명은 강사이름,관리회원수,이용료총계,할인금액총계 표시
<사용현황>테이블과 <강사>테이블이용
답) 회원수는 회원코드가져와서 개수 적용! + 쿼리디자인이용!!
요약클릭!
이용료총계:이용료
2회 기본모의고사
1.DB구축
문)입력기를 ‘영숫자반자’
답)IME모드ㅅ-영숫자반자
문)합계 필드에는 금액+세액 값이 입력되게 유효성검사규칙
답) 필드간의 관계 이용해 유효성검사규칙 설정하려면
‘테이블’속성 이용해야함
테이블도구-디자인-표시/숨기기-속성시트
★문) 접수일자 필드에는 새레코드 추가시 현재날짜 다음날이 표시되도록 설정하시오
답) 지정된 날짜에서 특정값만큼 증가시키는 함수는 dateadd()
dateadd("d",1,date())
현재날짜에서 d일 1일플러스
dateadd(형식,값,날짜) 지정된 날짜에서 형식(년,월,일)을 지정한값만큼 증가시킴
ex) date add ( m,3,2009-5-4)
2009-8-4 5에서 3달 플러스
문)금액필드에는 천단위마다 콤마표시( , )
값이 0이면 0표시되게
답) #,##0
2.입력 및 수정
문)‘운행관리’폼의 ‘레코드추가’버튼 클릭하면
새레코드 삽입할 수 있는 빈레코드 추가하고
‘txt접수일자’컨트롤로 포커스를 이동시키는
이벤트프로시저 작성
docmd, go to record, set focus 메서드 이용
답)
docmd.gotorecord acDataForm, "운행관리“,acNewRec
txt접수일자.SetFocus
운행관리에서 새레코드(acNewRec)로 이동
3.조회 및 출력
문)‘txt평가’에는
‘합계’가 500000이상이면 상
200000이상이면 중
나머지는 하로 표시
Switch함수 사용
답) = swith([합계]>=500000,"상", [합계]>=200000,"중", [합계]<200000,"하")
문) 운행관리 폼의 조회 버튼 클릭시
거래처코드,행선지코드가
cmb거래처코드와 cmb행선지코드 값과 동일한 레코드만 표시
ApplyFilter 매크로함수 사용
답)where조건문:
[거래처코드]=[Forms]![운행관리]![cmb거래처코드]
And [행선지코드]=[Forms]![운행관리]![cmb행선지코드]
문)인쇄미리보기형태
매크로함수: OpenReport
보기형식:인쇄미리보기
4.처리기능
★문) ‘운행관리’폼의 내보내기 버튼 클릭시 <거래처>테이블을
C:\컴활1급\액세스\기본모의고사 폴더에 거래처정보.rtf 로 내보낼 것
매크로이름은 : 내보내기
테이블을 내보낸후 자동으로 실행되도록할 것
답) 매크로함수: out put to
개체이름:거래처
출력형식:rtf
출력파일: C:\컴활1급\액세스\기본모의고사\거래처정보.rtf
자동시작: 예
문) ‘운행접수’ 폼에서 ‘등록’ 버튼 클릭시
‘운행접수’ 폼에 입력된 각 컨트롤의 값을
<거래내역>테이블의 접수일자,~~~~~~ 필드에 추가할 것
‘운행접수’폼에 입력된 각 컨트롤 값을 필드에 삽입후
‘접수내용지우기’ 프로시저 실행
답)
DoCmd.RunSQL "insert into 거래내역(접수일자,거래처코드~~) values(txt접수일자,cmb거래처코~~~)"
Call 접수내용지우기
각 컨트롤 이름은 폼디자인보기상태에서 직접확인후 입력
‘접수내용지우기’프로시저를 호출call
★문)최고매출거래처 쿼리를 작성하시오
‘업체별내역’ 쿼리를 이용하여 합계가 가장 많은 거래처표시
합계가 가장 많은 거래처의 거래처,상호,합계 표시
‘거래처’는 '거래처코드‘에서 하이픈이 나오기 전까지의 내용만 표시(left , InStr 함수 사용)
답)
거래처: Left([거래처코드],InStr([거래처코드],"-")-1)
거래처코드에서 - 반환함
BB-01 이면 3이 나오고 여기서 -1 하면 2
거래처코드중 왼쪽에서 2글자니까 BB만 표시됨
합계 조건: (select max(합계) from 업체별내역)
3회 기본모의고사
1.DB구축
문) ‘상품코드’필드에는 영문 대문자를 입력하였을때도 소문자로 표시되도록
답) 형식 : 대문자 > 소문자 <
문) '지역코드‘필드에는 'S-001'에서 ’S-0010'사이의 값이 입력되도록 설정
답) 유효성검사규칙 ; Between S-0001 And S-0010
문) 마진액 필드는 필드이름 변경말고 이익액으로 표시되도록
답) 캡션:이익액
문) 바운드열 - 저장될필드 번호이므로 1 지정
2.입력 및 수정
문)상품명의 글자수가 5 이하인 레코드에 대해 조건부서식 지정
답)본문 컨트롤 모두 선택후 - 조건부서식
식이 Len([상품명]) <=5
문) ‘매출현황관리’ 폼의 ‘상품정보폼’ 버튼cmd상품정보폼 클릭하면
‘상품정보’폼을 폼보기형태로 열 것
cmb상품코드 값에 해당하는 내역만 표시
답) 폼보기형태 - OpenForm
폼이름:상품정보
where조건문: [상품코드]=[Forms]![매출현황관리]![cmb상품코드]
3.조회 및 출력
문)컨트롤에는 ‘txt순이익’이 2000000이상이면 ‘흑자’
그렇지않으면 ‘적자’표시되게
답) iif ( 조건, 인수1, 인수2)
iif ( [txt순이익]>=2000000, “흑자”, “적자” )
문) txt년 컨트롤에는 현재연도가 표시되도록 2012년도면 ‘2012년도’
답) =year(date()) & "년도“
문) ‘매출관리’ 폼에서 ‘매출수량(txt조회)’ 컨트롤에 값 입력하고
‘상품조회’ 버튼cmd조회 더블클릭하면..
매출수량이 ‘txt조회’에 입력되어있는 값보다 크거나 같은 레코드만 표시
filter , filter on 속성 사용
답) 매출수량 형식이 숫자이므로 작은따옴표 ( ‘ ) 사용안하고 &는 앞에만
Me.Filter = "매출수량 >=" & txt조회
me.FilterOn =True
문) ‘매출현황관리’폼에서 매출액(txt매출액) 계산하는
‘매출액계산’ 프로시저 작성 후
폼이 로드될 때 매출액이 계산되도록 하시오
txt매출액= txt매출수량 * txt단가
call사용
답)
Private Sub Form_Load()
Call 매출액계산 -매출액계산 프로시저 호출
End Sub
Private Sub 매출액계산()
txt매출액 = txt매출수량 * txt단가
4.처리기능
문) '매출관리‘폼에서 ’지역코드‘(cmb지역코드) 중 특정지역선택하면 (after update)
선택한 지역코드를 lab지역합계 와 lab지역평균에 표시
txt합계에는 선택한 지역코드의 매출수량 합계표시
txt평균에는 선택한 지역코드의 매출수량 평균표시
답)레이블컨트롤에 값 표시할때는 캡션 속성 사용
dsum(찾아올값 있는 필드이름 ,
작업대상들어있는 테이블이나 쿼리이름(폼속성-데이터-레코드원본), 조건)
lab지역합계.Caption = cmb지역코드 & "합계"
txt합계 = DSum("매출수량", "상품매출관리", "지역코드= cmb지역코드")
lab지역평균.Caption = cmb지역코드 & "평균"
txt평균 = DAvg("매출수량", "상품매출관리", "지역코드=cmb지역코드")
문) ‘상품매출’쿼리를 작성하고 저장하시오
상품코드별 매출수량,매출액,마진액 합계 조회
지역코드가 s-001이나 s-002가 아닌 레코드 대상으로 작성할 것
결과의 필드명은 상품코드,매출수량총계,매출액총계,마진액총계
매출관리 테이블 사용
답)쿼리디자인 - 요약 - 지역코드 정렬:조건
조건: <>"s-0001" And <>"s-0002"
아니면 not in ("s-0001","s-0002")
문) '상품정보‘폼에 있는 ’상품정리‘버튼 cmd상품정리
클릭하면 판매되지 않은 상품의 자료를
<상품>테이블에서 삭제하도록 이벤트프로시저작성
<매출관리>테이블에 기록되지 않은 상품은 판매되징낳은상품임
docmd 개체의 runSQL메서드 사용
삭제후 폼의 데이터 갱신
답)
DoCmd.RunSQL
"delete * from 상품 where 상품코드 not in (select 상품코드 from 매출관리)"
docmd.Requery -현재폼에 나타나는 자료갱신(me.requery 사용해도되)
delete * from 상품 : 필드값에 관계없이 상품 테이블의 모든 레코드 삭제
매출관리테이블에서 검색한 상품코드에 해당하지 않는 상품테이블의 상품코드에 대한 조건
4회 기본모의고사
1.DB구축
2.입력 및 수정
문) 폼바닥글의 ‘txt대여금액합계’컨트롤에는
도서명이 ‘귀천’인 도서의 대여금액의 합계가 표시되도록 설정하고 오른쪽맞춤,,
‘대여내역입력’쿼리와 DSUM() 함수 이용
답) Dsum(“대여금액”,“대여내역입력”,“도서명=‘귀천’”)
문) cmb도서코드에는 ‘도서코드’가 소문자로 표시되도록 컨트롤 원본 속성 이용
답) Lcase([도서코드]) 대문자Ucase
문) '도서내역입력‘폼의 ’도서코드(cmb도서코드)‘ 컨트롤을 콤보상자로 변환
<도서목록>테이블의 ‘도서코드’를 행원본으로
콤보상자에 표시되는 도서코드는 중복되지 않게 한번만 나타나도록
답) 쿼리속성 시트에서 고유값:예 -자동으로 DISTINCT 입력됨
3.조회 및 출력
문) txt도서명 컨트롤의 빈공간에 ★이 반복하여 표시되도록 설정하시오
답) @*★
문) 본문의 'txt대여일수‘에는 대여일자와 반납일자 사이의 날짜 일수가 표시되도록 설정
datediff함수 사용
답) =datediff("d",[대여일자],[반납일자])
문) 고객코드의 바닥글의 ‘txt대여횟수’에는 ‘고객코드’마다의 총 대여횟수가
'txt고객별금액‘에는 ’고객코드‘별 ’대여금액‘필드의 합이 표시되도록
답) =count(*) / =sum([대여금액])
문)‘고객별대여현황’폼의 ‘인쇄’버튼(cmd인쇄) 버튼 클릭시 ‘고객별대여현황’보고서를 ‘인쇄미리보기’형태로 열 것
cmb고객코드에서 선택한 고객만을 대상으로 할 것
답)openreport
보고서이름:고객별대여현황
보기형식:인쇄미리보기
where조건문: [고객코드]=[forms]![고객별대여현황]![cmb고객코드]
4.처리기능
문)특정월에 가입한 회원을 검색하는 ‘특정월가입자조회’매개변수쿼리를 작성하시오
<고객>테이블을 이용하여 특정월에 가입한 회원의 이름,전화번호,주소,가입된기간 조회
가입된기간은 가입일자의 년도와 현재년도의 차이를 “년”과 연결하여표시
& , date , datediff 함수 이용
쿼리실행시 ‘월을 입력하세요’라는 매개변수에 조회할 월을 입력할수있게
답)쿼리디자인
1가입일자, 2가입일자
1가입일자는 가입된기간구하는용
가입된기간:datediff("yyyy",[가입일자],date()) & “년”
2가입일자는 월을 조건을 지정해 검색할 때 비교대상이 될아이
month([가입일자])
체크해제
조건: [월을 입력하세요]
문)종류별대여내역 쿼리를 작성
대여된 전체도서에 대해 종류별대여횟수를 조회하여 종류별대여횟수테이블생성
결과의 필드명은 종류 대여횟수로 표시
도서목록,도서대여테이블사용
답)쿼리디자인-요약
도서코드,순번,고객코드,대여일자 중 아무거나 가져옴 대여횟수를 구하기 위한필드임
필드; 대여횟수:도서코드 요약:개수
쿼리유형-테이블만들기
문) ‘도서대여목록’폼의 ‘반납일자’컨트롤에 포커스가 이동got focus하면 이벤트프로시저
반납일자가 반납예정일을 지난 경우에는 ‘연체’ 그렇지 않으면 ‘완료’메세지를 메시지상자
답)
If 반납일자 > 반납예정일 Then
MsgBox "연체", vbOKOnly, "연체여부"
Else
MsgBox "완료", vbOKOnly, "연체여부"
End If
문) ‘고객별대여현황’폼의 ‘전체보기’버튼cmd전체보기 클릭시 전체레코드가 표시되도록
폼의 filteron 속성 이용
답) Me.FilterOn = False
filter속성 해지
밤에 읽어보고 자기!
'공부공부 > 컴퓨터활용능력' 카테고리의 다른 글
엑세스-DB구축-테이블완성0 (0) | 2019.03.15 |
---|---|
엑셀 - 행 열 동시에 틀고정하기 (0) | 2018.08.14 |