[firebase-br] RES: Auto Imcremento no FireBird e DB Express
Jorge Umberto
niko em bruner.com.br
Ter Set 11 10:50:21 -03 2007
Nos sistemas, usamos várias empresas e vários bancos. Então, fiz essa
função q resolve o nosso problema. Se ajudar no seu caso, aí está.
Detalhe, toda chave de nossas tabelas tem o nome "CODIGO".
function TModuloPrincipal.ObterGeradorEmp(tabela: string; empresa:
integer):integer;
var SqlGerador : TSQlquery;
begin
SqlGerador:= TSQlquery.Create(self);
SqlGerador.SQLConnection := banco;
with SqlGerador do
begin
Close;
Sql.Clear;
SQl.Add('SELECT MAX(CODIGO) FROM ' + tabela + ' WHERE CODEMP = ' +
IntToStr(empresa));
Open;
Result := Fields[0].AsInteger + 1;
end;
FreeAndNil(SqlGerador);
end;
Mais detalhes sobre a lista de discussão lista