Posts
31/08/2010
Leonardo Xavier
Que tipo de parâmetros você esta se referindo?
Assim, de acordo com um parametro que eu passar o relatório é mostrado .
Explica melhor como é essa ideia de passagem de parametros que vc deseja fazer?
bacalajr
Queria gerar um relatório de acordo com a data que eu passar como parametro.
31/08/2010
Eriley Barbosa
Parametro é na query, não tem nada a ver com o relatório.
Monte o seu relatório normalmente e antes de chama-lo passe os parametros para query e abra-a.
Eu fiz na Query mesmo, mas quando vou abrir o relatório, ele abre vazio.
Está dessa forma:
Na Query =
select * from veiculacao
where DATAFIM BETWEEN :DATAINI AND :DATAFIM
No botão onde chama o formulário
CLIENTDATASET.FETCHPARAMS;
CLIENTDATASET.PARAMS.PARAMBYNAME('DATAINI').VALUE:=EDIT1.TEXT;
CLIENTDATASET.PARAMS.PARAMBYNAME('DATAFIM').VALUE:=EDIT2.TEXT;
CLIENTDATASET.OPEN;
FORM_RELATORIO.QUICKREP1.PREVIEW;
31/08/2010
Eriley Barbosa
CLIENTDATASET.FETCHPARAMS;
CLIENTDATASET.PARAMS.PARAMBYNAME('DATAINI').AsDateTime:=StrToDate(EDIT1.TEXT);
CLIENTDATASET.PARAMS.PARAMBYNAME('DATAFIM').AsDateTime:=StrToDate(EDIT2.TEXT);
CLIENTDATASET.OPEN;
//Para ver se retornou registro
ShowMessage(IntToStr(ClientDataset.RecordCount));
FORM_RELATORIO.QUICKREP1.PREVIEW;
Não deu certo, ele está retornando vazio, mas no banco ele retorna alguns registros. Isso tá muito estranho
01/09/2010
Jonathan Campos
o DataSet do QRDBText está setado na query ou no clientdataset?Verifica tbm se datafield está setado no campo certo da sua tabela.
Ele está setado no ClientDataSet, Ele está funcionando, só não funciona quando coloco os parametros.
01/09/2010
Leonardo Xavier
Faz o seguinte, abra o seu quickreport e verifique se na aba de propriedades dele o campo dataset, esta setado no datasource do seu formulario do relatório. Se ele nao estiver aparecendo você ira abrir as Fields de sua Query e clicar em qualquer uma delas e arrastar o campo selecionado para dentro do seu quick report, irá aparcer uma mensagem clique em ok. Após ter feito isso veja se ao selecionar o campo DataSet de seu quickreport isa aparecer a sua consulta. Qualquer coisa posta aqui.
Eu fiz outros testes e ele não está aceitando nenhum parametro.
na linha antes de passar os parametros insira...
clientDataset.prepare;
para que ele verifique antes, da passagem de parametros.
tente depois me avise.
Ele não está reconhecendo esse comando (prepare).
01/09/2010
Jonathan Campos
Tente assim
CLIENTDATASET.CLOSE;CLIENTDATASET.FETCHPARAMS;CLIENTDATASET.PARAMS.PARAMBYNAME('DATAINI').AsDateTime:=StrToDate(EDIT1.TEXT);CLIENTDATASET.PARAMS.PARAMBYNAME('DATAFIM').AsDateTime:=StrToDate(EDIT2.TEXT);CLIENTDATASET.OPEN;