macro

essay B

Cours ACCESS Les Macro Commandes Introduction 2 2. Création d’une mac autonome — ore Sni* te View nextpage 3. Exécuter la macro pas pas.. „ „ 4. Modifier une macro…. . 5. Création d’une macro associée à un formulaire — 6. 5 l’IE* > 13. Créer une boite de dialogue 13 page 1 sur 13 cours ACCESS LES MACRO COMMANDES 1. Introduction La macro commande permet d’automatiser certaines tâches d’Access, elle peut simuler une suite d’actions qui auraient du être faites par l’utilisateur.

Une macro est composée d’Actions, chaque action correspond ? une tâche : lorsque vous exécutez la acro, Access exécute automatiquement les actions qu’elle contient. Certaines de ces actions, plus complexes, vous permettent d’afficher des boîtes de dialogue, de tester la réponse fournie par l’utilisateur, d’afficher une barre de menus personnalisée… et de développer une application autonome sans avoir besoin de programmer des modules en Visual Basic (bien que les actions fassent référence ? des instructions en Visual Basic).

La méthode de création d’une macro est liée à deux facteurs importants : ?? L’environnement de départ de la macro : certaines macros euvent être exécutées quelle que soit la fenêtre active, d’autres sont liées à un objet de la base de données (formulaire, état, à un événement spécifique et peut être exécutée quelle que soit fenêtre active. Nous allons créer une macro qui va ouvrir la table Clients et son formulaire .

Dans la fenêtre principale d’Access, cliquez sur l’onglet Macro et sur Nouveau : La partie supérieure de la fenêtre (le tableau) est destinée aux différentes actions qui vont composer la macro. La plupart des actlons ont des paramètres (par exemple l’action Ouvrir Table qui ouvre une table emande en paramètre le nom de la table qu’elle va ouvrir), les paramètres (par exemple ici, le nom de la table) sera indiqué dans la partie inférieure de la fenêtre. Page 2 sur 13 2.

On choisit dans le menu déroulant l’action que l’on veut faire exécuter par la macro : Comme vous pouvez le constater, il existe un très grand nombre d’actions possible, en fait, tout ce qu’on peut faire dans Access se retrouve dans ce menu. Pour avoir la liste des actions possibles, utillsez l’aide intégrée à Access qui décrit le fonctionnement de chaque action. Nous voulons ouvrir une table, nous choisissons l’action ouvnaable ». Modification (on peut ajouter, modifier ou supprimer des enregistrements) et Lecture Seule (seule la consultation est permise). page 3 sur 13 4.

Une deuxième action Vous l’avez remarqué, le tableau de la fenêtre « Macros » contient plusieurs lignes, on peut exécuter plusieurs actions les unes à la suite des autres dans la même macro, maintenant, après avoir ouvert notre table Clients, nous allons ouvrir le formulaire associé à cette table : L ‘Action « OuvrirFormulaire » a plus de paramètres : ?? Affichage : identique aux tables ?? Mode données : identique aux tables ?? Nom Filtre : on peut indiquer ici le nom dune requête contenant les critères nécessaires à la sélection des enregistrements. ??

Mode fenêtre : indique comment le formulaire va être affiché : Standard (comme défini dans Affichage), Masquée (le formulaire est ouvert et automatiquement caché), Icône (le formulaire est rédult en icône), Boite de dialogue (nous verrons ça plus tard) ?? Condition Where : plus tard… Exécution de la macro 3 macro en mode création Cliquer sur l’icône : Exécuter ensuite la macro Access affiche la première action ainsi que ses paramètres, cliquez sur : ? pas à pas : pour exécuter cette action et passer à la suivante ?? Arrêter : pour stopper l’exécution de la macro ??

Continuer : pour poursuivre l’exécution de la macro en mode normal 4. Modifier une macro Pour modifier une macro, ouvrez là en mode création et positionnez vous sur l’action à modifier, cliquez dessus avec le bouton droit : vous pouvez alors la supprimer ou en insérer une autre. page 5 sur 13 5. Création d’une macro associée à un formulaire Certaines macros doivent être exécutées en reponse à un événement lié au formulaire (ouverture, fermeture, fermeture… , d’autres dépendent d’un événement lié ? un contrôle du formulaire (clic, valeur du contrôle, etc. . Dans le premier cas, la macro doit être insérée dans la feuille de propriét PAGF 13 qu’une réponse : « Quand on passera à un nouvel enregistrement, que ce soit pour retourner sur un enregistrement précédent ou pour en créer un nouveau’ . Donc, lorsqu’on passera à un nouvel enregistrement, si la date est vide, on va afficher un message d’erreur, et positionner le curseur ? nouveau sur le champ date pour pouvoir le saisir. L’événement « passer à un nouvel enregistrement » est lié au ormulaire et pas au contrôle « Date », l’événement sera donc associé au formulaire.

Voici la liste des principaux événements qui peuvent être associés à un formulalre : Evénement Sur Ouverture Sur Fermeture Sur Activation Sur Insertion Sur Suppression Avant MAJ Après MAJ La macro doit s’exécuter A l’ouverture du formulaire A la fermeture du formulaire Lorsque Access accède à un enregistrement du formulaire Lorsqu’on précise la valeur d’un champ d’un nouvel enregistrement Lorsqu’on va supprimer un enregistrement Après avoir quitté un enregistrement modifié et avant l’enregistrement des modifications

Après avoir quitté un enregistrement modifié et après modifications. 6 3 avoir quitté un contrôle modifié et avant qu’Access ne fasse la mise ? Jour Après avor quitté un contrôle modifié et après sa mise à jour Dans notre exemple, il faut que la macro s’exécute lorsqu’on va accéder à un nouvel enregistrement, on va donc l’affecter à l’événement « AvantMAJ » du formulaire : il faut que la vérification de la bonne saisie de la date se fasse lorsque l’on veut changer d’enregistrement mais avant qu’Access n’enregistre quoi que ce soit. Page 6 sur 13 6.

Exécuter des actions en fonction de conditions On va créer une nouvelle macro pour vérifier la date, une fois la fenêtre de la macro ouverte, cliquez sur l’icône : Une nouvelle colonne apparait dans la fenêtre de la macro, c’est la colonne « Condition », c’est dans cette colonne qu’on va taper la condition qui décidera si oui ou non l’action de la macro doit s’exécuter. On veut qu’un messaee d’ 7 3 e lorsque la date de la bip sonore lors de l’affichage du texte Type : Icône à afficher à côté du texte (point d’exclamation, d’interrogation, etc… Titre : titre de la fenêtre où va s’afficher le texte page 7 sur 13 8. Déplacer le curseur ne fois le message d’erreur affiché, il va falloir positionner le curseur automatiquement sur le contrôle Date, pour que l’utilisateur puisse le resaisir. Il existe plusieurs actions pour déplacer le curseur : ?? AtteindreContrôle : Déplace le curseur sur un contrôle spécifié ?? AtteindrePage : Déplace le curseur sur le premier contrôle de la page spécifiée ??

AtteindreEnregistrement : Déplace le curseur sur l’enregistrement spécifié ou sur un nouvel enregistrement. Nous devons déplacer le curseur dans le formulaire sur le contrôle du champ « Date », nous utiliserons donc l’action « AtteindreContrôle » : Quoi de neuf dans cette fenêtre ? Sur la première ligne on a la condition : si la date de la commande est vide, on affiche le message d’erreur, mais après avoir affiché l’erreur que fait-on ? n va faire plusieurs choses, et pour indiquer que les autres actions que l’on va faire vont se dérouler dans le cas où l’erreur siest produite, on va mettre comme condition  » autrement dit, à chaque fois qu’Access va rencontrer comme condition il va reprendre la condition spécifiée explicit va m ettre à jour les champs correspondants dans les tables liés à ce formulaire. Juste avant de faire cette mise ? our, Access va appeler la macro associée ? l’évènement « AvantMAJ La macro va être exécutée, puis la mise à jour sera faite.

Il faut qu’on annule cette mise à jour, sinon, le message indiquant que la date est vide va être affiché, puis Access va sauvegarder les modifications et sauver dans la table commandes la date vide. L’action « AnnulerEvénement » annule la mise à jour qui allait être faite, ainsi, la date vide ne sera pas sauvée. Enfin, on va déplacer le curseur sur le contrôle « Date de la commande » grâce à l’action « AtteindreContrôlei’, Ainsi le curseur clignotera directement sur le contrôle où ‘utilisateur devra saisir la date. Page 8 sur 13 9.

Affectation de la macro à l’événement Maintenant que la macro est créee, on va l’affecter à la macro ? l’événement « AvantMAJ » du formulaire « Commandes ». Pour afficher les propriétés d’un formulaire, cliquez avec le bouton droit sur le carré noir situé en haut à gauche du formulaire, puis dans le menu, cliquez sur « Propriétés Choisissez l’événement auquel vous voulez associer la macro, dans le menu déroulant s’affichent toutes les macros existantes, on choisit « Date Obligatoire » Une fois la macro associé t, il suffit d’entrer une 0.

Définir la valeur d’un champ dans une macro On peut, grâce à une macro modifier le contenu d’un champ d’une table. Imaginons que nous voulions que le nom de chaque client saisi soit en majuscule, on pourrait bien sur le faire en modifiant la propriété « Masque de saisie » du contrôle « nom du client », mais nous allons voir comment le faire à partir d’une macro. Pouvoir modifier le contenu d’un champ lors d’un événement peut s’avérer très utile. Nous allons créer une nouvelle macro et utiliser l’action « DéfinirValeur » Quels sont les paramètres de l’action « DéfinirValeur » ? Elément indique qu’est-ce qui est à modifier, ce peut être comme ici le nom d’un champ, mais ce peut être aussi une propriété d’un contrôle par exemple. ?? Expression : Indique la nouvelle valeur de l’élément indiqué précédemment, ce peut être une valeur indiquée explicitement, le contenu d’un autre champ, le résultat d’un calcul, ou, comme ici le résultat d’une fonction. La fonction « Majuscule( ) » renvoie la chaîne de caractère passé en paramètre en majuscule. Comme précédemment, on va affecter cette macro à l’événement « AvantMAJ » su formulaire. Page 10 sur 13