저 있쟈나요... 어떤거냠여, 디비 그리드가 있는데... 첫번째 컬럼에
충청북도, 서울시, 경기도.. 등의 지역구분이 들어갑니다... 이는 Lookup Field를 사용하여서 디비 그리드 내의 콤보 박스에서 선택을 하면, 그 옆 컬럼에는 선택된 지역 구분에 해당하는 지역 상세 주소들이 콤보 박스에 넘어 와서 사용자가 선택한 후 값을 저장하도록 하려고 합니다...
예>> Address1 || Addresss2
서울시 구로구 독산동 321-23
이런식으로 집어 넣는거예요...
그런데..비디 그리드의 Address1, Address2 모두다 콤보 박스지요....
Address1의 콤보박스에서 특정 도나 도시를 선택하는 건 되는데, Address2에서 가 문젭니다. Address1에서 선택된 도나 도시에 해당하는 상세 주소만 가져와야 하거든여요..
그리고 위의 주소는 오라클 DB에서 가져옵니다..
Code City City_GB
01 서울 code
01-01 영등포구...
01-02 구로구...
02 경기도 code
02-01 안양시....
02-02 인천시...
조금 불편하시긴 하겠지만요...
두개의 컬럼이 연동하는 경우에는 문제가 많이 있습니다...
첫번째 컬럼에서 선택된 코드를 이용해서 두번째 컬럼에 붙어있는 쿼리를 재조회 해버리시면요...
다른 레코드상에 있는 놈들이 표시되지 않는 경우가 많이 있습니다...
이런 경우에는 팝업 윈도우가 최고입니다...
일단 디비 그리드상에 코드명을 보여주는 뉴필드를 추가해주시구요...
코드 필드는 감추어 주세요...
그리고 더블클릭이나 마우스 오른쪽 버튼 클릭을 이용해서 팝업 윈도우를 생성하시구요...
팝업에서 코드 두개를 모두 선택할 수 있도록 하세요...
그리고 리턴되면 감춰진 코드 필드에 코드를 추가하시고...
뉴필드에는 코드명을 뿌려주시면 될거에요...
이래저래 불편하긴 하지만...
룩업필드의 경우 쿼리가 연동되는 경우에는 다른 레코드들에 표시되는 데이터도 고려하셔야 하거든요...
안되면 돌아가는 수밖에요...
저는 이런 경우를 위해서...
공통 코드들을 검색할 수 있는 몇개의 팝업 윈도우를 케이스별로 미리 정의해두고...
모듈 파일에 이 윈도우를 실행할 수 있는 함수들을 몇개 만들어서 사용하지요...
물론 DB 그리드에서는 이 함수만 호출하면 알아서 데이터를 다 물고 오도록 함수 디자인을 해야겠지요...
그럼 즐겁게 코딩하세요...