Lecture/ACCESS

[ITQ액세스] 유형별 정리 및 시험치기전 체크사항

안샘 2008. 12. 30. 11:29

1. 테이블 만들기

 

● 유효성검사
Q1) 결제방식은 ‘현금’,‘카드’,‘분할’ 만 입력받도록.
   A1) [결제방식] = “현금” or [결제방식] = “카드”, [결제방식] = “분할”
      “현금” or "카드“ or "분할”
       in ("현금“,”카드“,”분할“)
Q2) 여행횟수의 입력값은 0보다 크고 Null이 아닌 데이터만 입력받도록.
    [여행횟수] > 0 and [여행횟수] is not null
Q3) 상호의 입력값은 “의류”문자열을 포함한 데이터만 입력받도록.
    [상호] like "*의류*“
Q4) 대출금리의 입력값은 4.5%와 7.5%사이의 데이터만 입력받도록.
    >= 0.045 and <= 0.075
   시험문제에서 사이라고 나올때는 기준데이터를 포함한다. 즉 이상과 이하
Q5) 접수시간은 09:00부터 17:00까지의 데이터만 입력받도록.
   >= #09:00:00# and <= #17:00:00#
   >=#오전 9:00:00# And <=#오후 5:00:00#
   시간데이터를 사용할때는 반드시 시:분:초 까지 다 써주어야 한다.
Q6)주민등록번호의 첫 두자리 값이 87보다 적은 데이터만 입력받도록
   Left([주민등록번호],2)<87
   < "87*"
Q7) 서비스번호의 첫세자리 값이 “010”,“011”,“017” 만 입력받도록
  like "010*" or like "011*" or like "017*"
  left([서비스번호],3)=“010”or left([서비스번호],3)=“011”or left([서비스번호],3) = “017”
Q8) 출시일의 입력값은 2007년 3월 이전(2007년3월포함)의 데이터만 입력받도록
  <= #2007-03-31#
Q9) 입고일의 입력값은 상반기의 값만 입력받도록
  >= #2007-01-01# and <= #2007-06-30#
Q10) 출고일의 입력값은 3/4분기만 입력받도록
  >= #2008-07-01# and <= #2008-09-30#
Q11) 입고일의 입력값은 2004년에서 2006년의 데이터만 입력받도록
 >= #2004-01-01# and <= #2006-12-31#
Q12) 입사지원의 입력값은 “지원”으로 끝나는 데이터만 입력받도록
   like "*지원“

 


● 콤보상자
  주로 콤보상자를 묻는 문제가 나오지만 목록상자를 이용하라는 문제가 나올수 있다.
  조회탭에서 목록상자만 선택해주면 되고 나머지는 콤보상자와 똑같다.

 

 

2. 쿼리작성하기

 

● 함수식 유형


1) IIF 함수 유형
  (1) 거짓절에 중복IIF함수
   Q1. [구분코드]의 첫 번째 자리가 A이면 ”창작“, B이면 ”번역으로 표시
   설명) 거짓절에 중복 IIF함수가 들어갈때는 하나의 필드에 조건이 여러개이다.
   A1) iif(left([구분코드],1)=“A","창작,iif(left([구분코드],1)=“B",”번역“))
   설명)위의 유형은 마지막 iif문의 거짓절이 생략된 형태  
   Q2) [검사항목수]가 15개이면 500,000원, 10개이면 300,000원, 그렇지 않으면 검사항목수
       마다 50,000원을 곱하여 적용
   A2) iif([검사항목수]=15,500000,iif([검사항목수]=10,300000,[검사항목수]*50000))
 

 (2) IIF와 OR 혹은 And연산자 함께사용하는 유형
   Q1. [항공편]이 “유나이티드항공”이거나 “싱가폴항공”이면 “속초공항” 그렇지 않으면
       “인천공항”으로 적용
   A1)iif([항공편]=“유나이티드항공”or[항공편]=“싱가폴항공”,“속초공항”,“인천공항”)
   설명) 두가지의 조건에 대해서 만족값(참) 1개,거짓1개만 존재함.
   Q2. (1)번유형과 (2)번유형 혼합문제
      [재배방법]이 ‘자연산’이면 “100,000”, 재배방법이 “위탁재배”이고 재배지가 ‘평창“이면 ”50,000“, 그렇지 않으면 ”30,000“으로 표시
   A2) iif([재배방법]=“자연산”,100000,iif([재배방법]=“위탁재배”and [재배지]=“평창”,50000,30000))
 

 (3) 참절,거짓절에 중복 IIF함수
   Q1) [항공편]이 “유나이티드항공”일때 [출발일자]가 “2008년12월31”일 이전이면 “예약완료”,그렇지 않으면 “예약가능”,[항공편]이 “속초공항”일때 [출발일자]가 “2008년12월31일”이면 “대기”,그렇지않으면 “예약가능”으로 적용.
   A1) iif([항공편]=“유나이티드항공”,iif([출발일자]<=#2008-12-31#,“예약완료”,“예약가능”),iif([항공편]=“속초공항”,iif([출발일자]<=#2008-12-31#,“대기”,"예약가능“))
 

(4) 단순 IIF문
   설명)조건이 한 개일때 사용되며 iif를 한번만 적용,가장쉽기 때문에 예제 생략

2) switch 함수 유형
   설명)switch의 유형은 단순하다.. iif보다 switch함수가 나오면 문제난이도가
   쉬워진다.
   (1) 일반유형
   Q1.[관리코드]의 왼쪽글자가 ‘1’이면 “가정용”,‘2’이면 “업무용”,‘3’이면“영업용”으로 표시
   switch(left[관리코드],1)=“1”,“가정용”,left[관리코드],1)=“2”,“업무용”,left[관리코드],1)=“3”,“영업용”)
   (2) switch 함수와 OR 또는 And 연산자 사용
    Q1. 교통수단이 ‘기차’또는 ‘버스’이면 “픽업준비”, ‘승용차’또는‘단체’이면 “주차장준비”로 표시
    A1) switch([교통수단]=“기차"or[교통수단]=”버스“,”픽업준비“,[교통수단]=”승용차“or[교통수단]=”단체“,”주차장준비“)

3) choose 함수 유형
  설명)choose함수의 첫 번째 인자는 정수로 와야 하기 때문에 문제유형은 choose함수의 첫 번째자리에 다른함수를 이용해서 정수로 만든후 각각에 해당하는 결과값을 제시하는 문제가 나온다.
   Q1. [관리코드]의 왼쪽글자가 ‘1’이면 “가정용”,‘2’이면 “업무용”,‘3’이면“영업용”으로 표시(choose,left함수사용)
    choose(left([관리코드],1),"가정용“,”업무용“,”영업용“)


 4)Datediff,dateadd,weekday함수 유형
  설명) datediff와 dateadd함수가 나오는 문제를 쉽게 해결하는 방법은 먼저 함수문법을 적어놓고 문제를 함수문법에 맞추는 방식으로 하면 된다.
  datediff(“기호”,“앞선날짜(시간)”,“뒷날짜(시간)”) - 두날짜(시간)사이의 간격
  ->결과값이 정수값으로 반환
  dateadd(“기호”,정수,“기준날짜(시간)”) - 기준날짜에서 몇일(시간) 더하거나 뺌
  ->결과값이 날짜타입으로 반환

 Q1)차기사용가능일 : 운행예정일 + 사용일수(단,계산결과가 토요일이면 다음 월요일이 되도록 계산)-iif,dateadd,weekday함수 사용
A1) 풀이1단계  : dateadd("d",[사용일수],[운행예정일])
    풀이2단계 : iif(weekday(dateadd("d",[사용일수],[운행예정일]))=7,dateadd("d",[사용일수]+2,[운행예정일]),dateadd("d",[사용일수],[운행예정일]))

 Q2) 수확일이 상반기이면 수확일에 6개월을 더하고 그렇지 않으면 12개월을 더하여 표시
    (iif,month,dateadd 함수 사용)
 A2) iif(month([수확일]<=6,dateadd("m",6,[수확일]),dateadd("m",12,[수확일]))

Q3)갱신만료일이 ‘2008년3월9일’보다 12개월이전이면 30,000원, 그렇지 않으면 40,000원
   (iif,datediff,dateserial함수 사용)
  A3) 풀이1단계: datediff("m",[갱신만료일],dateserial(2008,3,9))
   풀이2단계 : iif(datediff("m",[갱신만료일],dateserial(2008,3,9))<=12,30000,40000)

