드로우홀릭 더베이직

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

2018.01.24 19:55:50 조회 수 20566 추천 수 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 31948
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28075
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23138
420 TFaccess - Error in loading DLL (48) 오류 file Jay 2021-01-09 2380
419 실무 액세스 2 "참조"부분 file 3 키스톤 2020-12-22 4471
418 외부테이터 불러오기 중 file 2 키스톤 2020-12-09 1815
417 로그온폼 만들기 강의중에 이미지가 안보입니다. file 4 키스톤 2020-11-26 2483
416 테이블 구성 관련 문의 file 2 솔개 2020-11-25 2883
415 체크박스를 활용한 레코드 이동 시, 문제점 (공유 액세스) 2 선을 2020-11-24 2946
414 파일 첨부 또는 하이퍼링크 관련 질문 2 솔개 2020-11-22 2874
413 개발의뢰 및 튜터링 관련 1 Jay 2020-11-17 2139
412 액세스 2가지 질문이 있습니다 도움 부탁드립니다 1 모리 2020-11-11 588
411 보고서의 조건추가시 조건값에 콤보상자 값을 문자로 지정할 수 없나요? 4 청솔 2020-11-03 2856
410 두개의 xml 파일을 액세스로 합칠 수 있나요? 1 무명1 2020-11-02 412
409 여러 필드값을 하나로 합친 필드값 구하는 방법? 1 전산쟁이 2020-10-26 810
408 데이터 조회하는 방법 2 전산쟁이 2020-10-22 1305
407 (쿼리질문) 필드 데이터 가공방법 ? 3 전산쟁이 2020-10-16 8548
406 TFaccess 사용가능 버전 ??? 1 전산쟁이 2020-09-17 831
405 ERP 시스템 구현을 액세스로?? 2 클로이 2020-09-14 9483
404 (RE) 코드북 단일 폼에서 데이터 입력수정 file 5 룰루 2020-08-25 473
403 단일폼에서의 데이터 입력 수정 1 룰루 2020-08-25 523
402 액세스 버전 변경 4 클로이 2020-08-22 7525
401 선언문 내용 3 학이시습 2020-08-20 931


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