Colunista ainda sem descrição. Caro colunista, por favor envie-nos sua descrição.
Olá pessoal, tudo tranquilo com vocês?
Há mais ou menos 2 dias um amigo meu me perguntou
se eu sabia usar campos agregados(aggregates fields) no Delphi.
E em função dessa pergunta, estou escrevendo este novo artigo.
Iremos perceber que é muito simples, fácil e útil a utilização
deste recurso disponível no Delphi.
Como de sempre estarei descrevendo os passos para a implementação
e no artigo seguinte toda a descrição teórica, ok?
Let´s go.....
Criamos uma nova aplicação, e depois inserimos um DataModule.
Na propriedade Name do DataModule colocamos DM.
E inserimos os componentes conforme mostra a imagem abaixo.
Configuramos o SqlConnection1 para usar o banco de dados
INTERBASE(IBCONNECTION). (Para saber como configurar o banco
veja o artigo sobre a Criação de um aplicativo multicamadas(
utilizamos como exemplo o arquivo employee.gdb))
Marcamos a propriedade LoginPrompt para False.
No SqlDataSet1 mudamos a propriedade SqlConnection para
SqlConnection1 e fazemos um Select * from Sales na
propriedade CommandText.
Mudamos a propriedade DataSet do DataSetProvider1 para
SqlDataSet1.
No ClientDataSet1 mudamos a propriedade ProviderName para
DataSetProvider1 e a propriedade Active para True.
Clicamos com o botão direito no ClientDataSet1 e iremos
clicar em Fields Editor.
No menu que irá abrir pressionaremos Ctrl+F para trazer
todos os campos disponiveis no ClientDataSet.
Depois iremos clicar com o botão direito novamente, mas
desta vez nesta janela e selecionaremos New Field.
Na Janela que irá abrir iremos especificar o Name do campo
como TotalSoma e selecionaremos em Field Type, Aggregate.
Deixamos o resto igual e clicaremos em OK.
Tendo criado o campo agregado, e selecionado o novo campo TotalSoma
iremos colocar a expressão para o mesmo.
No Object Inspector mudaremos a propriedade Expression
para sum(total_value) e active como True. (Para o campo TotalSoma
que acabamos de criar).
O próximo passo é mudar a propriedade AggregatesActive para True
no ClientDataSet1 e colocar a propriedade DataSet do DataSource1
para ClientDataSet1.
Agora vamos ao formulário....
Pressionamos Alt+F11 para inserir a referência de uso da unit
do DataModule.
Iremos desenhar o form como abaixo.
Os componentes estão descritos na imagem abaixo.
1 DBGrid, 1 Label, 1 DBText, 1 DBNavigator, 2 Panel. (Parece receita
de bolo, neh? (Levar ao forno por 5 min...rsrs))
Estando com o formulário desenhado, vamos ajustar as propriedades
dos componentes.
Mudaremos a propriedade DataSource de DBNavigator1, DBGrid1 e
DBText1 para DM.DataSource1. (Certifiquem que a propriedade Active
do ClientDataSet1 esteja True).
No DBText1 mudaremos a propriedade DataField para TotalSoma e
voilá! Estamos usando o nosso campo agregado!
Este campo agregado faz uma soma total de total_value.
Fora o sum, podemos usar o min, max, avg e por ae vai. (Esses eu
deixo pra vocês testarem!)
Bem simples, não é verdade?!
Aproveitem para adicionar novos campos agregados para max min e
avg! Se não conseguirem ou tiverem dúvidas, estou pronto a ajudar!
ederrf@uol.com.br ou eder_fernandes@hotmail.com.
No próximo artigo veremos passo a passo o que fizemos!
Abraços a todos vocês, bons estudos, e até + !
Éder R. Fernandes
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009