Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

EderDias

Relatório no Quickreport

Recommended Posts

Olá...PessoalTenho varios programinhas aqui na empresa onde trabalho......não sou programador profissional.......apenas .....gosto de programação e procuro fazer algo que me ajude aqui na empresa ...aprendi algo sobre delphi....em foruns como este aqui.eu fiz um tempo atraz um programa em paradox que controle o Dep Pessoal da empresa.Só que agora eu preciso criar um relatorio onde mostra todos os funcionarios e a quantidade de horas extras de cada funcionario....eu tenho todos estes dados lançados...porem não consigo extrair no sistema estes dados no formato que a diretoria quer.Neste formato abaixo:QUOTE Total de horas extras por funcionario por mes:Funcionario---jan---fev---marco---abril----e assim por diante------------------------------------------------------------jose 10 20 25 30Maria 25 35 00 10Diana 05 10 15 02---------------------------------------Total...............40 65 40 42 Eu Trabalho com delphi4 + quickreport.Por acaso alguem teria algum exemplo para postar aqui no forum ou até mesmo disponibilizar um exemplo pratico para download???Principalmente na parte do quick de como configura-lo??Trabalho com duas tabelas que contem estes dados.(tabela func(funcionarios) e tabela despesa(despesas dos funcionarios)).Mto GratoEDER

Compartilhar este post


Link para o post
Compartilhar em outros sites

a minha estrutura de tabelas é paradox:

 

Tabela: DESPESAS.DB

===================

 

CODIGO +

DATA D

UNIDADE A 2

COMPET A 6

PAGAM A 6

CODFUN I ///codigo funcionario

VALORHE N

VALORFGTS N

VALORINSS N

ADIANTAM N

SALLIQUIDO N

QTDHE N ///horas extras

SALARIO N

LCARGO A 25

USUARIO A 10

=============================

 

Tabela: FUNC.DB

===============

 

CODIGO +

NOME A 60

SALARIO N

DATAADM D

DATADEM D

CODFISCAL A 06

CARGO A 25

FOTO G

SETOR A 30

CBO A 07

=============================

Quanto ao codigo sql não preparei ainda...porque não sei por onde começar este tipo de relatorio

mas seria mais ou menos assim...ate acho que seria o correto.....este abaixo:

Txt := 'Select * from func, despesas where func.codigo = despesas.codfun between :datai and :dataf order by func.nome';

eu geralmente uso para relatorio quickreport um mini form com dois DateTimePicker e com um botão e neste botão coloca + ou - assim:

 

procedure TForm1.Button6Click(Sender: TObject);

var Txt:String;

begin

Txt := 'Select * from clientes, compras, cor where cor.codigo = compras.codcor and compras.codcli = clientes.codigo and compras.data between :datai and :dataf order by clientes.nome';

Form6.Query1.Close; //fecha para limpar qualquer instrução que esteje na memoria....

form6.Query1.SQL.Text := Txt; //a instrucao sql recebe o texto acima

form6.Query1.ParamByName('datai').AsDate := DateTimePicker1.Date; // você ta passando as datas iniciais para o parametro

form6.Query1.ParamByName('dataf').AsDate := DateTimePicker2.Date; // você ta passando as datas finais para o parametro

form6.Query1.Open;

form6.quickrep1.Preview;

END;

No meu caso eu queria selecionar todos os funcionarios e suas respectivas horas extras do periodo selecionado atraves de um Datetimepicker. ou outro componente....deste que funcione...entende??

Mas..........que tenha o modelo como mencionei no inicio deste topico.

assim:

 

TOTAIS MENSAL POR CLIENTE

cliente-----jan-----fev-----mar------abr-----mai ...........e assim por diante

--------------------------------------------------------------------------

JOSÉ.........25........30........05..........10........20

MARIA.......15........35........15..........15........05

EDER.........10........10........02..........01........00

------------------------------------------------

Total.........50........75........22..........16........25

 

 

Mto grato :D

 

 

 

