엑세스 기출문제 공부1탄

시험장따라하기

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())

현재날짜에서 d1일플러스

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

댓글

Designed by JB FACTORY