para fazer cadastros de clientes, mercadorias, utilizo vcodban := BAN->(DBGOBOTTOM(),codban+1) mas quando duas pessoas fazem o cadastro ao mesmo tempo na rede o sistema grava dois cadastro com o mesmo codigo, gostaria de saber se tem outro processo para trabalhar em rede que nao gere o mesmo codigo, Obrigado.
Nilson Vilela
Sequenciador de codigos
Moderador: Moderadores
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Sequenciador de codigos
Oi Nilson,
Na minha época com Clipper, eu utilizaba um dbf exclusivo para essa finalidade. Tinha dois campos numéricos: INI e FIM. Eles guardavam de 1 até 99999 e conforme ia utilizando ficava 2 até 99999, 3 até 99999, 4 até 99999... e assim sucessivamente, conforme ia pegando um novo número. O tratamento de abertura e tratamento em rede, era normal como os outros dbfs. Quando eliminava o registro, eu retornava o número (por exemplo o número 2 e o ultimo pego era o 3 digamos ) então ficaria assim: adicionava mais um registro 3 até 3 e o outro registro continuava sendo 4 até 999999. Isso ajudava a que o numero ficasse vago outra vez.
Em HMG, que trabalha em Harbour e está atualizado na sua ultima versão, pode-se utilizar o campo do tipo incrmental que serve justamente pra isso. Para sempre adicionar +1, +5, +10 (conforme você configurar). Mas ele não trata o número recuperados ou vagos como o outro exemplo que citei.
Na minha época com Clipper, eu utilizaba um dbf exclusivo para essa finalidade. Tinha dois campos numéricos: INI e FIM. Eles guardavam de 1 até 99999 e conforme ia utilizando ficava 2 até 99999, 3 até 99999, 4 até 99999... e assim sucessivamente, conforme ia pegando um novo número. O tratamento de abertura e tratamento em rede, era normal como os outros dbfs. Quando eliminava o registro, eu retornava o número (por exemplo o número 2 e o ultimo pego era o 3 digamos ) então ficaria assim: adicionava mais um registro 3 até 3 e o outro registro continuava sendo 4 até 999999. Isso ajudava a que o numero ficasse vago outra vez.
Em HMG, que trabalha em Harbour e está atualizado na sua ultima versão, pode-se utilizar o campo do tipo incrmental que serve justamente pra isso. Para sempre adicionar +1, +5, +10 (conforme você configurar). Mas ele não trata o número recuperados ou vagos como o outro exemplo que citei.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Sequenciador de codigos
Olá!
Atualmente o DBF suporta campos do tipo autoincrement, que você pode utilizar. Mas para tabelas já existentes, teria que haver um processo de conversão. Use a busca do fórum para saber mais sobre autoincrement.
Atualmente o DBF suporta campos do tipo autoincrement, que você pode utilizar. Mas para tabelas já existentes, teria que haver um processo de conversão. Use a busca do fórum para saber mais sobre autoincrement.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
