Como Programar Para Criar Relatórios De um Sistema Em Delphi.

Delphi

09/06/2015

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...
Valsistemasdelphi

Valsistemasdelphi

Curtidas 0

Respostas

Marcos P

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....
GOSTEI 0
Valsistemasdelphi

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;
GOSTEI 0
Valsistemasdelphi

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;
GOSTEI 0
Marcos P

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
GOSTEI 0
POSTAR