haaaaaa...só mais um coisa...o meu problema maior...é montar o form do quickreport....tipo bandas.....etc....

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

.....é extremamente simples fazer o que você quer no QR..(apesar de não gostar dele)......a dificuldade é explicar tudo aqui no forum..........vou dar um exemplo pra você ver como funciona*****crie um form pra relatorioadicione o componente QuickRepadicione uma tabela, e um datasourcebom....configure a tabela e o ds com a base de dadosconfigure o DataSet do QuickRep para sua tableagora inclua um componte QR chamado QRBandmude o BandType do QrBand para rbDetailinsira um QRDBText e ponha DataSet para sua tabela e o datafield para o campo da tabela (ex: NOME)...para efeito de exemplo insira outro QRDBText com outro datafield....insira outro QRBand.....esse com o BandType rbSummary.......é o resumo do relatóriopra exemplo....insira um QRExpr no Summary........no expression do QRExpr faça " SUM(Table.campo)" ...isso fará a soma do campo selecionado.....agora pra iniciar o relatóriopra ficar legal.....crie um formulario pra relatorios e coloque um bottão com o nome do tipo de relatorio que você quer, por exemplo......Relatorio Semanal, Relatorio Mensao, etc...no onclick desse botao façaprocedure TFrmRelatorios.BotãoClick(Sender: TObject);beginTry Application.CreateForm(TFormulariodoQuickReport, FormulariodoQuickReport); // aquele primeiro a ser criado With FormulariodoQuickReport do Begin table.open; // pra abrir a tabela QuickRep.Preview; table.close; end;Finally FormulariodoQuickReport.Free;end;end;ahhhh.......chega.......qquer coisa posta aí.....espero ter ajudado!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigão,,,,entendi tudo que você mencionou....o problema é montar o relatorio que fique com esta estrutura abaixo:

 

TOTAIS MENSAL POR CLIENTE

cliente-----jan-----fev-----mar------abr-----mai ...........e assim por diante

--------------------------------------------------------------------------

JOSÉ.........25........30........05..........10........20

MARIA.......15........35........15..........15........05

EDER.........10........10........02..........01........00

-------------------------------------------------------

Total.........50........75........22..........16........25

 

Nota: você pode notar que ele acumula as horas extras do funcionario e depois põe pra mim as horas extras por MES.(este é o problema fazer acumular por mes e mostrar o resultado nesta estrutura acima)

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

compreendeu??......parece simples....mas pra mim....ta sendo o bicho...hehehe...primeiro por ele acumular por mes e depois para mostrar a estrutura como esta acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

...Eder.....eu to completamente atolado de serviço, não sei qdo vai dar pra olhar o conteúdo que você me mandou!!porem, pra tentar te dar uma luz eu sugiro que voce crie uma tabela auxiliar assim:Mes, Dia, cliente, horas>>>> com uma chave composta Mes+Dia, dessa forma voce manipula os dados no quickreport do jeito que voce quiser!!sua tabela ficaria +- assimMes---dia---cliente---horas Jan----1------Jose------5Jan----2-----Manuel----10Jan----3------Jose-------23Fev----1-----Carlos-----29Fev----5------Jose------19como criar essa tabela?........no botao pra gerar o relatório tente colocar os argumentos compiando os dados da outra tabela pra essa!essa tabela seria apenas pra gerar o relatorio, ela deve ser zerada (empty) sempre que terminar ou iniciar o serviço..você entendeu??

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigão...perdão a ignorância, mas não compreendi.. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif achei confuso....

a hora que você puder......poderias me por na pratica atraves do exemplo que te mandei via email???

Não tenho pressa....ja faz mais de um ano que tento bolar este relatorio ...mas não tenho êxito.

Parece ser complicado.....pois todas as pessoas que pedi......acabaram por desistir..... :unsure:

 

Mas...beleza ZéLuiz....ficamos aqui.....mto grato por ajudar...e agora que puder....estamos ai.

 

um abraço e mto grato....Eder. :) http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.