VBA Access - Incrémentation

Bonjour,

Je suis sous Access 2007. J'ai un certain nombres de factures, je souhaite dans mon formulaire facture, incrémenter un champ de un en un à partir du dernier num facture.

Merci d'avance.

EmilieRose

16 réponses

  1. C'est bon ça fonctionne. Merci bcp de ton aide Balou. :-*
    1
    1. Modérateur
      Moi, c'est pas Balou...

      Tu peux dire ce que tu as fait, ça peut intéresser les autres ?
      0
    2. je pense qu'elle a du faire ça :

      nom_du_champ = DMax("Num_facture","table-facture") +1

      car ça marche chez moi :-)

      merci à tous les deux !
      0
  2. as tu une base de donnée ou est géré tes factures?
    0
    1. Balou, j'ai envoyé les tuples de la table facture sur ma nouvelle base de donnée.
      0
      1. en fait tu voudrai que quand tu aille sur ton formulaire il te mette automatiquement un numéro de facture?
        (je cherche a comprendre)
        0
        1. Voilà tout à fait. Sachant qu'il ne part pas de 0 mais du dernier numéro enregistrement.
          0
          1. une petite seconde n'étant pas expert access je regarde si je trouve une soluce
            0
            1. Merci c'est mimi comme tout Balou :-*
              0
              1. Modérateur
                Salut,

                une requête peut suffire, à mon avis :

                SELECT MAX(num_facture)+1 FROM table_facture;
                0
                1. Je la place dans quelle procédure ? En form_load ?
                  0
                  1. Bah faut bien qu'elle soit affecté quelque part.......
                    0
                    1. Modérateur
                      Ca, j'ai bien compris, mais tu veux en faire quoi, au juste : la mettre dans un champ de formulaire, l'utiliser pour générer un nouvel enregistrement...

                      Parce qu'on peut utiliser aussi la fonction DMax("Num_facture","table-facture").
                      0
                  2. L'insérer dans un champ du formulaire. Dès l'enregistrement d'une nouvelle facture, qu'il y ait direct le numéro d'afficher.
                    0
                    1. Modérateur
                      nom_du_champ = DMax("Num_facture","table-facture")
                      0
                      1. Cela ne marche pas, je l'ai pourtant mise dans "Private Sub numfacture_BeforeUpdate(Cancel As Integer)"
                        0
                        1. Modérateur
                          et tu as mis quoi ?
                          0
                      2. C'est bon Balou, cela marche. Pas contre, cela me met le dernier enregistrement (qui existe déjà) alors que c'est le prochain que j'iamerai.

                        Cela me met le 220, qui existe déjà dans ma table (c'est le dernier), je souhaite le 221 vu que c'est un nouveau enregistrement.
                        0