반응형

시험장따라하기

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고객번호 입력된값과 같은 레코드 구함

 

 SHAPE  \* MERGEFORMAT

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회원정보 & 회원의 이용료 평균:

 

)존재하지않는조회쿼리불일치검색쿼리마법사!

 

)강사별회원수쿼리 작성하세요

강사이름에 따른 회원수,이용료,할인금액의 총계 계산

결과필드명은 강사이름,관리회원수,이용료총계,할인금액총계 표시

<사용현황>테이블과 <강사>테이블이용

회원수는 회원코드가져와서 개수 적용! + 쿼리디자인이용!!

요약클릭!

이용료총계:이용료

 

 SHAPE  \* MERGEFORMAT

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 업체별내역)

 

 SHAPE  \* MERGEFORMAT

3 기본모의고사

1.DB구축

 

) 상품코드필드에는 영문 대문자를 입력하였을때도 소문자로 표시되도록

형식 대문자 소문자 <

 

) '지역코드필드에는 'S-001'에서 S-0010'사이의 값이 입력되도록 설정

유효성검사규칙 ; Between S-0001 And S-0010

 

마진액 필드는 필드이름 변경말고 이익액으로 표시되도록

캡션:이익액

 

바운드열 저장될필드 번호이므로 지정

 

2.입력 수정

 

)상품명의 글자수가 이하인 레코드에 대해 조건부서식 지정

)본문 컨트롤 모두 선택후 조건부서식

식이 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 상품 필드값에 관계없이 상품 테이블의 모든 레코드 삭제

매출관리테이블에서 검색한 상품코드에 해당하지 않는 상품테이블의 상품코드에 대한 조건

 SHAPE  \* MERGEFORMAT

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속성 해지

 

 

밤에 읽어보고 자기!

 

+ Recent posts