Numerotation automatique le max sur access 2013

Résolu
bonjour, sur une base créée il y a longtemps et qui fonctionnait jusqu'à maintenant très bien jusqu'à ce que je passe sur 2013 ou avec la nouvelle année j'ai un pb avec la numérotation automatique le max.
j'ai un formulaire de saisie avec un bouton "ajouter un enregistrement" sur lequel j'ai un évènement :
DoCmd.GoToRecord , , acNewRec
Me.numero = Me.le_max + 1
avec un contrôle sur mon formulaire "=Max([numero])"
j'ai l'impression que mon contrôle "=Max([numero])" ne fonctionne plus.
la version 2013 aurait-elle supprimer ce genre d'instruction ?
évidemment je suis hyper pressée.
quelqu'un aurait-il une solution ?
merci

7 réponses

  1. Bonsoir,
    J'ai eu un problème du même genre il n'y a pas longtemps.
    Je te conseillerai d'utiliser la fonction DMax("ChampsSélecctionné","Matable","A=MonCritère")
    Celle-là, c'est sûr qu'elle marche encore
    Bonne suite.
    0
    1. bonjour et merci d'avoir répondu
      je ne suis pas une pro d'access
      si je mets
      =DMax("[numero]","T_Declarations","A=numero")
      désolée d'être nulle
      en plus l'aide d'access sur access 2013 est nulle de chez nulle
      je ne comprends pas ce que je dois mettre en zone critère.
      en fait je veux qu'elle me renvoie le dernier numero automatique généré
      ce numero étant construit comme ça : 201405 par exemple
      merci de m'aider encore
      Marie
      0
      1. Bonsoir,
        Tu as raison les didactitiels de MS sont de pire en pire, et de moins en moins facile d'accès.
        Alors, Attention, la série DSommeThing(,,) ne doit pas intégrer de crochets, il faut donc que tu respectes la ponctuation que j'ai indiquée.
        A propos des critères, ce sont les filtres que tu appliques à ta table (ou ta requête) pour retenir le max tu veux. Par exemple si tu prends les entiers naturels de 1 à 1000, le max des impairs n'est pas le même que le max des pairs, ou le max des divisibles par 3. Tu dois donc définir tes critères pour filtrer les données que tu retiens pour la recherche de ton Max.
        Bonne suite.
        0
        1. Ci-dessous un exemple de l'utilisation d'une fonction de la famille D__()
          A =DernDom("LOYER";"LocLoyer";" [NoLocation] =[Formulaires]![LoyersEuros]![NoLocation] ")

          Il s'agit de prendre en compte les loyers à calculer pour un locataire, càd on recherche la dernière valeur du champ " LOYER ", de la requête " LocLoyer " , pour la série de valeur dont l'index " NoLocation " est donnée par la valeur du champ " NoLocation " du formulaire " LoyersEuros "

          En espérant avoir été clair
          0
      2. bonjour,
        désolée
        vous avez surement été clair sauf que je suis vraiment nulle.
        je veux juste qu'elle me renvoie le dernier numero pris dans le champ "numero" pour le dernier enregistrement dans une table T_Declarations
        je n'ai pas de critère
        mais pourquoi la fonction Max ne marche plus ?
        encore un peu d'aide svp
        merci
        (vous travaillez tard ? non ?)
        0
        1. Bonsoir,
          "mais pourquoi la fonction Max ne marche plus ? "
          Je n'en sais rien, je te propose une solution pour contourner le problème, je ne peux pas te dire mieux.
          Si tu n'as pas de critère particulier, tu n'en mets pas, c'est aussi simple que ça. J'avais donné la formule générale.
          Bonne suite.
          0
          1. bonjour,
            j'ai essayé, cela n'a pas marché. de guerre lasse, j'ai laissé tomber et j'ai créé une zone liste en bas de mon formulaire avec le dernier enregistrement qui apparait. Miracle, ma fonction lemax fonctionne à nouveau !!!!!!!
            Mystère et boule de gomme !
            en tout cas merci pour votre aide !
            0
            1. Bonsoir,
              Effectivement: "Mystère et boule de gomme ! " . ???
              Bonne suite
              0