ㅔ.119
비주얼 베이직에 명령을 줘서 수행을 하게 함.
해당 트롤을 못 찾겠으면 속성 창의 드롭단추 누르면 그 중에 있음!
1. 어떤 일이 발생? what --- 내가 원하는 거래처에 해당하는 정보가 올라와야 한다
2. 어느 시점에 발생? when --- 레코드 찾기 버튼을 클릭했을 때
엑셀과 vba들어가는 과정이 좀 다르다
속성창에서
<filter, filteron구문>
Me.Filter = "조건식"
Me.FilterOn = True
여기서의 조건식은 대상값 기호 제시값 으로 구성
여기서
대상은 항상 테이블의 필드값.
제시값은 우리가 열고 있는 특정 컨트롤
제시값 찾기: [cmb거래처찾기]에서 최종적으로 선택하는 값이 제시값이 되는것.
대상필드 찾기:
1.반드시 선택유형을 '폼'으로 해두고 레코드 원본부터 확인하면,
거래처테이블 -> 거래처명이 대상필드임을 확인할 수 있다.
2. 디자인보기에서 그냥 연결필드가 있는지 찾아볼 수도 있음
따라서, 다시 써보면
Me.Filter = "필드=컨트롤"
--> Me.Filter = "거래처명=cmb거래처찾기"
그래도 (x)
vba에서 따옴표 쓰는 이유:
1. 문자
2. 정보공유: 여기서 못찾으면 연관된 다른 프로그램에서라도 찾아와라
여기서 "" 쓴 이유는 거래처명이 필드이고,
필드는 엑세스의 고유값이기 때문에 vba 내에서 찾을수가 없기 때문
충돌성(바로 뒤에 나오는 따옴표에서 종료가 되지 엑셀함수의 ()같은 활용이 아님) 때문에 문자용 따옴표는 정보공유 시점 안에서는 ' ' 로 쓴다.
따라서, "거래처명='cmb거래처찾기'" (o)
이렇게 하면, 필터링됨까지 뜸.
근데도 안됨 왜?
컨트롤 인식에 실패했기 때문
정보공유 안에 컨트롤을 넣어두면 컨트롤로 인식하지 않는다.
따라서 컨트롤은 인식을 위해, 정보공유 따옴표 안으로부터 빼내야 한다
"이름='"txt조회"'"
[질문]&안써도 됨?-----써야됨!!!!
그리고 나서 봉합한다.
"이름='" & txt조회 & "'" (o)
<정리>
* 프로시저 4단계 작성법 "
"필드=컨트롤" 대상은 필드고 제시값은 컨트롤(레코드원본 참조)
"필드='컨트롤'" 컨트롤엔 문자가 있어..(충돌방지)
"필드='"컨트롤"'" 컨트롤은 빼내야지..(인식못하뮤ㅠ)
"필드='" & 컨트롤 & "'" 끊었으면 붙여야지.. &기호로!
'컴퓨터활용능력1급 > 컴활1급 실기' 카테고리의 다른 글
취성패_컴활1급_22일차 <최신기출문제2,3,4회> (0) | 2016.12.21 |
---|---|
취성패_컴활1급_20일차 <쿼리> (0) | 2016.12.19 |
취성패_컴활1급_18일차 <콤보상자 컨트롤속성, 컨트롤 하위폼 삽입> (0) | 2016.12.15 |
취성패_컴활1급_17일차 (0) | 2016.12.14 |
취성패_컴활1급_16일차 <access: 유효성검사, 입력마스크, 형식> (0) | 2016.12.13 |