Numéro automatique

Résolu
Bonjour,
j'ai une basse de données avec numéro automatique
j'ai beaucoup chercher sur internet mais pas trouvé ce que je cherche
je voudrai que ce numéro automatique soit sous cette forme
2017-1, 2017-2, 2017-3 .........
année suivante 2018-1, 2018-2, 2018-3
comment puis-je faire
merci

4 réponses

  1. bonjour

    Tous mes voeux à toutes et tous.
    toujours pas trouvé la solution à mon problème, j'ai fait plusieurs forum mais je n'ai rien trouvé
    J'ai pensé à une solution mais je sais pas si c'est possible?
    Si je ne met pas de N° automatique pour ma clé mais plutôt un format date du style aa.mm.jj.hh.mn.s ?
    année. mois.jour.heure.minutes.seconde
    À chaque nouvelle rentrée les numéros seront unique!
    Est ce que cela semble correct?

    --
    1. Bonjour
      Une solution simple si cela te convient
      Dans les propriétés du N°auto sur format tu mets ceci
      \20"17-"0000 pour 2017 et changera pour pour 2018
      1. bonjour
        tout d'abord meilleurs vœux pour cette année 2018
        désolé de ne pas avoir répondu avant
        en fait ce que je voudrais c'est:
        avoir un numéro auto qui reparte à 0 en début de chaque année sans que je n'ai à modifier quoique se soit
        exemple
        2017-01 2017-02 2017-03..........etc
        et en 2018:
        2018-01 2018-02 2018-03 ......etc
        merci
      2. encore moi
        ou peut être un format année-mois-jour-heure-minutes-secondes
        est-ce possible du coup les numéros seraient toujours uniques?
    2. Contributeur
      je propose de faire ainsi:
      - ajouter un champ de type texte dans ta table (appelons-le "unique")
      - supposons que ta table s'appelle "autospecial"
      - supposons aussi que le champ de ton formulaire qui correspond à ce champ dans ta table s'appelle aussi "unique"
      - modifier ton formulaire pour lui associer le code suivant:

      Option Explicit
      
      Private Sub Form_Current()
      Dim plusgrand
      Dim annee As String
      Dim prochain As Long
          If IsNull(Me.unique) Then
              annee = Year(Now())
              plusgrand = DMax("unique", "autospecial", "left(unique,4)='" & annee & "'")
              If Not IsNull(plusgrand) Then
                  prochain = CLng(Right(plusgrand, Len(plusgrand) - 5)) + 1
              Else
                  prochain = 1
              End If
              Me.unique = annee & "-" & prochain
          End If
      End Sub
      1. Je vois ça et te tiens au courant.
        Par contre le code je le comme où ?
        Merci.
      2. Contributeur
        @Pascal41400vois ici: https://loufab.developpez.com/tutoriels/access/evenements/
        le point VI mentionne:
        Le plus simple est de se positionner en mode Création sur le formulaire
        Cliquez sur l'onglet Evénements.
        Cliquez sur l'événement et choisissez dans la liste [Procédure événementielle]
        Cliquez sur l'icône <...>.
        ensuite coller le code dans la fenêtre de l’éditeur de programme
      3. bonjour
        désolé de ne pas avoir répondu avant
        j'ai essayé mais je n'y arrive pas
        je vais exagérer mais peux-tu me mettre un exemple fichier access avec le code vba pour que je puisse comprendre ou il faut le mettre?
        d'avance merci
    3. Contributeur
      bonjour, je pense que tu dois créer tes enregistrements via un code VBA, par exemple via un formulaire, pour réaliser cela.
      1. bonjour
        aie!!!!! pour moi le vba c'est du chinois
        est-ce que tu peux m'aiguiller
        merci
      2. Contributeur
        je pense que le point de départ est d'utiliser un formulaire pour créer les nouveaux enregistrements. est-ce tout aussi chinois?
      3. J'ai un formulaire pour rentrer mes données dont un champ numéro auto 1,2,3,4 ...etc...
        Mais là je ne vois pas comment faire.