Pb SQL DELETE et clef primaire

interstate6003 Messages postés 6 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 1 août 2005 - 31 janv. 2005 à 15:29
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008 - 31 janv. 2005 à 15:53
Cher CruciVBiste je me trouve face à un énorme problème, qui pour le moment reste sans réponse, et cela sur n'importe quel forum.
En ce moment je développe un programme pour mes besoins personnels, à l'aide de VB6.0 ainsi que SQL Server 2000. Le but du soft est simple, après avoir créé ma Base de donnée de manière automatique grâce au script SQL, il fallait que je traite cette base en visual basic, pour la lecture / écriture.
Ma base est constituée des colonnes : Num (index qui s'auto incremente), Dessinateur (string), scénariste(string), Album....et d'autres détails sur l'album.
Mais voila j'ai créé également un fonction permettant, grâce a la requete SQL "DELETE..." de supprimer une ligne entière contenant le dessinateur, le nom de la BD....mais surtout l'index auto incrementé.
Au final dans un classement du type 1,2,3,4,5,6 je me retrouve avec 1,2,3,5,6 si je supprime la ligne 4, et ce fameux index ne se remet pas à jour.
Je cherche donc n'importe quel moyen pour remettre cet index à jour que ce soit dans mon script SQL ou dans mon code VB, et pouvoir avoir une continuité propre, sans que cela ai l'allure d'un gruyere.
Interstate6003

2 réponses

cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
31 janv. 2005 à 15:48
Quel est l'utilité de chercher à ce que ce champ ne ressemble pas à un "Gruyére" ??
Franchement je ne vois pas ??

It@li@
0
Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008
31 janv. 2005 à 15:53
Ce que je te propose c de faire une boucle:

par exemple tu supprime le 4:

Dim rst_art As ADODB.Recordset

i=4

do while ADODC1.recordset.eof = true req "Update Num " & i & " from TaTable where Num= " & i+1 &";"
rst_art.Open req, CurrentProject.Connection
rst_art.Close
i = i + 1
ADODC1.recordset.movenext
loop

Je sais pas si ca marche mais ca me semble correct.

@+

Manu
0
Rejoignez-nous