드로우홀릭 더베이직

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

2017.07.17 13:16:09 조회 수 23639 추천 수 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
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 31779
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 27931
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23091
219 날짜 입력 오류 file 2 공원벤치 2017-10-09 13211
218 액세스문의 file 1 다이아몬드 2017-10-06 2036
217 2013 구입 후 중급 강의 들으려고 하는데요 1 엄마 2017-09-30 2377
216 정말 급한 질문드립니다.ㅠㅠ 1 김병욱 2017-09-16 1998
215 VBA를 이용한 식 계산 file 1 park 2017-09-14 5661
214 TFaccess질문 - 그룹,메뉴관리화면의 이벤트집합을지원하지않습니다 메시지 file 1 raming 2017-09-06 2047
213 엑셀에서 데이터 옮길때 이런 현상이 발생했습니다. file 1 김병욱 2017-08-24 22254
212 직장인을 위한 실무 액세스의 예제 실행 (보고서의 Excel 추출)상의 Error 상황 1 작은별 2017-08-09 18860
211 엑셀에서 데이터 가져오기를 할 경우에... 1 하형석 2017-08-04 8511
210 엑세스 크기 기본단위가 인치로 바뀌었어요. 2 수강생 2017-08-02 2293
209 액세스2013 vs 액세스2016 1 잠만보 2017-07-26 2384
208 통합검색기능 크기 조절가능할까요? file 1 김병욱 2017-07-21 3707
207 직장인을 위한 실무 액세스 file 4 1 조이 2017-07-19 19859
» 엑세스 조회 폼 만들기 질문 드립니다. file 1 열공액세스 2017-07-17 23639
205 액세스 2013버전을 가지고 2010 강의를 들어도 될까요? 1 호롤로천재 2017-07-13 3118
204 다른 사람이 로그인 정보를 내가 보게 되는 경우는 없나요? 1 그루터기 2017-07-08 1386
203 튜터링 서비스 file 1 MKKim 2017-07-07 2858
202 영업사원별 실적관리 및 A/S관리 내별명 2017-07-05 1498
201 검색 창 크기 및 위치 질문입니다. file 1 1 김병욱 2017-07-04 9835
200 안녕하세요 일련번호질문입니다. 1 김병욱 2017-06-28 4523


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