Campo Acumulativo em uma Table
Alguem poderia me ajudar!
Gostaria de Fazer um campo acumulativo em minha Table
Gostaria de Fazer um campo acumulativo em minha Table
Device
Curtidas 0
Respostas
Profjohnny
07/08/2003
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...
GOSTEI 0
Joilson_gouveia
07/08/2003
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;
GOSTEI 0