EderDias 0 Denunciar post Postado Março 22, 2007 Ola...Pessoal....Blza?Tou precisando montar um relatório no QuickReport+Paradox, com apenas uma tabela paradox(parece simples).O problema é o LayOut e os dados do Relatorio, que teria que ser assim: O usuario escolheria o Periodo: Data de 00/00/0000 a 01/01/0001 =====================================Relatorio de Totais Sintetico por periodo.=====================================mês-------Peso----ValorMercadoria-----frete-----Icms=====================================Jan.........1000.................1000,00.....10,00.......1,20Fev.........1500.................1800.00.....15,00.......1,70Mar.........1200.................1300,00.....12,00.......1,50e assim por diante...todos os meses.=====================================Totais......3700.................4100,00.....27.00.......4,40=====================================alguém poderia me dizer como montar um relatorio com este layout....fazendo com que ele some todos os registros de cada item da tabela conforme o periodo pedido e depois totalizasse da maneira como mostra acima??? No caso seria um Relatorio de Totais Sintetico por periodo.Parece simples...mas nem imagino como fazer....Se alguem tiver um exemplo ou ja passou por isto..por favor me ajude...estou precisando mto....e ta dificil de encontrar alguem que ajude......não sei se é mto dificil..acredito que seja...pois ta dificil de achar uma dica.Muito Grato. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Março 23, 2007 Nunca trabalhei muito com paradox... mas teria de ver se ele suporta comandos de agrupamento usando somente o mês/ano, caso ele não aceite, outra forma seria você criar uma tabela "temporária" contendo os campos que você deseja, depois faria o sql, antes de exibir o relatório, deve popular esta tabela temporária com as informações, mas ai você já pode fazer a separação por mês e ano, e colocar somente os campos desejados na tabela temp, para mostrar o relatório você iria usar esta tabela temporária, selecionando todos os registros dela e listando...Verifique se tem como fazer os comandos no parodox, senão pense sobre esta solução da tabela temp. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 23, 2007 Márcio, dependendo do Agrupamento ele aceita sim!!!Ai vai do SQL que você quer implementar...Qual comando acha que seria o Ideal usar???Ele não aceita Unions e coisas do tipo!!!Mas aceita os Group By's... e demais!!! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Março 23, 2007 Teria de ficar algo do tipo: select month(tabela.data) as mes, year(tabela.data) as ano,sum(tabela.peso) as Peso, sum(tabela.valormercadoria) as ValorMercadoria,sum(tabela.frete) as Frete, sum(tabela.icms) as Icmsfrom tabelawhere tabela.data between :dtIni and :dtFimgroup by month(tabela.data), year(tabela.data) Agrupando pelo mês/ano e somando os campos... Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 23, 2007 A sim Márcio, esses comandos funcionam no Piradox!! hehe!! Só não funcionam aqueles complexos, manja??? Union, TOP... e assim vai!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Março 23, 2007 Show... não sabia q ele suportava tanto... Então, EderDias pode testar e ver se funciona... Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 23, 2007 Hehe!!! ainda temos alguns sistemas aqui rodando nessa base... então to com ele quase todo dia!!! hehe!!! é isso aew Eder... Agora só falta você testar e dizer se ele roda... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Março 23, 2007 Pessoal..primeiro mto grato por responderem..Galera...não tenho mta pratica em programação....faço alguns relatorios em quickreport mas não manjo mta coisa..... mas entendi o select que gera o relatorio:select month(tabela.data) as mes, year(tabela.data) as ano,sum(tabela.peso) as Peso, sum(tabela.valormercadoria) as ValorMercadoria,sum(tabela.frete) as Frete, sum(tabela.icms) as Icmsfrom tabelawhere tabela.data between :dtIni and :dtFimgroup by month(tabela.data), year(tabela.data)Eu pergunto a vcs mais experientes...e que vivem nesta funçaõ de programador diariamente:como fica a questão do layout no quickreport...??quais componentes colocar no quickrep1, bandas etc....??pois parece ser um relatorio mto complexo...pois teria que ter um layout mais ou menos igual a este:O usuario escolheria o Periodo: Data de 00/00/0000 a 01/01/0001 =====================================Relatorio de Totais Sintetico por periodo.=====================================mês-------Peso----ValorMercadoria-----frete-----Icms=====================================Jan.........1000.................1000,00.....10,00.......1,20Fev.........1500.................1800.00.....15,00.......1,70Mar.........1200.................1300,00.....12,00.......1,50e assim por diante...todos os meses.=====================================Totais......3700.................4100,00.....27.00.......4,40=====================================valeu mto grato pessoal..pela ajuda.. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Março 23, 2007 Este é um relatório simples, poderia ter:Title -> Informações do relatório e da empresaColumnHeader -> Informações dos nomes da colunasDetail -> Listando os valoresSumary -> Se quiser, fazendo um agrupamento finalPageFooter -> Informações de rodapé do relatório.Na sua tela de filtro teria que ter dois DateTimePicker e dois botões para olhar o relatório e outro de fechar... Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Março 23, 2007 Marcio.Theis....fiz o que você me instruiu......montei um form com o botão de imprimir e dois DateTimePicker1. No Botão de Imprimir coloquei: procedure TForm1.XiButton1Click(Sender: TObject); var Txt:String; begin If DateTimePicker2.Date < DateTimePicker1.Date Then begin ShowMessage('Intervalo de datas Inválido, a data Inicial é maior que a data Final!'); DateTimePicker2.Date := DateTimePicker1.Date; exit; end; // TXT := 'Select month(Ctrc.Data_Emissao) as mes, year(Ctrc.Data_Emissao) as ano, '+ 'sum(Ctrc.Kg_Calculo) as Kg_Calculo, sum(Ctrc.Valor_N_Fiscal) as Valor_N_Fiscal, '+ 'sum(Ctrc.Valor_Frete) as Valor_Frete, sum(Ctrc.Valor_Icms) as Valor_Icms '+ 'from Ctrc '+ 'where Ctrc.Data_Emissao between :DataI and :DataF '+ 'group by month(ctrc.Data_Emissao), year(Ctrc.Data_Emissao)'; Form2.Query1.Close; Form2.Query1.SQL.Text := Txt; Form2.Query1.ParamByName('DataI').AsDate := DateTimePicker1.Date; Form2.Query1.ParamByName('DataF').AsDate := DateTimePicker2.Date; Form2.Query1.Open; // if Form2.Query1.IsEmpty Then begin ShowMessage('Nenhum Registro Encontrado!'); exit; end; // Form2.qrlabel16.Caption:='Relatório Sintético'; Form2.qrlabel20.Caption:=DateToStr(DateTimePicker1.Date); Form2.qrlabel22.Caption:=DateToStr(DateTimePicker2.Date); Form2.quickrep1.Preview; end; e ai preparei este form2 como mostra acima pra receber o relatorio.... O problema é que deu erro na hora do click no botão de imprimir: erro: Invalid Use Of Key Word Token: MONTH (Ctrc.Data_Emissao) Line Number 1 Meu Delphi é 4 com Paradox. Será que tem algo a ver com a versão?? Mto Grato Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Março 23, 2007 Bom... não uso paradox... teria de ver com o Hugo e q pode ser... Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Março 23, 2007 beleza...vou esperar.... espero que ele...apareça no forun....hehehe http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 23, 2007 respondendo... Primeiramente desculpem pela demora... estava colocando no ar o servidor SQL Server de um cliente!! hehe!!! Deu vontade de colocar no ar no chute, mas tudo bem!!! heheh!!! com relação ao Piradox... aqui vai!!! Select Extract(Month from Event_Date) From Events Falei meio errado!!! mas agora ta certo e eu testei aqui!!! Deve de funfar ai tb!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Março 23, 2007 Hugo....perdão pela ignorância, mas como ficaria no meu codigo....não consigo pegar a tua ideia...Segue abaixo meu codigo: TXT := 'Select month(Ctrc.Data_Emissao) as mes, year(Ctrc.Data_Emissao) as ano, '+'sum(Ctrc.Kg_Calculo) as Kg_Calculo, sum(Ctrc.Valor_N_Fiscal) as Valor_N_Fiscal, '+'sum(Ctrc.Valor_Frete) as Valor_Frete, sum(Ctrc.Valor_Icms) as Valor_Icms '+'from Ctrc '+'where Ctrc.Data_Emissao between :DataI and :DataF '+'group by month(ctrc.Data_Emissao), year(Ctrc.Data_Emissao)'; Form2.Query1.Close; Form2.Query1.SQL.Text := Txt; Form2.Query1.ParamByName('DataI').AsDate := DateTimePicker1.Date; Form2.Query1.ParamByName('DataF').AsDate := DateTimePicker2.Date; Form2.Query1.Open;Mto Grato pela ajuda... http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 24, 2007 Acho que assim funciona... TXT := 'Select Extract(Month from Ctrc.Data_Emissao) as mes, Extract(Year from Ctrc.Data_Emissao) as ano, '+'sum(Ctrc.Kg_Calculo) as Kg_Calculo, sum(Ctrc.Valor_N_Fiscal) as Valor_N_Fiscal, '+'sum(Ctrc.Valor_Frete) as Valor_Frete, sum(Ctrc.Valor_Icms) as Valor_Icms '+'from Ctrc '+'where Ctrc.Data_Emissao between :DataI and :DataF '+'group by mes, ano';Form2.Query1.Close;Form2.Query1.SQL.Text := Txt;Form2.Query1.ParamByName('DataI').AsDate := DateTimePicker1.Date;Form2.Query1.ParamByName('DataF').AsDate := DateTimePicker2.Date;Form2.Query1.Open; Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Março 24, 2007 Hugo..Infelizmente não deu certo deu erro: TYPE MISMATECH IN EXPRESSION. Acho que é por causa do campo de data estar do tipo (A) ALPHANUMERICO, ALIAS Todos os campos desta tabela é alphanumerico pois a tabela não é minha é de terceiro Será que por ser isto?? Se for terias uma ideia pra funcionar com (a) alphanumerico?? Tentei usar o Cast no codigo, pois uma vez usei o Cast pra estes casos de campos data alphanumerico e deu certo....mas neste não deu.....por favor veja como fiz...mas não deu certo. TXT := 'Select Extract(Month from Ctrc.Data_Emissao) as mes, Extract(Year from Ctrc.Data_Emissao) as ano, '+ 'sum(Ctrc.Kg_Calculo) as Kg_Calculo, sum(Ctrc.Valor_N_Fiscal) as Valor_N_Fiscal, '+ 'sum(Ctrc.Valor_Frete) as Valor_Frete, sum(Ctrc.Valor_Icms) as Valor_Icms '+ 'from Ctrc '+ 'where (Cast(Ctrc.Data_Emissao as DATE) <= :DataI) and (CAST(Ctrc.Data_Emissao as DATE) <= :DataF) '+ 'group by mes, ano'; // Form2.Query1.Close; Form2.Query1.SQL.Text := Txt; Form2.Query1.ParamByName('DataI').AsDate := DateTimePicker1.Date; Form2.Query1.ParamByName('DataF').AsDate := DateTimePicker2.Date; Form2.Query1.Open; Deu o mesmo erro acima:TYPE MISMATECH IN EXPRESSION. segue imagem da minha tabela: Bom é isto ....mto grato por ajudar....Otima final de semana e bom descanso. t+ http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 25, 2007 se for alpha teria que usar o Substring... que ai você usa da forma como o Copy!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Substring(Campo,inicio,fim) Exemplo... Substring(Data,1,2) Retornará o dia!!! sacou? Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Março 25, 2007 Hugo..... Agora perdi o fio da meada...se tava dificil....agora melou....hehehe Carinha.....seria dificil pra você ou outro colega montar um exemplinho (download)pra nós no forum, até pra consultar no futuro...pra gente ter a noção de como se faz este tipo de relatório?? Carinha cheguei a conclusão que é mto dificil....e não to tendo progresso....pergunto e você responde e a gente se estende......daqui a pouco você se enxe das minhas perguntas....rsrsrs... Bom é isto ai........Mto obrigado pela paciência....eu vou tentar me virar por aqui....ou quem sabe dar um tempo pra este relatorio até ficar mais experiente...pois como não vivo de programação..pois não trabalho com isto especificamente..apenas programa algumas necessidades na empresa onde trabalho..pra ajudar. valew.... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites