드로우홀릭 더베이직

직장인을 위한 실무 엑세서 - 조회 폼 질문

2020.05.21 01:06:35 조회 수 2296 추천 수 0

안녕하세요 


현재 엑세스를 공부하며 조회 프로그램을 만들오 있습니다. 

직장인을 위한 실무 액세서를 보면 많은 도움이 되고 있습니다. 


공부하던중 조회 폼에 대하여 궁금한점이 있어 문의를 드립니다 

책에 나온 경우 모든 컨트롤 조건은 And 조건으로 하위 폼에 적용되는 것으로 보입니다. 


조회 컨트롤 설정

    obj판매일.Init_Between "판매일", enmSearchDataType_Date, txt판매일S, txt판매일E

    obj품목코드.Init_Equal "품목코드", enmSearchDataType_Text, cbo품목코드

    obj수량.Init_Between "수량", enmSearchDataType_Number, txt수량S, txt수량E

                )

 
위에서 보면 판메일, 품목코드, 수량이 And 조건입니다. 

제가 알고 싶은 것은 And 와 or 조건이 복합적으로 필요한 경우  검색 버튼의 VBA 프로그램을 어떻게 해야하는지 궁금합니다 
예를 들면 검색하고 싶은 조건은 아래와 같습니다. 

조건 1) txt시작일, txt종료일 
조건 2-1)  txt제품1,  txt지역1
조건 2-2)  txt제품2,  txt지역2
조건 2-3)  txt제품3,  txt지역3

조건 2-1) 2-2), 2-3)은 or 조건으로 검색결과를 내고 싶습니다. 이경우  버튼의 VBA프로그램을 어떻해야 할지 알고싶습니다. 

먼저 감사드립니다.  


profile

돌직구

2020.05.21 14:13:59
*.165.242.137

네, 도움이 되고 있으시다니 다행입니다.


좋은 질문 주셨는데요.. 결론부터 말씀드리자면, OR 조건을 포함하는 것은 매우 힘든 일이 됩니다.


일단 조회 화면 구성부터 생각해 봐야 합니다.

어떨 때는 AND 조건이고, 어떨 때는 OR 조건일 것입니다.

항상 OR조건만 필요한 것은 아니지요?


그렇다면, 액세스 폼 필터처럼.. 조회 조건을 입력하는 '페이지'가 여러 페이지가 되어야 합니다.

한 페이지 안에서는 모두 AND 조건이고, 각 페이지는 OR 조건인 것이지요.


그래서, 만약 미르님께서 정의한 대로 조건을 만들려면, '조회 모듈'을 사용할 수 없습니다.

'조회 모듈'은 모두 AND 조건으로 이어지는 상황을 상정해서 만든 것이기 때문입니다.



조회 모듈을 사용하지 않고 만드는 방법에 대해서 말씀드리겠습니다.

지면관계상 핵심 내용만 설명해 드리겠으니, 필요한 것은 따로 질문해 주시기 바랍니다.


일단, 조회 폼을 만들어 보십시오.

그리고 시작일, 종료일, 제품1~3, 지역1~3 까지의 컨트롤을 배치하시고..

'조회' 버튼의 'Click' 이벤트에 다음과 유사한 코드를 입력하시면 됩니다.


조회결과폼_하위폼_컨트롤이름.Form.RecordSource="조건식"


문제는 이 '조건식'이 매우 복잡할 수 있다는 겁니다.

어떨 때는 제품1, 지역1만 입력될 수 있고..

어떨 때는 제품1~2, 지역1~2 까지만 입력될 수 있겠죠?

이런 것을 해결해 주는 것이 조회 모듈이긴 합니다.

어쨌든, 제품1~2, 지역1~2까지 모두 포함한다면, 다음과 같은 조건식이 만들어져야 합니다.

(판매일 BETWEEN #시작일_값# AND #종료일_값#) AND (((제품=txt제품1_값) AND (지역=txt지역1_값)) OR ((제품=txt제품2_값) AND (지역=txt지역2_값)))


반면, 제품1, 지역1만 입력된다면 다음과 같은 조건식이 만들어져야 합니다.

(판매일 BETWEEN #시작일_값# AND #종료일_값#) AND (((제품=txt제품1_값) AND (지역=txt지역1_값)))


이런 처리를 모두 포함하여 '조건식'에 입력되도록 해 주면 됩니다.


무척 어렵지요?

그래서 매우 어렵다고 말씀 드린 겁니다.


시도해 보십시오!

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31970
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28124
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23156
400 실무액세스 검색폼 모듈을 수정했는데 잘 안되네요. file 4 클로이 2020-08-11 597
399 실무액세스 교재 272쪽 내용(?)을 부탁드립니다. 2 클로이 2020-08-07 403
398 코딩한 내용이 작동이 안됩니다. file 4 학이시습 2020-08-05 236
397 InputBox, MsgBox 함수 원형표시 차이 1 학이시습 2020-08-04 818
396 액세스 문의 입니다 (디자인보기 복사) 1 김상탁 2020-08-03 7358
395 엑세스 초보 질문입니다. 1 토니수사 2020-07-20 517
394 [직장인을 위한 실무 액세스] p.264 조회기능 넣기 '개체가 필요합니다' 오류 1 access어린이 2020-07-15 1187
393 '금액'계산 필드 만들기(322페이지) 질문입니다. file 2 학이시습 2020-07-11 381
392 보고서 인쇄 시 사진 누락 file 1 ming 2020-06-23 289
391 무따2013 신용카드 폼 만들기 [조회수정] 필드에 대한 질문입니다. 1 클로이 2020-06-13 296
390 하나의 폼에 두개의 쿼리에서 갑을 찾아오는 방법 2 백두산 2020-06-11 7504
389 한 필드에서 여러개의 같은 데이터중 한개의 데이터만 가져오는 방법 2 백두산 2020-06-05 43260
388 액세스 업데이트 쿼리 질문!! 2 dhgo 2020-06-04 11263
387 액세스 쿼리에서 질문 1 dhgo 2020-06-03 1117
386 구문해석 5 백두산 2020-05-26 1316
» 직장인을 위한 실무 엑세서 - 조회 폼 질문 1 미르 2020-05-21 2296
384 시간대별로 다른 task 할당받은 직원들의 당일일정표 보여주기 2 클로이 2020-05-10 306
383 매크로가 안됩니다. file 1 학이시습 2020-05-07 289
382 데이터 나누기 11 백두산 2020-05-06 651
381 두 데이타 합치기 질문입니다 1 백두산 2020-04-29 751


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