formateur informatique

Formulaire Access d'inscription sans code VBA

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Formulaire Access d'inscription sans code VBA
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 :


Formulaire Access d'inscription

Cette nouvelle astuce Access est la suite logique de la précédente. Elle avait consisté à vérifier les inscriptions de l'utilisateur au fil de la saisie, avec des guides symbolisés par des astérisques.

Formulaire Access d-inscription sans code VBA

Désormais, nous devons nous soucier de finaliser l'inscription pour que les informations du nouvel utilisateur soient archivées dans la table source. Et c'est ce qu'illustre la capture ci-dessus.



Base de données source
Avant de démarrer, il convient bien sûr de récupérer les travaux aboutis à l'occasion de la précédente astuce. Vous constatez l'affichage d'astérisques en regard des champs à renseigner. Ils indiquent que toutes ces informations doivent obligatoirement être fournies. Si vous remplissez ces champs, vous notez que les astérisques disparaissent tour à tour. Cette méthode confirme à l'utilisateur que sa saisie est jugée conforme.

Attention néanmoins, l'identifiant doit essentiellement être composé de chiffres sur au moins 6 caractères. Le mot de passe doit être alphanumérique (Lettres et chiffres) sur 5 caractères, ni plus ni moins. Ce sont des règles que nous avons posées en Amont. Mais à ce stade, bien que le formulaire soit parfaitement renseigné, si vous cliquez sur le bouton Valider, rien ne se produit encore, fort naturellement.



Requête Ajout
Pour valider l'inscription en contournant le code VBA, l'astuce consiste à passer par une requête Ajout. Cette requête Ajout doit récupérer les informations saisies sur le formulaire pour les insérer dans la table Utilisateurs. Pour que cette insertion soit ordonnée, la requête Ajout doit être exécutée au clic sur le bouton Valider, par actions de macro.
  • En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
  • Dans la section Requêtes du ruban, cliquer sur le bouton Création de requête,
  • Dans la boîte de dialogue qui suit, cliquer sur le bouton Fermer,
De cette manière, nous basculons dans l'éditeur de requête Access sans ajouter de table. En effet, la requête à construire est spécifique. Son but n'est pas de sélectionner des données mais d'en insérer. La table se définit donc après dans la procédure.
  • Dans le ruban Créer, cliquer sur le bouton Ajout,
  • Dans la boîte de dialogue qui suit, désigner la table Utilisateurs avec la liste déroulante,
  • Puis, cliquer sur le bouton Ok pour valider la transformation de la requête,
Créer une requête Access pour ajouter des données dans la table avec le formulaire d-inscription

A ce titre, vous voyez apparaître la ligne Ajouter à dans la grille de requête. C'est grâce à elle que nous allons pouvoir spécifier les champs cibles pour l'insertion de données.
  • Sur la ligne Ajouter à, désigner les champs de la table dans l'ordre,
Correspondance des champs de destination entre la requête et le formulaire Access pour inscription automatique dans la table

Pour cela, une liste déroulante se propose dans chaque colonne. Maintenant, nous devons préciser ce que nous souhaitons insérer dans ces champs. Et précisément, chaque expression respective doit se construire dans la zone Champ de cette grille de requête. Cette expression consiste à prélever l'information correspondante sur le formulaire au moment de l'appel. Et pour établir cette correspondance, nous allons utiliser le générateur d'expression d'Access.
  • Cliquer droit dans la zone Champ de la première colonne,
  • Dans le menu contextuel qui apparaît, choisir la commande Créer,
Appeler le générateur d-expression sur un champ de requête Access

Nous déclenchons en effet l'affichage de la boîte de dialogue du générateur d'expression.
  • Dans la liste de gauche, déployer complètement l'arborescence des formulaires,
  • Puis, cliquer sur le formulaire F_Inscription pour le sélectionner,
  • Dans la liste du centre, double cliquer sur le contrôle Civ du formulaire,
Expression de correspondance entre requête et formulaire Access pour ajouter automatiquement des données dans la table

