Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
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.
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,
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,
- 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,
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,
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.