Erika (também serve para várias pessoas da lista). Sei que não tem muito a ver com o assunto do relatório, mas eu vejo que muitas pessoas da lista costumam atribuir o comando SQL a ser executado pela Query via programação, digitando na unit do Form; que na minha opinião gera vários problemas:
1º Alto acoplamento, que vai dificultar a manutenção futura *; 2º Você só vai descobrir se o seu comando SQL tem algum erro de sintaxe quanto executar a aplicação, o que torna o processo de desenvolvimento muito mais demorado, aumentando também a dificuldade de encontrar o erro na medida em que, provavelmente, você escreveu vários códigos SQL na mesma Unit. 3º Suprime a função do DataSet (query) que é de isolar a interface da camada de dados (não há necessidade de refazer o que o componente já faz) Existem vários outros aspectos decorrentes deste uso. Ao invés disso você pode criar Querys parametrizadas, fazendo com que seu código-fonte diminua bastante e torne muito mais fácil a manutenção. Isso pode ser feito passando todo o comando SQL de uma vez na propriedade SQL da Query em tempo de projeto (dentro do DataModule) Por favor, não me entenda(m) mal, porque também fui iniciante e eu sempre dava máxima atenção (até hoje faço isso) a qualquer dica de quem "começou" antes, por isso estou tentando contribuir "um pouco" para que nossa comunidade cresça cada vez mais. * explicando Acoplamento x Coesão: Para ter uma aplicação "bem" desenvolvida, devemos seguir a regra de Alta Coesão x Baixo Acoplamento. Coesão é quando o módulo é capaz de realizar sua tarefa dependendo o mínimo possível de outros módulos. então: quanto menos depender de outros módulos, mais coesão terá, o que é bom. Acoplamento é o quanto um módulo usa outro módulo para realizar sua tarefa. Quanto menos um módulo usar outro módulo para realizar sua tarefa, melhor. Mais uma vez, se minha mensagem tiver um tom "arrogante", perdoem-me, pois não é minha intençao. Atenciosamente, Felipe Guerço Oliveira. Erika Lemes escreveu: >Eu consegui listar as lojas fazendo um Group By na Query que ficou mais ou >menos >assim: > >Sql.Clear; >Sql.Add('SELECT SUM (VALOR),LOJA'); > >//é no lançamento que entro com o valor >Sql.Add('FROM "LANCAMENTO.DB" Lcdebito'); > >//cadastro da loja >Sql.Add('INNER JOIN "LOJA.DB"); >Sql.Add('ON (LANCLOJA = NUMLOJA)'); >Sql.Add('WHERE(NUMLOJA is not null)'); > >if ComboBox1.Text <> '' then Sql.Add('AND Extract(Month from DATA) = :PMes'); >ParamByName ('PMes').AsInteger := ComboBox1.ItemIndex+1; >Sql.Add('GROUP BY LOJA'); >QrRel.Prepare; >Open; > >Agora, como eu faço para colocar no relatório o valor total (SUM (VALOR)) ?? > >Pessoal, obrigado pela atenção de vcs! Nem sei como agradecer! >Abração >Erika > > -- Atenciosamente, Felipe Guerço Oliveira. -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html