Recebi muitos e-mails de amigos inscritos no meu blog e no canal do youtube com perguntas:
Como saber o próximo número do auto-increment?
como recuperar último código de um auto-incremento ?
Como saber o próximo valor do auto incremento?
###### Clique no GOSTEI ! isso me ajuda muito ! #############
Neste vídeo vou mostrar como criar uma função para retornar o valor do campo auto incremento e como definir o valor do próximo incremento.
###### Função #####
Uses db; // Declare USES DB
//Private ou Public
function RetornaAutoINC(cTabela, cCampoAI: String; vAtribui:variant):Variant;
//Função:
function RetornaAutoINC(cTabela, cCampoAI: String; vAtribui:variant): Variant;
var
vResultaAutoIncrimento : Variant; // resultado do incremento
nQTD : Variant; // Variável para próximo incremento
begin
nQTD:=vAtribui; // atribuição a variavel nQTD o valor do próximo incremento obtido pelo parametro da funcao
TabGlobal.SqlAutoInc.Close; // fecha Query
TabGlobal.SqlAutoInc.sql.Clear; // limpa Query
TabGlobal.SqlAutoInc.SQL.Add(‘Select Max(‘+cCampoAI+’) as nCocInc from ‘+cTabela); // escreve nova query com parametros recebido da funcao
TabGlobal.SqlAutoInc.Open; // abre a nova query
case TabGlobal.SqlAutoInc.Fields[0].DataType of
ftSmallint, ftWord, ftInteger: // se o campo AI for SmallInt, Word ou Integer
vResultaAutoIncrimento := TabGlobal.SqlAutoInc.Fields[0].AsInteger + nQtd;
ftFloat, ftCurrency: // Se o campo for Float ou Currency
vResultaAutoIncrimento := TabGlobal.SqlAutoInc.Fields[0].AsFloat + nQtd;
end;
TabGlobal.SqlAutoInc.Close; // fecha query
Result := vResultaAutoIncrimento; // retornar o campo Resultado Auto INc
end;
###### Assista o vídeo #######