Pratique 805.1

SimulationObjectif

Lors de l'ouverture du formulaire, nous allons demander à l'utilisateur son prénom et l'afficher dans le formulaire après l'étiquette Bonjour.

La Zone de texte permet de modifier le prénom.

Un double-clic sur le bouton affiche le mot "Bonjour " : celui-ci est concaténé avec le prénom que l'on peut modifier dans la Zone de texte.

Exécution

Ouvrir Access avec la base 0805_1.accdb qui se trouve dans TEAMS, canal Access, onglet Fichiers

Ouvrir le formulaire frm_test (double-clic) en mode  : ce formulaire n'est pas lié à une source de données, ce qui impliquera que l'on ne peut pas afficher les données contenues dans les tables sans passer par l'écriture de code.

SyntaxeVisualiser le contrôle Bonjour ... etc

Afficher la feuille de propriétés du formulaire en mode Création. Dans le menu proposé, choisir le contrôle Zone de texte txt_prenom, puis observez l'onglet autres.

  • Nom -> txt_prenom

  • Nom d'étiquette -> etq_bonjour

Choisir le contrôle étiquette etq_bonjour qui est lié à la Zone de texte  :

  • Légende -> Bonjour

La Zone de texte est un type de contrôle qui va permettre à l'utilisateur de modifier des données dans un formulaire.

L'étiquette qui lui est associée a pour rôle d'informer uniquement et par conséquent, n'est pas modifiable par l'utilisateur. Le programmeur pourra le faire avec du code en programmation. Pour le vérifier, votre formulaire étant en mode création :

  • si vous cliquez sur le mot Bonjour, rien ne se passe,

  • si vous cliquez sur le prénom, le curseur passe en mode saisie afin que vous puissiez modifier les données.

Code VBA associé au chargement du formulaire

Affichez les propriétés du formulaire : le choisir dans la liste, puis onglet événement.

La propriété Sur chargement informe la présence d'une procédure événementielle, cliquez sur le bouton ... pour afficher le code.

La fenêtre de codage en VBA s'affiche directement sur la procédure événementielle qui va s'exécuter lors du chargement du formulaire. Cela implique que ce code ne sera exécuté qu'une seule fois. Pour re-tester ce code, il faut fermer et ré-ouvrir le formulaire.

Le nom de la procédure est Form_Load(), le code demande le prénom dans une boîte de dialogue, et ré-affiche le prénom dans la zone de texte correspondante.

Code VBA associé au bouton bt_actuprenom

Visualiser le code associé à l'événement double-clic du contrôle bouton.

C'est la propriété caption qui, dans le code permet au programmeur de modifier le texte affiché. Par contre, si vous regardez l'onglet Format dans la feuille de propriétés du contrôle nommé etq_bonjourprenom, vous constaterez que c'est la propriété Légende qui est chargée de gérer les texte affiché. Si les noms sont différents entre la feuille de propriété et le code, c'est parce que nous utilisons une version d'access dont l'interface est francisée. Les instructions d'un langage comme VBA ou d'autres ne sont jamais traduites. Cela peut être perturbant, donc, soit, on utilise une version anglaise, soit il faut trouver les équivalences Anglais-Français des noms donnés aux propriétés.

ExempleA vous de jouer

Ajoutez un contrôle Zone de texte nommé Nom : placez le à côté du prénom.

Modifiez le code associé à l'événement "double-clic" du bouton nommé bt_actuprenom afin que le nom soit affiché dans l'étiquette etq_nonjourprenom.