드로우홀릭 더베이직

엑세스 조회 폼 만들기 질문 드립니다.

2017.07.17 13:16:09 조회 수 23587 추천 수 0

안녕하세요. 액세스 공부하고 있는 직장인입니다.


아래 답변 정말 감사합니다.


감의도 참고하겠습니다.


매출전표 매입전표 관리 조회 폼 만들어서 사용하려고 하는데요.


전표구분 조건 & 날짜조건 다 검색해서 사용할 수 있는 구문이 있을까요.


궁금합니다.


파일첨부하오니 확인부탁드립니다.




profile

윈드님

2017.07.17 16:03:20
*.149.161.117

일단 원하시는 검색 방법이 날짜조건은 필수이고 전표구분은 필수인지 아닌지 몰라서 제 임의대로 해 보았습니다.


이 코드의 가장 중요한 점은 ConSQL에 기본 구문 + 'WHERE 1=1' 을 추가하여 뒤에 붙는 조건을 동적으로 처리한다는 점 입니다.

WHERE  1=1 이 없다면 처음 시작하는 조건문인지를 확인하여 처음 시작하는 조건문은 앞에 AND 를 사용하지 않아야 하는데, 이 부분을 코드로 구현하기가 힘들 것 입니다. 아래와 같은 방법을 사용하면 간단하게 구현 할 수 있습니다.


    Dim strSQL As String
    Dim strWhere As String
   
    Const ConSQL = "SELECT 거래일 FROM 출입고내역 WHERE 1=1 "       '여기서 기본 구문을 선언합니다. 이유는 날짜 와 구분 조건 중에 값이 없으면 그 부분은 필터에서 빠져야 하기 때문입니다. WHERE  1=1 은 쿼리를 동적으로 구현하기 위한 꼼수입니다. 이 뒤에는 And ... 로 계속 동적으로 조건을 붙일 수 있기 때문입니다.
    
    '1. 날짜에 값이 있을 때 조회조건에 추가 (값이 없는 경우 조회조건에 추가시키지 않는다.)
    If Nz(Me.txt시작일, "") <> "" Then
        If Nz(Me.Txt종료일, "") <> "" Then
            strWhere = " AND [거래일] >= #" & Me.txt시작일 & "# And [거래일] <= #" & Me.Txt종료일 & "#"
        Else
            'MsgBox "종료일을 입력하세요."
            'exit sub
        End If
    Else
        'msgBox "시작일을 입력하세요
        'Exit Sub
    End If


    '2. 전표구분 관련 조회조건에 추가( 이 역시 전표구분에 값이 없으면 조회조건에 추가 자체를 하지 않습니다.)
    If Nz(Cmb전표구분, "") <> "" Then
        strWhere = strWhere & " AND 전표구분 = '" & Me.Cmb전표구분 & "'"
    Else
        'MsgBox "전표구분 을 입력하세요."
        'exit sub
    End If
   

'3. 정의한 조회 조건 구문 생성
    strSQL = ConSQL & " " & strWhere
   
    DoCmd.ApplyFilter strSQL




첨부
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31710
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 27851
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23081
379 입력폼에서 작성자/작성일시 등의 필드 처리 1 클로이 2020-04-28 2487
378 강의 문의 겨루기 2020-04-01 452
377 ID와 암호 기반의 로그인 기능 클로이 2020-03-31 272
376 관계설정시 1 또는 무한대 표시가 안되네요. 3 클로이 2020-03-26 1505
375 직장인을 위한 실무 액세스 링크 문의 sdfawe 2020-03-02 298
374 [직장인을 위한 실무활용 엑세스] 메모장 한글 깨짐 file 1 전승진 2020-03-01 11024
373 책을 보다가 어떻게 궁금증이 하나 생겼는데 시도해보니 잘 안되서요.(급여대장/소득세계산) 3 ditto 2020-02-24 446
372 코드북 활용에 대한 질문입니다. 10 클로이 2020-02-23 9437
371 액세스 텍스트 연결방법과 관련하여 질문 드립니다. 2 broadside 2020-02-21 3407
370 콤보상자 단어 검색 문의 file 4 액알못 2020-02-17 9817
369 신규등록 코드 및 팝업 질문 file 액알못 2020-02-14 11406
368 입문자의 초보질문입니다 4 소목동 2020-02-12 5437
367 비슷한 단어 찾기 코드좀 알려주세요 4 액알못 2020-02-09 597
366 쿼리 구성방법 질문드려요 1 broadside 2020-02-03 409
365 쿼리 행간 계산 문의 file 5 라키7 2020-01-15 12544
364 튜터링 서비스 문의 1 sdifejidfieji 2020-01-06 475
363 Data 형태로 저장된 문장과 단어의 결합 2 라키7 2020-01-02 284
362 ㅎㅎ 질문이 끝이 없네요. 2 라키7 2019-12-28 1273
361 직장 프로그램 요구사항 명세서 만들면서 도움요청 1 엑세스00 2019-12-27 647
360 ODBC 로 연결된 mysql Table PK가 복합키인 경우 에러 등 1 라키7 2019-12-25 487


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