De cette manière, nous bâtissons l'expression de correspondance entre le contrôle de la civilité issu du formulaire et le champ U_civilite dans lequel cette information doit être insérée.
  • Cliquer sur le bouton Ok pour valider la création de cette expression,
De la même façon, les autres expressions de correspondance doivent être bâties dans la zone champ pour les champs de destination respectifs.

Pour le champ U_nom :
Formulaires![F_Inscription]![Le_Nom]

Pour le champ U_prenom :
Formulaires![F_Inscription]![Prenom]

Pour le champ U_id :
Formulaires![F_Inscription]![Id]

Pour le champ U_mp :
Formulaires![F_Inscription]![Mp]

Désormais, nous devons exploiter ce travail. Cette requête n'est pas destinée à être utilisée seule.
  • Enregistrer la requête (CTRL + S) sous le nom R_Inscription,
  • Puis, fermer cette dernière en cliquant sur la croix de son onglet,
Nous sommes ainsi de retour sur le formulaire en mode exécution puisque nous ne l'avions pas fermé.



Valider l'inscription
Le plus dur est fait. Il ne nous reste plus qu'à déclencher l'exécution de cette requête Ajout au clic sur le bouton Valider.
  • A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste des propositions, choisir le mode Création,
  • Sur le formulaire en conception, cliquer sur le bouton Valider pour le sélectionner,
  • Dès lors, activer l'onglet Evénement de sa feuille de propriétés,
  • Cliquer sur le petit bouton à l'extrémité droite de son événement Au clic,
  • Dans la boîte de dialogue qui suit, choisir le générateur de macro et valider par Ok,
Nous basculons ainsi dans l'éditeur de macro Access. Avant d'enclencher l'exécution de la requête Ajout, nous devons nous assurer que tous les champs ont correctement été renseignés. En effet, les contrôles placés en amont sont seulement des guides, sauf pour les zones Id et Mp qui sont régis par des règles de validité. En conséquence, nous devons vérifier des critères. Et pour cela, nous avons besoin de l'appui d'une instruction conditionnelle.
  • Déployer la liste déroulante au centre de l'éditeur et choisir l'instruction Si,
  • Dans la zone Expression conditionnelle, taper la syntaxe suivante :
NbCar([Le_Nom])>3 Et NbCar([Prenom])>3 Et [Id]<>"" Et [Mp]<>"" Et [Civ]<>""

Il s'agit donc d'une analyse multicritère. Tous les contrôles de renseignement sont concernés. Les conditions sont recoupées une à une grâce à l'opérateur Et. La fonction Access NbCar renvoie le nombre de caractères contenus dans le champ qui lui est passé en paramètre. Ainsi, nous nous assurons tout d'abord que le nom et le prénom sont renseignés avec au moins quatre caractères. Les contrôles Id et Mp sont soumis à des règles de validité strictes. Si elles ne sont pas respectées, les saisies sont refusées. C'est la raison pour laquelle, nous vérifions simplement qu'ils ne sont pas vides. Le champ de la civilité ne peut prendre que deux valeurs puisqu'imposées par une liste déroulante. C'est pourquoi de la même manière, nous nous assurons simplement qu'il est bien renseigné.
  • Dans le ruban Création, cliquer sur le bouton Afficher toutes les actions,
En effet, nous allons devoir avoir recours à une action spécifique qui n'est pas disponible par défaut. Cette action permet de neutraliser les alertes d'Access. Ces alertes interviennent notamment à l'occasion de l'exécution d'une requête Ajout. Comme il s'agit de toucher au coeur des données, Access demande toujours confirmation à l'utilisateur avant d'agir. Mais ici, nous savons ce que nous faisons.
  • Avec la liste déroulante sous l'instruction Si, choisir l'action Avertissements,
  • Conserver son attribut Avertissements actifs réglé sur Non,
C'est ainsi et placée en amont de toutes les autres actions que les alertes pourront être neutralisées.
  • Déployer la liste déroulante du dessous et choisir l'action OuvrirRequête,
  • Dans la zone Nom de la requête, choisir la requête R_Inscription,
  • Ensuite, régler son attribut Mode de données sur Lecture seule,
