자격증/컴퓨터활용능력 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 '*" & 컨트롤명 & "*'"
이외에도 많이 쓰이는 구문이 있지만 시험 합격하고 정리해봐야겠다.
반응형