Gerando ID do cliente: prefixado com caracteres alfa
-
28-09-2019 - |
Pergunta
Estou planejando fazer uma forma simples de helpdesk. Um dos atributos de que precisa é um número único.
Como posso criar um identificador exclusivo, começando com uma string? Exemplo: KL0001
e KL0002
Deve ser um número único.
Solução
Você pode usar um campo de tumultura automática padrão para armazenar a parte numérica e, em seguida, uma coluna calculada separada que formata o resultado prefixando "KL" e preenchendo o campo AutoNumber com os zeros necessários.
Exemplo:
SELECT "KL" & Fmt(autonum_field, "0000") AS unique_identifier
FROM YourTable;
Outras dicas
O problema de usar um número automático é, entre outras coisas, se alguém começar a entrar no registro, o AutoNumber for atribuído. Então, se o usuário cancelar adicionando o registro, o valor do AutoNumber será perdido. Portanto, é melhor esperar até que o usuário termine de inserir o registro e, nos formulários, o evento AfterInssert execute o código de acordo com o seguinte artigo da KB.
ACC2000: Como criar um contador personalizado multiusuário
Dito isto, eu ainda usaria um campo de tumultura automática na tabela, para que seja mais fácil trabalhar com mesas infantis.