|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 액세스 버전(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. 첨부파일에는 위 쿼리와 폼에서 검색하는 간략한 예제가 있습니다.
테이블과 쿼리를 입력또는 조회로 사용하기에는 여러가지 제약이 따릅니다. 폼을 이용하시는 방법을 연습하세요.
|
|