formateur informatique

Récupérer le numéro du dernier enregistrement créé

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Récupérer le numéro du dernier enregistrement créé
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Inscription Newsletter
Sujets que vous pourriez aussi aimer :


Dernier identifiant après insertion

Cette nouvelle astuce Access montre comment récupérer automatiquement l'identifiant du dernier enregistrement créé par le biais d'un formulaire d'ajout. Ce mécanisme est entre autres dédié à la facturation client. A la création d'une nouvelle commande, le dernier numéro est récupéré pour pourvoir implémenter la table du détail par relation.



Source et procédure
Pour développer cette astuce, nous proposons de récupérer un formulaire permettant déjà de créer un nouvel enregistrement.
  • Télécharger le fichier dernier-identifiant.rar en cliquant sur ce lien,
  • Le décompresser dans le dossier de votre choix,
  • Double cliquer sur le fichier résultant pour l'ouvrir dans Access,
  • Puis, cliquer sur le bouton Activer le contenu du bandeau de sécurité,
  • Dans le volet de navigation, double cliquer sur le formulaire f_ajout pour l'exécuter.
Celui-ci permet de créer une nouvelle activité de sortie afin d'alimenter la table t_sorties. Si vous définissez un département, une ville et une activité et que vous saisissez une raison sociale, au clic sur le bouton Ajouter, un nouvel enregistrement est créé. Vous pouvez le constater en ouvrant la table t_sorties et en atteignant la fin de ses enregistrements.

Formulaire Access pour créer des nouveaux enregistrements

Et cette nouvelle ligne est accompagnée d'un identifiant unique et numérique dans son champ auto-incrémenté s_id. Le clic sur le bouton déclenche l'exécution de la requête r_ajout par action de macro. Cette requête récupère les informations mentionnées sur le formulaire pour les insérer dans la table.

Récupérer le dernier numéro créé
Après l'insertion, l'enjeu consiste à récupérer le dernier identifiant créé. C'est ainsi qu'il est possible d'entreprendre l'implémentation des tables liées par ce numéro, dans la foulée des premières actions. Pour ce faire, nous proposons d'ajouter une zone de texte sur le formulaire. Son rôle est de récolter le dernier numéro grâce à la fonction Access MaxDom. Cette fonction extrait la valeur la plus grande dans un champ. Il est même possible d'émettre un critère pour filtrer les données sur lesquelles agir. Dans notre cas, c'est le numéro le plus grand dans l'absolu qui nous intéresse. Donc, aucune condition n'est utile.
  • Revenir sur le formulaire f_ajout,
  • Tout à fait à gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste des propositions, choisir le mode création,
Nous basculons ainsi dans la vue en conception du formulaire. Pour la suite des opérations, la feuille de propriétés doit être disponible. Si elle n'est pas visible dans votre environnement, vous pouvez l'afficher en cliquant sur le bouton du même nom dans le ruban contextuel Création.
  • Dans la zone Contrôles de ce ruban Création, sélectionner la zone de texte,
  • Puis, la tracer sur le formulaire à droite des boutons par exemple,
Ajouter une zone de saisie sur un formulaire Access



Il est important d'attribuer un nom à chaque objet que nous ajoutons. C'est ce que nous proposons de faire avant de poursuivre. Et pour cela, la zone de texte doit toujours être sélectionnée.
  • Activer l'onglet Autres de sa feuille de propriétés,
  • Dans la zone Nom, remplacer l'information par défaut par l'intitulé suivant : Dernier,
  • Puis, valider avec la touche Entrée du clavier,
Attribuer un nom explicite à un contrôle de formulaire Access
  • Désormais, activer l'onglet Données de la feuille de propriétés,
  • Dans la zone Source contrôle, saisir la syntaxe suivante : =MaxDom("[s_id]";"t_sorties"),
  • Valider avec la touche Entrée et enregistrer les modifications (CTRL + S),
Nous faisons donc agir la fonction MaxDom sur le champ s_id de l'identifiant à partir de la table t_sorties. Ce n'est pas tout à fait terminé. Comme vous le savez, une action de macro est nécessaire pour actualiser les données. Cette action doit intervenir au clic sur le bouton Ajouter, nécessairement après l'insertion de l'enregistrement, cela va de soi.
  • Cliquer sur le bouton Ajouter pour le sélectionner,
  • Activer alors l'onglet Evénement de sa feuille de propriétés,
  • Cliquer ensuite sur le petit bouton situé à droite de son événement Au clic,
Comme une macro lui est attachée, nous basculons directement dans l'éditeur.
  • Cliquer sur la dernière action DéfinirPropriété de l'instruction Si,
  • Déployer alors la liste déroulante du dessous,
  • Puis, sélectionner l'action AfficherTousEnreg,
Action de macro pour actualiser les données et récupérer le dernier numéro grâce à la fonction MaxDom



C'est elle qui permet d'actualiser les données et les liaisons.
  • Dans le ruban Création, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
  • De retour sur le formulaire, l'enregistrer à son tour puis l'exécuter (F5),
Comme vous pouvez le voir, le dernier numéro d'enregistrement apparaît déjà dans la zone de texte. Il nous reste à savoir si nous parvenons bien à récupérer le nouveau, tout de suite après une création.
  • Renseigner les trois listes déroulantes et inscrire une raison sociale,
  • Cliquer alors sur le bouton Ajouter,
  • Puis, valider le message de confirmation qui suit,
Récupérer le numéro du dernier enregistrement créé après insertion depuis formulaire Access

Aussitôt le numéro s'actualise. Il a bien été récupéré depuis la table t_sorties. Vous pouvez confirmer sa parfaite cohérence an atteignant le dernier enregistrement de cette dernière.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn