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

 



Responder a