Crie
um banco de dados no Access – salve-o numa pasta a sua escolha.
Crie
a tabela como a imagem abaixo:
Salve
a tabela com o nome produtos.
Vamos
inserir dados na tabela como na imagem abaixo:
Salve
tudo e feche o Access.
Abra
o Delphi escolha – nova aplicação e mude as propriedades do form:
Caption
= Campo Calculado do Delphi
Name
= frm_calc
Position
= poscreencenter
Salve
a unit = u_campo_calculado
Salve
o projeto = Campo_calculado
Adicione
um datamodule e mude a propriedade name = DM
Adicione
ao DM os componentes de acesso ao Banco/tabela.
Faça
as ligações com o banco e a tabela como visto nas aulas.
Depois
de tudo ligado de um duplo clique no objeto Adotable(ou Adoquery) e adicione os campos, veja
a imagem:
Para
adicionar um campo calculado vamos fazer o seguinte, clique com o botão direito
do mouse na caixa e escolha new Field veja a figura:
Na
caixa que abre mude as propriedades como na imagem abaixo:
Clique
em ok.
Desse
modo temos um campo criado aqui no Delphi.
Vá até o form e
coloque um dbgrid ligando o datasource do DBgrid.
Agora
no DM selecione o ADOtable(ou ADOQuery) e vá no evento OnCalFields e coloque o código:
dm.ADOtable1total.Value:=
dm.ADOtableqtde.Value *
dm.ADOtablepreco.Value;
Estamos
multiplicando os valores para o total receber.
Veja
como fica no DBgrid:
Veja
que o total mostra os valores multiplicados.
Gostei muito do seu exemplo, porém, gostaria de ver um exemplo de campo calculado com o caso do "sexo". É que tenho uma tabela que tem um campo char que grava F ou M para os sexos feminino e masculino respectivamente e eu gostaria que no meu relatório fosse grafado FEMININO ao invés de F e MASCULINO ao invés de M. OBS.: o meu relatório está ligado à uma Table e não a uma Quary.
ResponderExcluireste comando dm.ADOtable1total.Value:= dm.ADOtableqtde.Value * dm.ADOtablepreco.Value; tambm funciona com banco de dados Mysql?
ResponderExcluir