Incrémentation automatique identifiant!!!
js8bleu
Messages postés
624
Statut
Membre
-
js8bleu Messages postés 624 Statut Membre -
js8bleu Messages postés 624 Statut Membre -
Bonjour à tous,
Je ‘’programme’’ en visual basic et access et je souhaiterai faire de telle sorte que l’identifiant de ma table ‘’voiture’’ s’incrémente à chaque fois que j’enregistre une nouvelle voiture, mais je ne sais pas comme le faire. L’identifiant ‘’idvoiture’’ est de type texte. Le code (ci-après) que j’avais marchait correctement jusqu’à ce que les enregistrements atteignent le nombre de 10 en effet, pour les données de type texte 9 est supérieur à 10. Il me parle donc à chaque fois de doublons. J’ai résolu le problème en utilisant le type integer mais je souhaiterai vraiment garder le type texte. Quelqu’un pourrait-il m’aider s’il vous plaît ? Merci d’avance.
Dim rsenregistrervoiture As New Recordset
rsenregistrervoiture.Open "select * from Tablevoiture", cn, 1, 2
rsenregistrer.AddNew
If rsenregistrervoiture.RecordCount < 1 Then
rsenregistrer!idvoiture = 1
Else
Dim rsnumvoiture1 As New ADODB.Recordset
rsnumvoiture1.Open "select max(idvoiture) as maximum from tablevoiture", cn, 1, 2
Dim maximum As Integer
maximum = rsnumvoiture1.Fields(0)
rsenregistrer!idvoiture = maximum + 1
End If
Cordialement
Je ‘’programme’’ en visual basic et access et je souhaiterai faire de telle sorte que l’identifiant de ma table ‘’voiture’’ s’incrémente à chaque fois que j’enregistre une nouvelle voiture, mais je ne sais pas comme le faire. L’identifiant ‘’idvoiture’’ est de type texte. Le code (ci-après) que j’avais marchait correctement jusqu’à ce que les enregistrements atteignent le nombre de 10 en effet, pour les données de type texte 9 est supérieur à 10. Il me parle donc à chaque fois de doublons. J’ai résolu le problème en utilisant le type integer mais je souhaiterai vraiment garder le type texte. Quelqu’un pourrait-il m’aider s’il vous plaît ? Merci d’avance.
Dim rsenregistrervoiture As New Recordset
rsenregistrervoiture.Open "select * from Tablevoiture", cn, 1, 2
rsenregistrer.AddNew
If rsenregistrervoiture.RecordCount < 1 Then
rsenregistrer!idvoiture = 1
Else
Dim rsnumvoiture1 As New ADODB.Recordset
rsnumvoiture1.Open "select max(idvoiture) as maximum from tablevoiture", cn, 1, 2
Dim maximum As Integer
maximum = rsnumvoiture1.Fields(0)
rsenregistrer!idvoiture = maximum + 1
End If
Cordialement
Configuration: Windows 2000 Firefox 2.0.0.6
4 réponses
-
Salut,
Pourquoi vouloir garder le type texte? Les identifiants ont toujours le type integer (sauf cas spéciaux...) -
C'est tout simplement parce que je fais des traitements qui sont plus facile avec les id de type texte. Y-a-t-il quelqu'un pour m'aider s'il vous plaît? Merci d'avance.
Cordialement -
Salut tout le monde. Je voudrais savoir 2 chose :
1 - Quel est le format de ton id lorsqu'il est en texte ?
2 - Donne nous le code qui posait problème !!!!! -
Salut Michael_Ange,
en fait, c'est le code qui est en haut qui cause problème et j'y ai tout expliqué. Quant au format de mon id il n'y en a pas. J'ai tout expliqué en haut, je voudrai juste incrémenté des textes mais sous forme de numéro et le problème c'est qu'à 10 il parle de doublon puisque 9 est le maximum sous ce format-là. Merci d'avance pour ton aide.
Cordialement