Q4) 입차시간과 출차시간의 분차를 구한 후 10분당 500원으로 계산(Datediff함수사용)
  A4) (datediff("n",[입차시간],[출차시간])/10) * 500

 

5)기타함수 유형

 Q1) 접수시간이 15:00미만이면 접수시간에 5시간을 더하고 “당일”문자를 붙이고, 그렇지 않으면 접수시간에 5시간을 빼서 “다음날”문자와 함께 나타낸 후 “시”문자를 뒤에 표시
(iif,hour 함수, &연산자 사용)
 A1) IIf(([접수시간]<#오후 3:00:00#),"당일 " & Hour([접수시간])+5,"다음날 " & Hour([접수시간])-5) & "시"

Q2) 수확일이 상반기이면 수확일에 6개월을 더하고 그렇지 않으면 12개월을 더하여 표시
   (iif,month,dateadd함수 사용)
A2) IIf(Month([수확일])<7,DateAdd("m",6,[수확일]),DateAdd("m",12,[수확일]))

Q3) Round함수 유형
  설명 :  round함수는 정해진 소수자리수까지 반올림하는 함수이다.round([필드명],자릿수)
  따라서 다른함수를 이용하여 결과를 만든후 마지막 자릿수를 맞추는 형식이므로
  바깥함수로 주로 쓰인다.

Q4) 형식변환함수 유형
  val, cdate등 형식변환함수는 다른함수로 결과를 만든후에 완전한 형식으로 바꾸어주기 때문에 주로 바깥함수로 쓰인다.
 


3. 테이블조인 

 

● 시험치기 전 한번더 체크 할 사항.
  - 3번유형은 쉽게 출제가 되며 단지 출력형태와 문제를 푼 결과가 다르게 나왔을때
     신속히 해결하는 방법에 대해서 알아두면 됨.
 
  Q) 문제에서의 출력형태는 세줄(3개의레코드)이 나왔는데 본인이 푼결과는 한줄,두줄이 나왔을때 아래의 순서에 의해서 해결하면 빨리 해결할 수가 있다.
   1) 먼저 조건식을 제대로 적었는지 확인한다.
      - 조건식은 or조건을 and조건으로 하는 실수를 범하기 쉽고 또한 like연산자를 사용해야하는 문제에서 이를 사용하지 않는 경우가 있다.
   2) 조인을 제대로 했는지 확인한다.(left,right,내부조인)
   3) 위의 두가지를 확인했는데도 이상이 없으면 두 개의 테이블의 데이터가 잘못입력된
      경우이다. 이때 시험시간에 일일이 데이터를 확인할 시간이 없다.
      두테이블의 데이터를 확인하데 조인된 필드의 데이터가 잘못입력됬을경우가 대부분이기
      때문에 조인된 필드의 데이터만 확인하면 되고 또한 시험문제의 출력형태의 레코드부분만
      본다면 신속하게 수정할 수가 있다.

 

4. 폼만들기


● 시험치기 전 한번더 체크 할 사항.

 1) 콤보상자에서 2번쿼리의 첫 번째 필드가 데이터원본으로 사용되지 않았을 때 풀이방법을 다시한번 살펴본다.

 2) 보고서를 open 문제 : 버튼을 사용하고 컨트롤 마법사를 이용한다.
    메시지창 open 문제  : 속성의 이벤트탭을 이용하고 클릭하였을때가 주로나오며
    더블클릭(Dbl Click)도 나올수 있다. 매크로를 이용한다.
 

5. 보고서 만들기


 ● 시험치기 전 한번더 체크 할 사항.

1) 조건부서식
  - 하나의 필드에 조건 1개 : 필드값이 선택
  - 하나의 필드에 조건 2개이상 : 필드값이 선택, 추가버튼,서식2개이상 다르게 적용되는 문제
  - 두 개의 필드에 조건 2개이상 : 식이 선택, and, or 연산자 이용.
2) 그룹화
   - 두 개의 필드가 그룹화 되는 문제  

 

6. 레이블 보고서 만들기 


   ● 시험치기 전 한번더 체크 할 사항.
1) 레이블 출력순서 : 내림차순으로 문제가 나왔을때 하는 방법
2) Format함수 사용방법
3) 주소문제 : 특별시를 붙이고 등등.. 
4) 문제의 용지의 제품번호가 없을때 : 연속용지를 선택하고 찾아볼것.