Incremento.

17/02/2003

0

Tenho um campo Cliente (char(9)). Os seis primeiros dígitos, o usuário entra com um código, que varia dependendo da região do cliente e os três últimos tenho que gerar um sequencial.
Por exemplo: YARCO1001
YARCO1002
YARCO1003
BIUJNM001
BIUJNM002
Alguém pode me ajudar?


Jussara

Jussara

Responder

Posts

17/02/2003

Anonymous

Uma sugestão:

function retornaCodigo(CODIGO):String;
var
incremento:String;
qry:TQuery;
begin
qry := TQuery.Create(self);
qry.Databasename := (seu database);
qry.sql.Text :=´SELECT MAX(CODCLI) AS CD_CLI FROM TB_CLIENTES WHERE CODCLI LIKE ´CODIGO¬´´;
try
qry.open;
if qry.FieldByName(´CD_CLI´).IsNull then //Não existe
begin
incremento := ´001´;
result := CODIGO+Incremento;
end
else
begin
incremento := Format(´000´,StrToInt(copy(qry.FieldByName(´CD_CLI´).AsString,7,3))+1);
result := CODIGO+Incremento;
end;
finally
qry.close;
end;
end;


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar