데이타베이스에 저장된 날짜필드와 MASKEDIT에 입력한 값을 비교하여
해당되는 레코드를 SELECT하려 하는데 연산자가 없습니다라는 에러메세지가
발생합니다. 제 생각으로는 데이타베이스에있는 날짜 필드인 I_DATE를 가져
오지 못하는거 같은데요.... 다른 필드는 다 올라오거든요.....
PARADOX TABLE에서는 실행이 되었거든요...
고수님의 답변을 부탁합니다.
코드는 다음과 같습니다.
QueryIpgo.Sql.Add('Select * '+
' From IPGO A '+
' Where '+
Format(' Extract(Year From A.I_DATE) = %4d',[wYear])+
Format(' and Extract(Month From A.I_DATE) = %2d',[wMonth])+
Format(' and Extract(Day From A.I_DATE) = %2d',[wDay])+
' Order by A.I_NUM');
> 데이타베이스에 저장된 날짜필드와 MASKEDIT에 입력한 값을 비교하여
> 해당되는 레코드를 SELECT하려 하는데 연산자가 없습니다라는 에러메세지가
> 발생합니다. 제 생각으로는 데이타베이스에있는 날짜 필드인 I_DATE를 가져
> 오지 못하는거 같은데요.... 다른 필드는 다 올라오거든요.....
>
> PARADOX TABLE에서는 실행이 되었거든요...
>
> 고수님의 답변을 부탁합니다.
>
> 코드는 다음과 같습니다.
> QueryIpgo.Sql.Add('Select * '+
> ' From IPGO A '+
> ' Where '+
>
> Format(' Extract(Year From A.I_DATE) = %4d',[wYear])+
> Format(' and Extract(Month From A.I_DATE) = %2d',[wMonth])+
> Format(' and Extract(Day From A.I_DATE) = %2d',[wDay])+
> ' Order by A.I_NUM');
Access 에서는 Extract라는 함수가 없습니다..
Query문장을 다음과 같이 바꾸어 보세요...
QueryIpgo.Sql.Add('Select * '+
' From IPGO A '+
' Where '+
Format(' Convert(I_DATE, 'YYYY') = %4d',[wYear])+
Format(' and Convert(I_DATE, 'MM') = %2d',[wMonth])+
Format(' and Convert(I_DATE, 'DD') = %2d',[wDay])+
' Order by A.I_NUM');