Como Programar Para Criar Relatórios De um Sistema Em Delphi.
Olá Amigos do fórum... estou precisando de ajuda urgente pois e para fazer relatórios de um sistema que estou desenvolvendo para meu projeto....
O sistema já está desempenhando de alguma forma o que ele foi proposto para fazer... Só que na parte de relatório está um pouco difícil... Tenho três Rádios Buttons, Diário,Mensal,Por Data. Preciso que o relatório amostre as datas por exemplo de vendas do caixa de hoje.... Mensal do mês todo E por Data...
Fiz um Código aqui Assim...
if (Diário.Checked = true) then
begin
Ibtable1.Active := False;
Form4.Ibtable1.filter := 'DATA_VENDA = ' +''''+ DateToStr(Now)+'''';
Form4.Ibtable1.filtered := true;
Form4.Ibtable1.Active := true;
Ibtable1.filtered := true;
IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
Essa tabela pega os valores das vendas do caixa da lanchonete.. Quando eu abro aparece todas as vendas só que quando escolho umas das opções de Relatório os dados do caixa fica somente na data das vendas de Hoje sumindo as outras vendas.... Será que e a lógica do meu Código que está errada...
O sistema já está desempenhando de alguma forma o que ele foi proposto para fazer... Só que na parte de relatório está um pouco difícil... Tenho três Rádios Buttons, Diário,Mensal,Por Data. Preciso que o relatório amostre as datas por exemplo de vendas do caixa de hoje.... Mensal do mês todo E por Data...
Fiz um Código aqui Assim...
if (Diário.Checked = true) then
begin
Ibtable1.Active := False;
Form4.Ibtable1.filter := 'DATA_VENDA = ' +''''+ DateToStr(Now)+'''';
Form4.Ibtable1.filtered := true;
Form4.Ibtable1.Active := true;
Ibtable1.filtered := true;
IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
Essa tabela pega os valores das vendas do caixa da lanchonete.. Quando eu abro aparece todas as vendas só que quando escolho umas das opções de Relatório os dados do caixa fica somente na data das vendas de Hoje sumindo as outras vendas.... Será que e a lógica do meu Código que está errada...
Valsistemasdelphi
Curtidas 0
Respostas
Marcos P
09/06/2015
Sempre que você postar código no forum utilize a tag ( inserir código ), para formatação do texto.
Qual versão do Delphi ?
Qual banco de dados ( e versão ) ?
Qual componente de acesso aos dados ?
Qual componente para geração de relatórios ?
O DataSource do seu report é Form4.Ibtable1 ?
Aonde está o tratamento do filtro para as demais opções ( Mensal e Por Data ) ?
Pelo visto esse trecho que você colocou é apenas parte do seu código.
Coloque o resto do código, para analisarmos....
Qual versão do Delphi ?
Qual banco de dados ( e versão ) ?
Qual componente de acesso aos dados ?
Qual componente para geração de relatórios ?
O DataSource do seu report é Form4.Ibtable1 ?
Aonde está o tratamento do filtro para as demais opções ( Mensal e Por Data ) ?
Pelo visto esse trecho que você colocou é apenas parte do seu código.
Coloque o resto do código, para analisarmos....
GOSTEI 0
Valsistemasdelphi
09/06/2015
Delphi Xe7
Firebird 2.5 Administração do banco Ibexpert 2012
Estou usando Apenas um Ibtable para fazer conecção com os dados de outra tabela que está em outro Form...
FrxReport... Juntamente com o FrxDbDataset...
Não conecto o DataSourse deixo ele em branco
if (Diário.Checked = true) then
begin
//pegar o periodo da data atual menos (-) 30 dias
Ibtable1.Active := True;
Form4.Ibtable1.filter := 'DATA_VENDA = ' +''''+ DateToStr(Now)+'''';
Form4.Ibtable1.filtered := true;
//Form4.Ibtable1.Active := true;
//Ibtable1.filtered := true;
Form4.IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
exit; //Forçar a sair da rotina, ou vai executar os ifs após o else...}
//*********************************************************************
end
else
if (Mensal.Checked= true) then
begin
{Form4.Ibtable1.Active := True;
Form4.IBtable1.Filter := 'DATA_Venda = ' + ''''+datetostr(now)+'''';// pegar a data atual do micro
IBtable1.filtered := true;}
Ibtable1.Active := TRUE;
Form4.Ibtable1.filter := 'DATA_VENDA >= ' +''''+ DateToStr(Now-30)+'''' + ' and '+
'Data_Venda <= ' + ''''+ datetostr(Now) + '''';
Form4.Ibtable1.filtered := true;
//Form4.Ibtable1.Active := true;
//Ibtable1.filtered := true;
Form4.IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
exit; //Forçar a sair da rotina, ou vai executar o teste abaixo
end;
Firebird 2.5 Administração do banco Ibexpert 2012
Estou usando Apenas um Ibtable para fazer conecção com os dados de outra tabela que está em outro Form...
FrxReport... Juntamente com o FrxDbDataset...
Não conecto o DataSourse deixo ele em branco
if (Diário.Checked = true) then
begin
//pegar o periodo da data atual menos (-) 30 dias
Ibtable1.Active := True;
Form4.Ibtable1.filter := 'DATA_VENDA = ' +''''+ DateToStr(Now)+'''';
Form4.Ibtable1.filtered := true;
//Form4.Ibtable1.Active := true;
//Ibtable1.filtered := true;
Form4.IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
exit; //Forçar a sair da rotina, ou vai executar os ifs após o else...}
//*********************************************************************
end
else
if (Mensal.Checked= true) then
begin
{Form4.Ibtable1.Active := True;
Form4.IBtable1.Filter := 'DATA_Venda = ' + ''''+datetostr(now)+'''';// pegar a data atual do micro
IBtable1.filtered := true;}
Ibtable1.Active := TRUE;
Form4.Ibtable1.filter := 'DATA_VENDA >= ' +''''+ DateToStr(Now-30)+'''' + ' and '+
'Data_Venda <= ' + ''''+ datetostr(Now) + '''';
Form4.Ibtable1.filtered := true;
//Form4.Ibtable1.Active := true;
//Ibtable1.filtered := true;
Form4.IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
exit; //Forçar a sair da rotina, ou vai executar o teste abaixo
end;
GOSTEI 0
Valsistemasdelphi
09/06/2015
Delphi Xe7
Firebird 2.5 Administração do banco Ibexpert 2012
Estou usando Apenas um Ibtable para fazer conecção com os dados de outra tabela que está em outro Form...
FrxReport... Juntamente com o FrxDbDataset...
Não conecto o DataSourse deixo ele em branco
if (Diário.Checked = true) then
begin
//pegar o periodo da data atual menos (-) 30 dias
Ibtable1.Active := True;
Form4.Ibtable1.filter := 'DATA_VENDA = ' +''''+ DateToStr(Now)+'''';
Form4.Ibtable1.filtered := true;
//Form4.Ibtable1.Active := true;
//Ibtable1.filtered := true;
Form4.IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
exit; //Forçar a sair da rotina, ou vai executar os ifs após o else...}
//*********************************************************************
end
else
if (Mensal.Checked= true) then
begin
{Form4.Ibtable1.Active := True;
Form4.IBtable1.Filter := 'DATA_Venda = ' + ''''+datetostr(now)+'''';// pegar a data atual do micro
IBtable1.filtered := true;}
Ibtable1.Active := TRUE;
Form4.Ibtable1.filter := 'DATA_VENDA >= ' +''''+ DateToStr(Now-30)+'''' + ' and '+
'Data_Venda <= ' + ''''+ datetostr(Now) + '''';
Form4.Ibtable1.filtered := true;
//Form4.Ibtable1.Active := true;
//Ibtable1.filtered := true;
Form4.IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
exit; //Forçar a sair da rotina, ou vai executar o teste abaixo
end;
Firebird 2.5 Administração do banco Ibexpert 2012
Estou usando Apenas um Ibtable para fazer conecção com os dados de outra tabela que está em outro Form...
FrxReport... Juntamente com o FrxDbDataset...
Não conecto o DataSourse deixo ele em branco
if (Diário.Checked = true) then
begin
//pegar o periodo da data atual menos (-) 30 dias
Ibtable1.Active := True;
Form4.Ibtable1.filter := 'DATA_VENDA = ' +''''+ DateToStr(Now)+'''';
Form4.Ibtable1.filtered := true;
//Form4.Ibtable1.Active := true;
//Ibtable1.filtered := true;
Form4.IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
exit; //Forçar a sair da rotina, ou vai executar os ifs após o else...}
//*********************************************************************
end
else
if (Mensal.Checked= true) then
begin
{Form4.Ibtable1.Active := True;
Form4.IBtable1.Filter := 'DATA_Venda = ' + ''''+datetostr(now)+'''';// pegar a data atual do micro
IBtable1.filtered := true;}
Ibtable1.Active := TRUE;
Form4.Ibtable1.filter := 'DATA_VENDA >= ' +''''+ DateToStr(Now-30)+'''' + ' and '+
'Data_Venda <= ' + ''''+ datetostr(Now) + '''';
Form4.Ibtable1.filtered := true;
//Form4.Ibtable1.Active := true;
//Ibtable1.filtered := true;
Form4.IBTable1.Active := true;
FRXReport1.LoadFromFile('E:\ProjetoCadastro\Nova Lanchonete\VendaCaixa.fp3');
FrxReport1.ShowReport() ;
exit; //Forçar a sair da rotina, ou vai executar o teste abaixo
end;
GOSTEI 0
Marcos P
09/06/2015
Sempre que postar código no fórum, utilize a tag ( Inserir Código ), acima... isso facilita, muito, a análise do código.
Exatamente qual tipo de problema você está enfrentando ?
O relatório está sendo gerado ou não está sendo gerado ?
Sua dificuldade é na aplicação com o filtro pelo tipo de data ?
Chegou a debugar o código para verificar se o parâmetro do filtro gera uma data válida, tanto do lado do Delphi, quanto do lado do FastReport ?
Tentou filtrar por algum outro campo, apenas para testar se o problema não está na formatação da data ?
Chegou a dar uma olhada nesses vídeos ?
Fast Report - Conhecendo e Criando
Fast Report - Criando o relatório de Usuários
Exatamente qual tipo de problema você está enfrentando ?
O relatório está sendo gerado ou não está sendo gerado ?
Sua dificuldade é na aplicação com o filtro pelo tipo de data ?
Chegou a debugar o código para verificar se o parâmetro do filtro gera uma data válida, tanto do lado do Delphi, quanto do lado do FastReport ?
Tentou filtrar por algum outro campo, apenas para testar se o problema não está na formatação da data ?
Chegou a dar uma olhada nesses vídeos ?
Fast Report - Conhecendo e Criando
Fast Report - Criando o relatório de Usuários
GOSTEI 0