Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Réinitialiser un formulaire après insertion
Cette nouvelle
astuce Access montre comment vider les zones de saisie d'un
formulaire après l'insertion d'un nouvel
enregistrement dans une
table. Pour un mécanisme plus propre, il n'est pas question de commander la fermeture puis la réouverture de ce
formulaire. L'objectif de cette réinitialisation est double. Il consiste premièrement à éliminer le risque d'ajouter plusieurs fois le même
enregistrement. Deuxièmement, il offre plus d'ergonomie à l'utilisateur pour procéder à une nouvelle création dans la foulée.
Source et procédure
Pour développer cette étude, nous avons besoin d'une
base de données offrant quelques objets déjà construits.
Comme l'indique le volet de navigation sur la gauche de l'écran, cette
base de données est composée d'une
table, d'une
requête ajout et d'un
formulaire. La
table recense des activités de sorties référencées sur leur département, leur ville, raison sociale et type d'activité. Le formulaire est un
formulaire de création. Il exploite la
requête ajout pour procéder. Et tout ce mécanisme est déjà fonctionnel.
- Dans le volet de navigation, double cliquer sur le formulaire f_ajout pour l'exécuter,
Des
listes déroulantes reliées entre elles permettent de définir le département, la ville et l'activité de l'enregistrement à créer. Une zone de saisie supplémentaire est prévue pour lui donner un nom, soit sa raison sociale.
- Cliquer directement sur le bouton Ajouter sans ne rien renseigner,
Comme vous pouvez le voir, une alerte apparaît. Une sécurité se déclenche. Et cette sécurité est gérée par une
macro associée au bouton. Elle s'assure simplement que tous les champs sont bien renseignés avant d'exécuter la
requête dynamique d'ajout. Par contre, si vous renseignez toutes les informations demandées par le biais des listes déroulantes et de la zone de saisie, la création s'opère parfaitement.
Et à ce titre, un message de confirmation apparaît. Si vous ouvrez la table et atteignez le dernier enregistrement, vous pouvez visualiser cette nouvelle insertion automatisée. Le clic sur le
bouton Ajouter du formulaire a simplement exécuté la
requête r_ajout. Celle-ci prélève les informations renseignées pour les insérer dans la table source. Si la construction de ce mécanisme vous intéresse, vous pouvez consulter la
formation Access spécifique sur la création d'un formulaire d'ajout.
Vider le formulaire après insertion
Ce que nous souhaitons par le biais de cette
astuce est de peaufiner l'application. Une fois le nouvel enregistrement inséré, les informations restent inscrites dans les listes déroulantes et dans la zone de saisie. Il convient de paramétrer les actions permettant de vider tous ces éléments. C'est ainsi que l'utilisateur pourra procéder sans risque à la création d'une nouvelle activité.
- 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 est absolument nécessaire. Elle est généralement située sur la droite de l'écran. Si elle n'est pas visible dans votre espace de travail, vous devez cliquer sur le
bouton Feuille de propriétés dans le ruban contextuel Création.
- Dès lors, cliquer sur le bouton Ajouter pour le sélectionner,
- Cliquer ensuite sur l'onglet Evénement de sa feuille de propriétés,
Vous constatez qu'une
macro est déjà associée à l'
événement Au clic du bouton.
- Cliquer sur le petit bouton à l'extrémité droite de cet événement,
Nous basculons ainsi dans l'
éditeur de macro. Et à ce titre, nous pouvons remarquer le travail déjà effectué.
Un quadruple test est réalisé avant de valider l'insertion. L'instruction conditionnelle vérifie qu'aucune zone n'est vide, en d'autres termes que tous les champs sont bien renseignés. Si tel est le cas, l'action
OuvrirRequête est enclenchée. C'est la
requête Ajout qui est désignée pour prélever ces informations et les insérer dans la table. Par contre, lorsque le quadruple test échoue parce qu'au moins l'une des zones n'est pas renseignée, l'insertion est refusée. Et à ce titre, une explication est affichée grâce à l'
action ZoneMessage.
Il ne nous reste plus qu'à insérer les actions permettant de vider les champs du
formulaire. Quatre contrôles sont concernés. Donc quatre actions similaires sont à paramétrer. Ces actions doivent intervenir après l'exécution de la
requête Ajout. Mais dans un premier temps, nous allons les créer à la suite, puis nous les remonterons sur le bon emplacement.
- Cliquer sur l'action ZoneMessage située sous l'action OuvrirRequête,
- Juste en-dessous, déployer la liste déroulante des actions,
- Choisir l'action DéfinirPropriété,
- Dans la zone Nom du contrôle, taper dep,
Il s'agit du nom de la première
liste déroulante, celle des départements.
- Dans la zone Propriété, choisir Valeur,
- Conserver vide la zone Valeur du dessous,
Cette action aura pour effet d'effacer le département choisi par l'utilisateur pour la création d'une nouvelle activité.
De la même façon, nous devons vider les trois autres contrôles nommés villes, activites et rs.
- A la suite, créer les trois actions DéfinirPropriété en adaptant le nom du contrôle,
Enfin, même s'il ne s'agit pas d'une nécessité absolue, il convient de remonter ces quatre tâches entre l'
action OuvrirRequête et l'
action ZoneMessage.
Pour cela, à l'extrémité droite de chaque action, vous pouvez utiliser la flèche dirigée vers le haut.
- En haut de l'éditeur de macro, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
- De retour sur le formulaire, l'enregistrer à son tour,
- L'exécuter avec la touche F5 du clavier,
- Renseigner les quatre informations demandées et cliquer sur le bouton Ajouter,
Comme vous pouvez le voir, l'enregistrement est parfaitement ajouté et le
formulaire est complètement réinitialisé. L'utilisateur peut donc procéder sans risque à l'ajout d'une nouvelle activité dans la foulée. Si vous ouvrez la
table et atteignez la fin des
enregistrements, vous constatez bien la présence du dernier ajout.