Incrémentation automatique identifiant!!!

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
Configuration: Windows 2000
Firefox 2.0.0.6

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    Pourquoi vouloir garder le type texte? Les identifiants ont toujours le type integer (sauf cas spéciaux...)
    1. 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
      1. 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 !!!!!
        1. 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