우보천리 개발

[컴활1급] 시험 전날에 요약하는 액세스 VBA 코드(이벤트 프로시저) 본문

자격증/컴퓨터활용능력 1급

[컴활1급] 시험 전날에 요약하는 액세스 VBA 코드(이벤트 프로시저)

밥은답 2021. 12. 11. 23:30
반응형

※ 폼 열기 ※


기본형태
docmd.openform [폼이름],[여는방식],,[조건]
  • 보기방식 다음에 FilterName 이지만 시험에서는 다루지 않기 때문에 보기방식 다음에 [조건]을 서술한다.
  • [조건]은 없을 수 있다.
  • [보기방식] 다음 ,(쉼표)가 두개인 이유는 FilterName 부분을 건너뛰어야함.
  • 폼 이름과 조건은 큰 따옴표 안에 넣어줘야한다.
예시) 학생폼을 인쇄미리보기 방식으로 열어라
docmd.openform "학생폼",acNormal
예시2) txt학번과 일치하는 학번만 조회해라
docmd.openform "학생폼",acNormal,, "학번 = '" & txt학번 & "'"

※ 보고서 열기 ※ 

  • 폼을 여는 방식과 비슷하다.
  • Form 대신 Report로 대체해주면 된다.
기본형태
docmd.openReport [보고서이름],[보기방식],,[조건]

※ Me.RecordSource ※ 

기본형태
Me.RecordSource = "Select 필드명 From 테이블명 Where 조건"
  • 문제에서 RecordSource를 사용하라고 나오면 Me개체에 들어있기 때문에 Me.RecordSource를 호출하면 된다.
  • 보통 Select 다음에는 모든 레코드를 가져오는 *를 많이 사용한다.
예시) txt조회 컨트롤에 입력된 주문번호와 일치하는 자료들을 가져와라
Me.RecordSource = "Select * From 주문정보 Where "주문번호 = '" & txt조회 &"'"

※ RunSql ※ 

기본형태
DoCmd.RunSQL "Update 테이블명 Set 필드명 = 값 Where 조건
  • Update 외에 추가(Insert), 삭제(Delete) 등이 가능하다.
  • 그러나 내가 공부할 때 가장 많이 쓰인 것은 갱신(Update) 이다.
  • RunSQL를 사용하는 문제에서는 대부분 실행까지 해야하기 때문에 Requery 명령도 함께 수반된다
예시) 나이가 19살 미만인 학생들에 대해 '성인'필드를 '성인아님'으로 변경해라
DoCmd.RunSQL "Update 학생 Set 성인 = '성인아님' Where 나이 < 19"
DoCmd.Requery

※ 조건 처리 ※ 

  • 필드명과 컨트롤명을 비교하는 구문이다.
  • 문자, 숫자, 날짜, 일치여부에 따라 공식이 다르다.
  • - 문자와 비교
    Me.Filter = "필드명 = '"& 컨트롤명 &"'"
    
    - 숫자와 비교
    Me.Filter = "필드명 = " & 컨트롤명
    
    - 날짜와 비교 
    Me.Filter = "필드명 = #"& 컨트롤명 & "#"
    
    - 일치여부
    Me.Filter = "필드명 like '*" & 컨트롤명 & "*'"

 

이외에도 많이 쓰이는 구문이 있지만 시험 합격하고 정리해봐야겠다.

반응형
Comments