Problemas com access ( again )

E ae galera, blz?

Esse problema eh mais de access q java em si, mas estou aberto a sugestões q solucionem o problema independente do método.

Eh o seguinte:

Estou usando umas tabelinhas sem nada de especial, exite o campo ( Id ) q eh autoIncremento, ateh ai ok.

Descobri que, ao deletar um registro e criar um novo, o access faz o Id do deletado sumir e o próximo cadastro q eu fizer, terá o Id = Id do deletado + 1.

Isso está causando um sério problema em meu programa.

Gostaria de saber se há como:

Ao deletar um registro, o Id dos outros registros se arrumem de uma maneira q fique sempre em ordem os números.

Para exemplificar:

Criei 3 registros, IDs 1, 2 e 3.

Ao deletar o ID 2, gostaria que o ID 3 tornase-se o 2.

Alguém sabe se há e como fazer isso?

Valeu

[]'s

Acho que vc não precisa disso!

Tem um comando sql que retorna pra vc o novo id gerado! Eu não sei como é este comando no access, mas deve ter em algum lugar o bendito comando!

Talvez haja até maneiras mais fáceis de se fazer isso, mas eu não conheço! Bom, sendo assim, acho que não há necessidade de ficar reordenando o número do id!

Imagine a salada que seria se vc tiver que reordenar a id de uma renca de registros, e ainda por cima atualizar todos os relacionamentos para que apontem para a nova id desse registro! E o desempenho? A longo prazo o sistema vai parecer uma tartaruga!

[quote=Thiago Senna]Acho que vc não precisa disso!

Tem um comando sql que retorna pra vc o novo id gerado! Eu não sei como é este comando no access, mas deve ter em algum lugar o bendito comando!

Talvez haja até maneiras mais fáceis de se fazer isso, mas eu não conheço! Bom, sendo assim, acho que não há necessidade de ficar reordenando o número do id!

Imagine a salada que seria se vc tiver que reordenar a id de uma renca de registros, e ainda por cima atualizar todos os relacionamentos para que apontem para a nova id desse registro! E o desempenho? A longo prazo o sistema vai parecer uma tartaruga![/quote]

Então kra, mas esse eh um programa q soh está servindo como teste para mim, naum será utilizado “na prática”.

Obviamente vão testar o programa, mas o quesito desempenho nesse caso naum faz importância.

Preciso muito fazer isso, sei q eh uma “gambiarra”, mas naum consigo pensar em outra solução.

Oloco, você faz mesmo questão de desenvolver da pior maneira

Bom, então tira o auto increment e incrementa você mesmo na unha! Ou seja, cria uma tabela com o campo ID (inteiro). Depois cria uma classe que cria pra vc os ids e que seja capaz de reordená-los!

Você pode ter dois ids na mesma tabela: um deles que é esse “que não pode ter buracos” (acho que NÃO FAZ SENTIDO NENHUM; imagine se você recebesse um número de RG, e quando morresse uma pessoa, TODO mundo tivesse de renovar seus RGs para não deixar buracos na seqüência :stuck_out_tongue: ) e outro que você usa para fazer relacionamentos.

Essa numeração que não pode ter buracos pode ser “virtual”, ou seja, você pôe essa numeração só na visualização dos seus dados, não na própria tabela.

thingol

Segui sua dica, deu certo…

Tinha pensado nisso mas achei q ia dar mto trabalho quando na verdade naum deu quase nenhum!!

valeu kra :mrgreen: