Fórum Campo Acumulativo em uma Table #173747
07/08/2003
0
Alguem poderia me ajudar!
Gostaria de Fazer um campo acumulativo em minha Table
Gostaria de Fazer um campo acumulativo em minha Table
Device
Curtir tópico
+ 0
Responder
Posts
07/08/2003
Profjohnny
clique duplo no componente Table1, clique com o botão direito do mouse dentro do editor de campos e escolha New Field...
digite o nome para o seu novo campo
escolha o tipo de dados
e se necessário defina o tamanho do campo
escolha no tipo do campo
Calculated
e
OK
va ao evento OnCalcFields da Table1 e coloque o calculo q vc deseja...
este evento sera executado sempre q ocorrer qualquer tipo de alteração na tabela seja inclusão ou exclusão...
se não for bem isto me avise q vou tentar d novo...
digite o nome para o seu novo campo
escolha o tipo de dados
e se necessário defina o tamanho do campo
escolha no tipo do campo
Calculated
e
OK
va ao evento OnCalcFields da Table1 e coloque o calculo q vc deseja...
este evento sera executado sempre q ocorrer qualquer tipo de alteração na tabela seja inclusão ou exclusão...
se não for bem isto me avise q vou tentar d novo...
Responder
Gostei + 0
07/08/2003
Joilson_gouveia
O que vc entende por cumulativo?
Seria um campo autoincremento? Se for, depende do banco de dados que vc está utilizando...
Eu sugiro vc criar um campo tipo integer com nome CODIGO e usar uma função para controlar os INSERTS/APPENDS, como no exemplo abaixo, que pode ser colocado no evento BEFOREPOST da Table/Query:
function MaxCodigo:Integer
var
qry:TQuery;
begin
qry := TQuery.Create(self);
qry.DatabaseName := (Seu DataBase);
qry.SQL.Text := ´SELECT MAX(CODIGO) AS MAXCODIGO FROM TB_CLIENTES´;
qry.Open;
if qry.FieldByName(´MAXCODIGO´).IsNull then
Result := 1
else
Result := qry.FieldByName(´MAXCODIGO´).AsInteger+1
qry.Close;
qry.Free;
end;
Seria um campo autoincremento? Se for, depende do banco de dados que vc está utilizando...
Eu sugiro vc criar um campo tipo integer com nome CODIGO e usar uma função para controlar os INSERTS/APPENDS, como no exemplo abaixo, que pode ser colocado no evento BEFOREPOST da Table/Query:
function MaxCodigo:Integer
var
qry:TQuery;
begin
qry := TQuery.Create(self);
qry.DatabaseName := (Seu DataBase);
qry.SQL.Text := ´SELECT MAX(CODIGO) AS MAXCODIGO FROM TB_CLIENTES´;
qry.Open;
if qry.FieldByName(´MAXCODIGO´).IsNull then
Result := 1
else
Result := qry.FieldByName(´MAXCODIGO´).AsInteger+1
qry.Close;
qry.Free;
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)