Dès lors que la requête aura fini de s'exécuter, nous devons purger le formulaire en vidant ses zones de texte pour permettre une éventuelle nouvelle inscription dans la foulée et ne pas risquer non plus d'insérer des informations en double. Mais avant cela, nous souhaitons avertir l'utilisateur du bon déroulement du processus.
  • Avec la liste déroulante du dessous, choisir l'action ZoneMessage,
  • Dans la zone Message, inscrire l'indication suivante : L'inscription s'est déroulée avec succès,
  • Dans la zone Type, choisir le style Information,
  • Avec la liste déroulante du dessous, choisir l'action DéfinirPropriété,
  • Dans la zone Nom du contrôle, désigner le contrôle Civ,
  • Dans la zone Propriété, choisir l'attribut Valeur,
  • Puis, conserver vide la zone Valeur,
De cette manière, après exécution de la requête, la liste déroulante sera vidée de son précédent choix. Nous devons répliquer exactement le même réglage pour les quatre zones de texte en les désignant par leurs noms.
  • Déployer la liste déroulante du dessous,
  • Choisir de nouveau l'action DéfinirPropriété,
  • Dans la zone Nom du contrôle, taper l'intitulé Le_Nom,
  • Dans la zone Propriété, choisir l'attribut Valeur,
  • Puis conserver vide la zone Valeur,
  • De la même façon régler l'action DéfinirPropriété pour les trois autres zones de texte,
Il s'agit simplement d'adapter les noms des contrôles : Prenom, Id et Mp. Enfin, nous ne devons pas oublier de traiter le cas où les cinq critères de l'instruction conditionnelle ne sont pas honorés. Dans ce cas, l'inscription est refusée et l'utilisateur doit en être informé.
  • En bas à droite de la dernière action DéfinirPropriété, cliquer sur le lien Ajouter Sinon,
  • Déployer la liste déroulante de cette nouvelle section,
  • Choisir l'action ZoneMessage,
  • Dans la zone Message, taper l'indication suivante :
Tous les champs doivent être renseignés correctement.
  • Dans la zone Type, choisir le Style Stop,
Actions de macro Access pour déclencher les inscriptions des données du formulaire dans la table source

La macro est terminée. Il est temps de tester son bon fonctionnement.
  • Dans le ruban Création, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
  • De retour sur le formulaire, l'enregistrer à son tour (CTRL + S),
  • Puis, l'exécuter avec la touche F5 du clavier par exemple,
  • Cliquer directement sur le bouton Valider,
Inscription refusée car tous les champs du formulaire Access ne sont pas renseignés

Comme vous le constatez, étant donné que toutes les informations requises ne sont pas renseignées, la sécurité est déclenchée par la branche Sinon de notre instruction conditionnelle. Et comme vous pouvez le voir aussi, le type Stop est matérialisé par une icône rouge.
  • Désormais, renseigner toutes les informations demandées, de la civilité au mot de passe,
Souvenez-vous néanmoins, l'identifiant doit être composé au moins de six chiffres et le mot de passe doit être alphanumérique et codé sur cinq caractères.
  • A l'issue, cliquer sur le bouton Valider,
Inscription réussie en base de données depuis un formulaire Access et sans code VBA

Comme vous pouvez le voir, l'inscription semble s'être parfaitement déroulée, en atteste l'apparition du message de confirmation. A validation de ce message, toutes les zones du formulaire se réinitialisent, comme nous l'avons dicté avec l'action de macro DéfinirPropriété. Si vous ouvrez la table Utilisateurs, vous confirmez la présence du nouvel enregistrement fraichement créé par le biais du formulaire d'inscription.

Nous n'en avons pas terminé pour autant. Il manque des verrous de sécurité. Rien n'empêche pour l'instant un utilisateur de s'inscrire deux fois. Nous devons donc vérifier la présence de la paire Nom/Prénom. Rien n'empêche non plus un utilisateur de fournir la même paire Identifiant/Mot de passe qu'un autre. Là encore, nous devons vérifier sa présence avant d'accepter l'inscription. Ces travaux feront l'objet de la prochaine astuce.

 
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