입력받은 날짜의 앞의 날짜를 찾아오는 방법?
입력에디트에서 날짜를 입력받았을때(임의적으로 입력을 합니다.)
예>1999-05-03
그런데 앞의 날짜에서 마지막으로 입력한 날짜는 1999-04-28 또는
1999-05-01일수도 있습니다.
결국, 앞의 날짜의 마지막 날짜가 몇년 몇월 몇일 인지는 알수가 없습니다.
그러니까, 현재 입력한 날짜의 바로앞의 날짜를 찾는거지요.
쿼리에서 바로찾고싶은데 문제가 있습니다.
with purchasequery do begin
close;
sql.clear;
sql.add('select * from "purchase.dbf"');
sql.add('Where pguraname="'+maskedit6.text+'%" and
pdate < "'+maskedit1.text+'"');
open;
end;
이름과 날짜로 조회를 하고자 합니다.
pdate 필드의 형식이 스트링이기 때문에 날짜비교를 못하고 있는데
어떻게 하면 날짜로 비교가 가능할까요?
또는, 같은 이름만 쿼리에서 오픈하여 날짜를 비교할때 어떻게하면 앞의
날짜를 찾을수 있을까요?
아니면 다른방법이 있으면 알려주십시요!
위의 쿼리 문장은 예를 들어 기술하였습니다.
pdate필드부분은 잘못기술된것을 알고 있습니다.예를 든것이지요.
많은 조언 부탁드립니다.
> 입력받은 날짜의 앞의 날짜를 찾아오는 방법?
> 입력에디트에서 날짜를 입력받았을때(임의적으로 입력을 합니다.)
> 예>1999-05-03
> 그런데 앞의 날짜에서 마지막으로 입력한 날짜는 1999-04-28 또는
> 1999-05-01일수도 있습니다.
> 결국, 앞의 날짜의 마지막 날짜가 몇년 몇월 몇일 인지는 알수가 없습니다.
> 그러니까, 현재 입력한 날짜의 바로앞의 날짜를 찾는거지요.
>
> 쿼리에서 바로찾고싶은데 문제가 있습니다.
> with purchasequery do begin
> close;
> sql.clear;
> sql.add('select * from "purchase.dbf"');
> sql.add('Where pguraname="'+maskedit6.text+'%" and
> pdate < "'+maskedit1.text+'"');
> open;
> end;
> 이름과 날짜로 조회를 하고자 합니다.
> pdate 필드의 형식이 스트링이기 때문에 날짜비교를 못하고 있는데
> 어떻게 하면 날짜로 비교가 가능할까요?
> 또는, 같은 이름만 쿼리에서 오픈하여 날짜를 비교할때 어떻게하면 앞의
> 날짜를 찾을수 있을까요?
> 아니면 다른방법이 있으면 알려주십시요!
> 위의 쿼리 문장은 예를 들어 기술하였습니다.
> pdate필드부분은 잘못기술된것을 알고 있습니다.예를 든것이지요.
> 많은 조언 부탁드립니다.
>--------------------------------
위의 예료 든 쿼리문의 해당하는 이름의 입력날짜 보다 적은 모든 자료가
다 리스트 되어 나오게 되는데 다음과 같이 고치면 되겠네요.
select max(pdate) from purchase.dbf where pguraname=입력받은 이름
and pdate < 입력받은 날짜
이렇게 하면 입력받은 이름에 해당하는 자료가 입력받은 날짜 보다 적으면서
가장 큰 날짜자료 1개만 리스트 되지요 즉 앞의날짜의 마지막 날짜가 되겠지요.
그럼 도움이 되었으면 합니다. ^_^