Problemas com índices de tabela Access
E aí pessoal!
Possuo uma base Access, com os campos Código e Protocolo, sendo esses dois campos com números sequenciais, podendo eu alterar a sequência do campo Protocolo.
O problema está aí!
Ex.: o último registro gravado possuía o Código 54 e o nr. de Protocolo 2131625.
Ao gerar um novo registro o código passaria para o nr. 55 e o Protocolo para 2131626.
Alterando esse nr. de protocolo para 2131629, por exemplo, ele grava blz.
Mas, depois de gravado, se eu incluir um novo registro ele perde a sequência do último protocolo.
Como resolvo esse problema?
Possuo uma base Access, com os campos Código e Protocolo, sendo esses dois campos com números sequenciais, podendo eu alterar a sequência do campo Protocolo.
O problema está aí!
Ex.: o último registro gravado possuía o Código 54 e o nr. de Protocolo 2131625.
Ao gerar um novo registro o código passaria para o nr. 55 e o Protocolo para 2131626.
Alterando esse nr. de protocolo para 2131629, por exemplo, ele grava blz.
Mas, depois de gravado, se eu incluir um novo registro ele perde a sequência do último protocolo.
Como resolvo esse problema?
Vega.x
Curtidas 0
Respostas
Marconi
15/04/2003
O ideal seria não deixar um dos campos como sequencial, mas sim numérico. Eu, por exemplo, tenho um arquivo com somente um registro, que guarda o último número gerado em Notas Fiscais, bem como a data. Neste aquivo controlo numeração de Notas Fiscais de Serviço e de Venda.
Para mudar o campo voce deve criar um campo numérico temporário na tabela, exemplo ´Tmp´ e copiar todos os registros do protocolo para lá. Depois elimina o campo protocolo e recrie de novo com o formato numerico. Recopie todos os valores do campo ´tmp´ para o novo campo protocolo, e elimine o campo ´tmp´.
A partir deste instante o campo protocolo não é mais automático, mas voce pode colocar um função em ´AfterInsert´ da tabela que gera o próximo protocolo.
Uma outra solução seria colocar um botão gerador para o novo código, que disparasse uma rotina para procurar um número disponível para protocolo, ou mesmo consultasse um arquivo com estas informações, como é o meu caso.
Espero ter ajudado
Marconi
Para mudar o campo voce deve criar um campo numérico temporário na tabela, exemplo ´Tmp´ e copiar todos os registros do protocolo para lá. Depois elimina o campo protocolo e recrie de novo com o formato numerico. Recopie todos os valores do campo ´tmp´ para o novo campo protocolo, e elimine o campo ´tmp´.
A partir deste instante o campo protocolo não é mais automático, mas voce pode colocar um função em ´AfterInsert´ da tabela que gera o próximo protocolo.
Uma outra solução seria colocar um botão gerador para o novo código, que disparasse uma rotina para procurar um número disponível para protocolo, ou mesmo consultasse um arquivo com estas informações, como é o meu caso.
Espero ter ajudado
Marconi
GOSTEI 0