Campo Calculado
Como faço pra fazer com que um campo seja calculdo automaticamente a cada post? o resultado de ele é a soma de outros 2....queria azer de uma forma que se eu alterar pelo DBgrid o valor já alterasse...porém..esse campo existe na tabela..não é do tipo que criamos no ´Fields Editor´. Alguma idéia ?
Cristianopintado
Curtidas 0
Respostas
Eduprp
15/06/2005
Ola colega
Vc pode calcular o campo no evento AFTER SCROLL da tabela.
Eduardo
Vc pode calcular o campo no evento AFTER SCROLL da tabela.
Eduardo
GOSTEI 0
Cristianopintado
15/06/2005
Usei assim, mas da um erro de memória qdo rodo o aplicativo..deve ser pq fica fazendo loop...e se eu não colocar um .edit, ele da erro que a tabela não está em modo de inserção...
procedure TDmLocal.TabColetaJornalAfterScroll(DataSet: TDataSet);
begin
DmLocal.TabColetaJornal.Edit;
DmLocal.TabColetaJornal.FieldByName(´Tot_Valor´).AsFloat := DmLocal.TabColetaJornal.FieldByName(´Total_Cm´).AsFloat *2;
DmLocal.TabColetaJornal.Post;
end;
procedure TDmLocal.TabColetaJornalAfterScroll(DataSet: TDataSet);
begin
DmLocal.TabColetaJornal.Edit;
DmLocal.TabColetaJornal.FieldByName(´Tot_Valor´).AsFloat := DmLocal.TabColetaJornal.FieldByName(´Total_Cm´).AsFloat *2;
DmLocal.TabColetaJornal.Post;
end;
GOSTEI 0
Eduprp
15/06/2005
Realmente vai da erro. Vc não pode colocar um edit da mesma tabela em um evento AfterScrool pq ele vai entrar em Loop infinito.
Eduardo
Eduardo
GOSTEI 0
Cristianopintado
15/06/2005
O que fazer então neste caso, como usar ? pq se eu não colocar o edit ele diz que a tabela não está em modo de inserção/edição...
GOSTEI 0
Gpfranca
15/06/2005
Como faço pra fazer com que um campo seja calculdo automaticamente a cada post? o resultado de ele é a soma de outros 2....queria azer de uma forma que se eu alterar pelo DBgrid o valor já alterasse...porém..esse campo existe na tabela..não é do tipo que criamos no ´Fields Editor´. Alguma idéia ?
Se estiver usando o clientdataset cria um campo do tipo agregado, e na proprieda ´expression´ dele coloque o sum(campo1+campo2).
GOSTEI 0
Delphi32
15/06/2005
porém..esse campo existe na tabela..não é do tipo que criamos no ´Fields Editor´. Alguma idéia ?
Não entendi isso. Qual campo existe na tabela? O campo calculado? Por que você não pode criar o campo pelo FieldsEditor?
Até!
GOSTEI 0
Cristianopintado
15/06/2005
é que na minha tabela é um campo ´físico´ e não calcula..mas eu já arrumei um jeito...escrevi o resultado do campo no eventos BeforrePost da tabela...obrigado pela atenção de todos !
GOSTEI 0