Fórum Consulta entre datas #43715
14/04/2004
0
Como consultar entre intervalo de datas sendo que a primeira data seja vazia? se o usuario digitar a primeira data tah dando certo a consulta, caso contrario nao sei o q fazer...
fiz o seguinte: (é uma consulta de contas a pagar por fornecedor e por data de emissao do documento, sendo q a primeira data pode ser vazia e dai com isso a consulta irá trazer todos os documentos do fornecedor ate a data final especificada)
IMDMF.TB_CONTAPAG.SQL.CLEAR;
IMDMF.TB_CONTAPAG.SQL.ADD(´SELECT * FROM CP01DOCU WHERE CP_CODIFOR=:CODIFOR AND CP_DATAEMI BETWEEN :DATAINICIAL AND :DATAFINAL´);
IMDMF.TB_CONTAPAG.PARAMBYNAME(´CODIFOR´).VALUE:=CEDIT1.TEXT; //codigo do fornecedor
IF ME1.TEXT=´ / / ´ THEN
IMDMF.TB_CONTAPAG.PARAMBYNAME(´DATAINICIAL´).VALUE:=NULL //data inicial vazia
ELSE
IMDMF.TB_CONTAPAG.PARAMBYNAME(´DATAINICIAL´).VALUE:=STRTODATE(ME1.TEXT); //data inicial preenchida
IMDMF.TB_CONTAPAG.PARAMBYNAME(´DATAFINAL´).VALUE:=STRTODATE(ME2.TEXT); //data final
IMDMF.TB_CONTAPAG.OPEN;
nao esta dando certo ....
Falow !
fiz o seguinte: (é uma consulta de contas a pagar por fornecedor e por data de emissao do documento, sendo q a primeira data pode ser vazia e dai com isso a consulta irá trazer todos os documentos do fornecedor ate a data final especificada)
IMDMF.TB_CONTAPAG.SQL.CLEAR;
IMDMF.TB_CONTAPAG.SQL.ADD(´SELECT * FROM CP01DOCU WHERE CP_CODIFOR=:CODIFOR AND CP_DATAEMI BETWEEN :DATAINICIAL AND :DATAFINAL´);
IMDMF.TB_CONTAPAG.PARAMBYNAME(´CODIFOR´).VALUE:=CEDIT1.TEXT; //codigo do fornecedor
IF ME1.TEXT=´ / / ´ THEN
IMDMF.TB_CONTAPAG.PARAMBYNAME(´DATAINICIAL´).VALUE:=NULL //data inicial vazia
ELSE
IMDMF.TB_CONTAPAG.PARAMBYNAME(´DATAINICIAL´).VALUE:=STRTODATE(ME1.TEXT); //data inicial preenchida
IMDMF.TB_CONTAPAG.PARAMBYNAME(´DATAFINAL´).VALUE:=STRTODATE(ME2.TEXT); //data final
IMDMF.TB_CONTAPAG.OPEN;
nao esta dando certo ....
Falow !
Marfred
Curtir tópico
+ 0
Responder
Posts
18/04/2004
Fabio.hc
Tente assim:
IMDMF.TB_CONTAPAG.SQL.CLEAR; IMDMF.TB_CONTAPAG.SQL.ADD(´SELECT * FROM CP01DOCU WHERE CP_CODIFOR=:CODIFOR AND ´); IMDMF.TB_CONTAPAG.PARAMBYNAME(´CODIFOR´).VALUE:=CEDIT1.TEXT; //codigo do fornecedor IF ME1.TEXT=´ / / ´ THEN begin IMDMF.TB_CONTAPAG.SQL.ADD(´ CP_DATAEMI <= :DATAFINAL´); end ELSE begin IMDMF.TB_CONTAPAG.SQL.ADD(´ CP_DATAEMI BETWEEN :DATAINICIAL AND :DATAFINAL´); IMDMF.TB_CONTAPAG.PARAMBYNAME(´DATAINICIAL´).VALUE:=STRTODATE(ME1.TEXT); //data inicial preenchida end; IMDMF.TB_CONTAPAG.PARAMBYNAME(´DATAFINAL´).VALUE:=STRTODATE(ME2.TEXT); //data final IMDMF.TB_CONTAPAG.OPEN;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)