드로우홀릭 더베이직

콤보상자 필터링 가능한가요?

2018.01.24 19:55:50 조회 수 20413 추천 수 0

안녕하세요~


폼에서 콤보상자에 입력된 값에 따라 후의 콤보상자의 값이 자동으로 변하게되는  내용이 궁금해서 질문드립니다.


예를

목록상자 (대분류:경기/강원/충북)    목록상자2(중분류:성남.수원/춘천,원주/제천,충주)  를 만들었을때

대분류에서 선택하면 대분류에 선택된 목록만 중분류에 보이게 만들려 합니다.


여러단으로 목록간 연결이 되는지 궁금합니다.


엑셀에서는 유효성 목록을 통해서 쉽게 구현되는데

액세스에서는 잘 모르겠습니다.


부탁드립니다.

감사합니다.


profile

윈드님

2018.01.27 20:57:04
*.227.97.207

추천
1
비추천
0

안녕하세요


질문주신 기능을 구현하려면 다음의 개념을 알아야 합니다.


이벤트

매크로 또는 이벤트프로시저

행 원본


개념적으로 먼저 설명 드리면 다음과 같은 로직으로 프로그래밍을 해야 합니다.

'대분류'를 선택했을 때 이벤트가 발생하여 '중분류'의 행 원본을 '대분류'값에 속한 '중분류'로 변경 해 주어야 합니다.


일단 '대분류'와 '중분류'의 데이터 구조를 만듭니다.

Cap 2018-01-27 20-36-42-102.png

위와 같이 만들면 '대분류' 에 종속된 '중분류' 데이터를 사용 할 수 있습니다.


그 후에 폼을 만들어 '대분류' 와 '중분류' 콤보 상자를 만들어 줍니다.


여기에서 '대분류' 콤보에 할 작업은 '행 원본' 지정과 'AfterUpdate' 이벤트 입니다.

'중분류' 콤보에 할 작업은 '행 원본' 지정입니다.


'대분류' 콤보의 행 원본 지정

Cap 2018-01-27 20-40-44-247.png



그 다음 '중분류' 콤보의 행 원본 지정 입니다.

Cap 2018-01-27 20-38-13-188.png

[Forms]![지역선택]![cboBig] 의 의미는 '지역선택' 이라는 폼의 'cboBig'이라는 컨트롤의 값을 참조 한다는 뜻 입니다. ('cboBig'이 '대분류' 콤보의 이름입니다.)


이렇게 '중분류'콤보의 행 원본을 지정해 주면 '대분류' 선택 시 해당 '대분류' 값에 종속되는 '중분류' 리스트가 표시되게 됩니다.

여기서 중요한점은  이 변경되는 '증분류' 리스트가 실시간으로 화면에 표시되지 않는다는 점 입니다.


이런 이유로 '대분류' 선택 시 '중분류' 컨트롤을 '갱신' 해 주어야 합니다.

'대분류' 컨트롤의 After Update 이벤트에 다음 매크로를 만들어 줍니다.

Cap 2018-01-27 20-56-39-847.png

Cap 2018-01-27 20-37-40-384.png

이 매크로의 의미는 '중분류' 컨트롤인 'cboMid' 를 갱신(Requery) 하는 매크로 입니다.



vb로 구현하려는 분은 첨부 파일의 '지역선택_vb' 폼을 보시면 될 것 같습니다.

첨부

지토

2018.02.05 10:00:58
*.99.72.99

감사합니다.

대분류-중분류 2단은  after updata와 requery를 잘 활용하여 구현아였습니다.


대분류-중분류-소분류 3단 분류를 할 경우 동일한 방법으로 여려웠습니다.

추가로 응용하여야 하는 방법을 부탁드립니다.


예  대분류(한국                              /중국)

      중분류(경북,          경기           /화북구,               동북구)

      소분류(김천,안동  안성, 수원 / 북경시,하북성  길림성,흑룡강성) 이렇게 분류하고 싶습니다.


감사합니다.



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31820
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 27977
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23109
259 3단 콤보상자 필터링 1 1 지토 2018-02-05 17936
258 프린트 관련 문의 file Ssari 2018-02-01 2558
257 튜터링 서비스에 대하여.... 1 동글이아빠 2018-01-31 2443
256 첨부파일 필드(다중필드) 데이터를 다른 테이블로 옮기려면? 액세스으다 2018-01-28 1650
255 필드 및 폼 연결 관련 문의 2 액세스새내기 2018-01-28 6573
254 액세스로 동영상 플레이어 개발도 가능한가요? 2 그루터기 2018-01-27 2153
» 콤보상자 필터링 가능한가요? 2 지토 2018-01-24 20413
252 거래처정렬하는방법 3 열공액세스 2018-01-24 2528
251 데이터의 관계 file 3 Ssari 2018-01-23 4055
250 고유번호부여질문 1 열공액세스 2018-01-23 5738
249 데이터시트 보기에서 하단의 요약보기에 원래 버그가 있는건가요 ? 1 상승무드 2018-01-22 2064
248 직장인을 위한 실무 액세스 책의 조회 폼을 만들었는데요... 3 상승무드 2018-01-21 2371
247 dsum 함수 문의 드립니다. 1 쿠웨이트azrp 2018-01-20 2892
246 액세스 질문 드립니다. 1 쿠웨이트azrp 2018-01-18 4748
245 2010은 교재가 전자북이 없는건가요..? 1 mercer 2018-01-16 3351
244 짧은 텍스트의 형식 지정 file 6 Ssari 2018-01-15 3525
243 엑셀시트 업로드 시, 이름 자동 고침 저장 실패 발생 file 2 액세스으다 2018-01-13 3465
242 관계 관련... file 2 Ssari 2018-01-12 3476
241 데이터 가공 관련 file 2 Ssari 2018-01-11 2103
240 Shift + Space 키 관련 질문 1 열공액세스 2018-01-09 2343


  주소  12925 경기도 하남시 미사대로 540, B동 917호 (현대지식산업센터 한강미사2차) ㈜팀데이터이십일  |  고객센터 전화번호  02-467-2998  |  대표이사  염기웅
개인정보관리책임자  염기웅 (ml_privacy@td21.com)  |  사업자등록번호  120-86-79260  |  통신판매업신고번호  제 2021-경기하남-1166 호  [사업자 정보 확인]
  TD21의 사전 서면 동의 없이 TD21 사이트 일체의 정보, 콘텐츠 및 UI 등을 상업적 목적으로 전시, 전송, 스크래핑 등 무단 사용할 수 없습니다.