Pesquisa por data dando erro..
E aí ?... antes eu usava VARCHAR para receber valores data aí resolví mudar os campos para DATE, só que quando faço um pesquisa ela está dando erro..vela o que pode ser de errado...
este é o erro...
credo muda uma coisinha e dá um problema danado...vlw t+
_FORM_OS_REL_IMP_01.BD_OFC_ELE.Close; _FORM_OS_REL_IMP_01.BD_OFC_ELE.SQL.Clear; _FORM_OS_REL_IMP_01.BD_OFC_ELE.SQL.Add(´Select * from ORCAMENTO_OFIC_ELET where GS_OOE_DATA_ENT between ´+StrToDate(MaskEdit1.text)´ and ´StrToDate(MaskEdit2.text); _FORM_OS_REL_IMP_01.BD_OFC_ELE.Open;
este é o erro...
[Error] Unit41.pas(86): Missing operator or semicolon
credo muda uma coisinha e dá um problema danado...vlw t+
Gigatel
Curtidas 0
Respostas
Oscar Candido
27/11/2005
Vc fechou a última aspa??
seria:
ao invés de :
seria:
...´StrToDate(MaskEdit2.text)´;
ao invés de :
...´StrToDate(MaskEdit2.text);
GOSTEI 0
Gigatel
27/11/2005
Mudei assim
más dá agora este erro
tentei converter más num deu certo..
_FORM_OS_REL_IMP_01.BD_OFC_ELE.SQL.Add(´Select * from ORCAMENTO_OFIC_ELET where GS_OOE_DATA_ORC between ´+char(39)+MaskEdit1.text+char(39)+´ and ´ +char(39)+MaskEdit2.text+char(39));
más dá agora este erro
conversion errorfrom string 22/11/2005
tentei converter más num deu certo..
GOSTEI 0
Oscar Candido
27/11/2005
Ops, falei besteira :oops: :oops:
acho que seria
acho que seria
_FORM_OS_REL_IMP_01.BD_OFC_ELE.Close; _FORM_OS_REL_IMP_01.BD_OFC_ELE.SQL.Clear; _FORM_OS_REL_IMP_01.BD_OFC_ELE.SQL.Add(´Select * from ORCAMENTO_OFIC_ELET where GS_OOE_DATA_ENT between ´+ StrToDate(MaskEdit1.text)+ ´ and ´ + StrToDate(MaskEdit2.text); _FORM_OS_REL_IMP_01.BD_OFC_ELE.Open;
GOSTEI 0
Gigatel
27/11/2005
deu este erro aki
Vlw pelo apoio
[Error] Unit41.pas(86): Incompatible types: ´String´ and ´TDateTime´ [Error] Unit41.pas(86): Incompatible types: ´String´ and ´Extended´
Vlw pelo apoio
GOSTEI 0
Gigatel
27/11/2005
Andei pesquisando más só mudei o tipo do campo de varchar para date...e dá o erro...muito estranho.. e continua sem solução...
GOSTEI 0
Okama
27/11/2005
Olá Gigatel,
Insira Aspas simples e formate a data antes de enviar para o SQL.
Não há necesisdade de usar Varchar:
Insira Aspas simples e formate a data antes de enviar para o SQL.
Não há necesisdade de usar Varchar:
Var DataINI, DataFIM : TDateTime Begin Try DataINI := StrToDateTime( MaskEdit1.Text ); DataFIM := StrToDateTime( MaskEdit2.Text ); Except end; SQL.text := ´Select * from TABELA where Campo_Data between ´+ QuotedStr( FormatDateTime(´mm/dd/yyyy´, DataINI) )+ ´ and ´+ QuotedStr( FormatDateTime(´mm/dd/yyyy´, DataFIM) ); Open; ...
GOSTEI 0
Gigatel
27/11/2005
Olá Gigatel,
Insira Aspas simples e formate a data antes de enviar para o SQL.
Não há necesisdade de usar Varchar:
Var DataINI, DataFIM : TDateTime Begin Try DataINI := StrToDateTime( MaskEdit1.Text ); DataFIM := StrToDateTime( MaskEdit2.Text ); Except end; SQL.text := ´Select * from TABELA where Campo_Data between ´+ QuotedStr( FormatDateTime(´mm/dd/yyyy´, DataINI) )+ ´ and ´+ QuotedStr( FormatDateTime(´mm/dd/yyyy´, DataFIM) ); Open; ...
OI blz ?...Coloquei este código:
procedure T_FORM_OS_SELDATA_MOS.Button1Click(Sender: TObject); Var DataINI, DataFIM : TDateTime; Begin Try DataINI := StrToDateTime( MaskEdit1.Text ); DataFIM := StrToDateTime( MaskEdit2.Text ); Except end; _FORM_OS_REL_IMP_01 := T_FORM_OS_REL_IMP_01.Create(Self); _FORM_OS_REL_IMP_01.QRLabel6.Caption := ´Relatório de O.S. - Entradas´; _FORM_OS_REL_IMP_01.BD_OFC_ELE.Close; _FORM_OS_REL_IMP_01.BD_OFC_ELE.SQL.Clear; _FORM_OS_REL_IMP_01.BD_OFC_ELE.SQL.Add(´Select * from ORCAMENTO_OFIC_ELET where GS_OOE_DATA_ORC between ´+ QuotedStr( FormatDateTime(´mm/dd/yyyy´, DataINI) )+ ´ and ´+ QuotedStr( FormatDateTime(´mm/dd/yyyy´, DataFIM) ); _FORM_OS_REL_IMP_01.BD_OFC_ELE.Open; _FORM_OS_REL_IMP_01.QuickRep1.Preview; end;
más dá este erro
[Error] Unit41.pas(98): ´)´ expected but ´;´ found
vlw
GOSTEI 0
Gigatel
27/11/2005
Vlw..agora funcionou estava faltando um parenteses ( acho que é assim que se escreve )....A funcão ficou assim...
Vlw...pelo apoio t+
procedure T_FORM_OS_SELDATA_MOS.Button1Click(Sender: TObject); Var DataINI, DataFIM : TDateTime; Begin Try DataINI := StrToDateTime( MaskEdit1.Text ); DataFIM := StrToDateTime( MaskEdit2.Text ); Except end; _FORM_OS_REL_IMP_01 := T_FORM_OS_REL_IMP_01.Create(Self); _FORM_OS_REL_IMP_01.QRLabel6.Caption := ´Relatório de O.S. - Entradas´; _FORM_OS_REL_IMP_01.BD_OFC_ELE.Close; _FORM_OS_REL_IMP_01.BD_OFC_ELE.SQL.Clear; _FORM_OS_REL_IMP_01.BD_OFC_ELE.SQL.Add(´Select * from ORCAMENTO_OFIC_ELET where GS_OOE_DATA_ORC between ´+ QuotedStr( FormatDateTime(´mm/dd/yyyy´, DataINI) )+ ´ and ´+ QuotedStr( FormatDateTime(´mm/dd/yyyy´, DataFIM))); _FORM_OS_REL_IMP_01.BD_OFC_ELE.Open; _FORM_OS_REL_IMP_01.QuickRep1.Preview; end;
Vlw...pelo apoio t+
GOSTEI 0