Hola Master23.
Tal como pones en el post no creo que se pueda incrementar códigos alfanuméricos desde la base de datos con un autoincremental.
Se me ocurre que lo podrías solucionar utilizando un campo alfanumérico y hacer el incremento por código antes de guardar.
Te pongo un ejemplo simple de como podrías implementarlo: (acorde al código de tu post)
Código:
function ProximoCodigo(CodAnt: string): string; // CodAnt= código leído de la BD
const
NDIGIT = 5; // parte numérica
NCHAR = 3; // parte alfanum.
var
Prox: Integer;
begin
// parte numerica + 1
Prox:= StrToInt(Copy(CodAnt,NCHAR,Length(CodAnt)))+1;
// completar con ceros
Result:= Copy('00000',1,NDIGIT-Length(IntToStr(Prox)))+IntToStr(Prox);
// componer el código nuevamente
Result:= 'A-'+Result;
end;
Saludos.