SABER PROXIMO CÓDIGO - BD ACCESS
pessoal, tem como saber qual será o próximo
código que será gerado pelo banco de dados?
se usar o rs.recordcount não funciona pois
se tiver registros que foram excluÃdos a conta
ficará errada.
código que será gerado pelo banco de dados?
se usar o rs.recordcount não funciona pois
se tiver registros que foram excluÃdos a conta
ficará errada.
faça um select no id
exemplo :
[Ô]select id from tabela order by id desc[Ô]
pegue o primeiro registro e acrescente 1
CampoNumerico=Rs([Ô]id[Ô]) + 1
OBS sempre traga somente um registro no select , se estiver usando Access ou SQL faça assim:
[Ô]select top 1 id from tabela order by id desc[Ô]
se for mysql faça assim
[Ô]select id from tabela order by id desc limit 1[Ô]
exemplo :
[Ô]select id from tabela order by id desc[Ô]
pegue o primeiro registro e acrescente 1
CampoNumerico=Rs([Ô]id[Ô]) + 1
OBS sempre traga somente um registro no select , se estiver usando Access ou SQL faça assim:
[Ô]select top 1 id from tabela order by id desc[Ô]
se for mysql faça assim
[Ô]select id from tabela order by id desc limit 1[Ô]
Luiz, olhe bem, digamos que eu tenha 50 registros
e faça a exclusão do registro de número 50, então
fica com 49 mas o próximo código não será 50 e
sim 51.
e faça a exclusão do registro de número 50, então
fica com 49 mas o próximo código não será 50 e
sim 51.
sim , exatamente, por isso você tem que fazer o select como eu disse acima , o ID , é o código que identifica aquele registro, passa a estrutura da sua tabela se preferir mas basta trocar o ID pelo nome do identificador da sua tabela.
Caso você não tenha nenhum identificador na tabela teria que criar.
Caso você não tenha nenhum identificador na tabela teria que criar.
Neste caso, como usa seu ID como numeração automática
sempre vai acontecer isso.é o correto.
Garantia.
sempre vai acontecer isso.é o correto.
Garantia.
Faça como o OMAR disse,
Defina o Código como Chave primária como INTEGER Auto_Increment..
Ele sempre vai gerar +1 automático, sem voce precisar colocar ele no Insert..
Defina o Código como Chave primária como INTEGER Auto_Increment..
Ele sempre vai gerar +1 automático, sem voce precisar colocar ele no Insert..
Jorge Sales
pra que isso não ocorra você tem que ter uma tabela que podemos chamar de controle.Com o Auto_increment ao excluir um ID ele irá pular pro próximo ao que foi excluido
você tem que criar um campo sem o increment e adicionar + 1 em um select, e -1 em um delete eu tenho essa função que faz exatamente isso
se quiser me manda seu email que te passo
pra que isso não ocorra você tem que ter uma tabela que podemos chamar de controle.Com o Auto_increment ao excluir um ID ele irá pular pro próximo ao que foi excluido
você tem que criar um campo sem o increment e adicionar + 1 em um select, e -1 em um delete eu tenho essa função que faz exatamente isso
se quiser me manda seu email que te passo
[ô]Tem um aplicativo que fiz há bastante tempo, que busca o último número da relação, acrescentando +1:
Dim Numero As Integer
Tabela.Index = [Ô]IndNumero[Ô]
[ô]Index associado ao campo <Numero>
Tabela.Recorcount
[ô]Faz a recontagem, no caso de exclusões.
Tabela.MoveLast
Numero = Format(Tabela!Numero)+1, [Ô]000[Ô])
...
Dim Numero As Integer
Tabela.Index = [Ô]IndNumero[Ô]
[ô]Index associado ao campo <Numero>
Tabela.Recorcount
[ô]Faz a recontagem, no caso de exclusões.
Tabela.MoveLast
Numero = Format(Tabela!Numero)+1, [Ô]000[Ô])
...
Com Auto_Increment o número nunca irá se repetir. Se excluir no numero 50 nunca mais irá usá-lo novamente e sim o 51. Pensa em uma Base de Dados de Log onde você armazena a vida toda do cara vamos supor do cliente 50 daà você exclui o cliente 50 e add um novo cliente com o mesmo código 50, pronto, o Log da antigo cliente irá fazer parte do novo cliente.....
Tópico encerrado , respostas não são mais permitidas