나눔터  
  HOME > 나눔터 > 묻고답하기 > 액세스
액세스
액세스에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 황동준 (bogri2000)

추천:  1
파일:     190221.accdb (356KB) 조회:  2199
제목:   [RE]날짜검색 조건 문의
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 액세스 버전(95,97,2000,xp,2003,2007): 2010

* 아래줄에 질문을 작성하세요 >> 

실례가 안된다면 한가지 더 여쭤봐도 될련지요?

날짜 검색문 작성시 입력한 날짜가 없을 경우에는 입력한 날짜 이전의 마지막날짜로 검색하려고 합니다. 

ex) 테이블 날짜필드 구성 : 2019-01-05, 2019-02-01, 2019-02-08, 2019-02-23
    1. 쿼리에서 날짜필드를 검색조건으로 설정
    2. 입력날짜를 '2019-02-20'으로 입력
    3. 테이블에 '2019-02-20'가 있으면 '2019-02-20'로 출력
    4. 테이블에 '2019-02-20'가 없으면 '2019-02-20'이전 날짜 중에 
       가장 최근날짜인 '2019-02-08'을 출력

초보한테는 마니마니 어렵네요~ 부탁드립니다.
==============[화니님 글에 대한 답변입니다]==============

1. 쿼리1에서 입력한 날짜의 이전 근사값을 먼저 찾습니다.

  PARAMETERS [검색일자를 입력하세요] DateTime;
  SELECT TOP 1 Table1.일자
  FROM Table1
  GROUP BY Table1.일자
  HAVING (((Table1.일자)<=[검색일자를 입력하세요]))
  ORDER BY Table1.일자 DESC;

2. 쿼리2에서 쿼리1과 테이블을 조인하여 결과를 나타냅니다.

  SELECT Table1.ID, Table1.일자
  FROM Query1 INNER JOIN Table1 ON Query1.일자 = Table1.일자;

3. 쿼리3은 위 쿼리1을 서브쿼리로 넣어 하나의 쿼리로 만들수 있습니다.

  SELECT Table1.ID, Table1.일자
  FROM Table1
  WHERE 일자=(
  PARAMETERS [검색일자를 입력하세요] DateTime;
  SELECT TOP 1 Table1.일자
  FROM Table1
  GROUP BY Table1.일자
  HAVING (((Table1.일자)<=[검색일자를 입력하세요]))
  ORDER BY Table1.일자 DESC;);

4. 첨부파일에는 위 쿼리와 폼에서 검색하는 간략한 예제가 있습니다.
테이블과 쿼리를 입력또는 조회로 사용하기에는 여러가지 제약이 따릅니다. 폼을 이용하시는 방법을 연습하세요.
 
[불량 게시물 신고]  
화니감사합니다. 공부할께 많네요~ 폼활용 연습하겠습니다.02-25 (09:45)
삭제 ■신고
        
  

작성일 : 2019-02-21(15:45)
최종수정일 : 2019-02-21(15:45)
 


 ◎ 관련글

  제 목   작성자   날짜
날짜검색 조건 문의 화니 2019-02-20
[RE]날짜검색 조건 문의 황동준 2019-02-21