컴퓨터활용능력1급/컴활1급 실기

취성패_컴활1급_19일차

삼토 2016. 12. 16. 15:30

ㅔ.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단계 작성법 "


"필드=컨트롤" 대상은 필드고 제시값은 컨트롤(레코드원본 참조)

"필드='컨트롤'" 컨트롤엔 문자가 있어..(충돌방지)

"필드='"컨트롤"'" 컨트롤은 빼내야지..(인식못하뮤ㅠ)

"필드='" & 컨트롤 & "'" 끊었으면 붙여야지.. &기호로!