Access 2013 et application Web

L'éditeur de macros d'une application Web avec Access2013

Morgan BILLY

Nous allons aborder l'éditeur de macros Access 2013 dans une application Web.
Vous pouvez le commenter et lui donner une note : Commentez

- Titre : Access 2013 et application Web

- Auteur : Morgan BILLY

- Parution : 21 mai 2013

- Licence : Copyright ® 2013 Morgan BILLY. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Créer une nouvelle macro

- III. Macro

- III-A. Déroulement du programme

- III-A-1. Commentaires

- III-A-2. Groupe

- III-A-3. Si

- III-B. Actions

- III-B-1. Commandes d'interface utilisateur

- III-B-1-a. Changer de vue

- III-B-1-b. FermerFenêtreContextuelle

- III-B-1-c. OuvrirFenêtreContextuelle

- III-B-1-d. ZoneMessage

- III-B-2. Commandes de macro

- III-B-2-a. ArrêtMacro

- III-B-2-b. DéfinirVariable

- III-B-2-c. ExécuterMacro

- III-B-2-d. ExécuterMacroDonnées

- III-B-3. Filtre/Requête/Recherche

- III-B-3-a. ActualiserEnregistrement

- III-B-4. Objets de base de données

- III-B-4-a. AtteindreContrôle

- III-B-4-b. AtteindreEnregistrement

- III-B-4-c. DéfinirPropriété

- III-B-5. Opérations d'entrée de données

- III-B-5-a. AnnulerEnregistrement

- III-B-5-b. ModifierEnregistrement

- III-B-5-c. NouvelEnregistrement

- III-B-5-d. SauvegarderEnregistrement

- III-B-5-e. SupprimerEnregistrement

- III-B-6. Dans cette base de données

- IV. Macro de données

- IV-A. Déroulement de programme

- IV-B. Blocs de données

- IV-B-1. CréerEnregistrement

- IV-B-2. RechercherEnregistrement

- IV-B-3. PourChaqueEnregistrement

- IV-B-4. ModifierEnregistrement

- IV-B-5. AnnulerModificationEnregistrement

- IV-B-6. ArrêtMacro

- IV-B-7. DéclencherErreur

- IV-B-8. DéfinirChamp

- IV-B-9. DéfinirVarLocale

- IV-B-10. ExécuterMacroDonnées

- IV-B-11. QuitterPourChaqueEnregistrement

- IV-B-12. SetReturnVar

- IV-B-13. SupprimerEnregistrement

- V. Macro Au démarrage

- VI. Merci

I - Introduction

Nous allons dans cet article aborder l'éditeur de Macros d'Access 2013 avec une application Web. À la différence d'une application bureau, une application Web d'Access 2013 possède trois types de macros :

- Macro Web : celles-ci filtrent les actions et les expressions qui ne peuvent pas être utilisées sur le Web ;

- Macro de données : permet d'ajouter, modifier les données des tables (tableaux) ;

- Macro Au démarrage : permet de configurer l'application en initialisant des variables, valeurs par défaut, l'accès à des vues spécifiques. Celle-ci s'exécute au démarrage de l'application.

Cet article fait suite de celui-ci : Démarrage d'une application Web avec Access 2013.

Nous allons continuer sur le même exemple que l'article précédent.

II - Créer une nouvelle macro

Pour créer une nouvelle macro, sélectionnez depuis l'onglet Accueil du Ruban Access le menu Avancé et choisissez le type de macro voulue.

Lors de la création d'une macro, la vue est séparée en trois parties :

Ruban de création :

- Les quatre premières commandes permettent de réduire/développez les actions ou l'ensemble de la page.

- Le Catalogue d'actions permet d'afficher/masquer le volet de droite reprenant toutes les actions.

- Les deux dernières commandes permettent de lancer ou non le suivi de la macro de données ou d'afficher dans une table les résultats du suivi.

Catalogue d'actions :

Le catalogue d'actions est composé de deux éléments :

- Déroulement de programme ;

- Actions.

L'élément action est scindé en plusieurs sous-éléments.

Tous ces sous-éléments regroupent les actions.

Vue de création des macros :

Une liste est disponible pour sélectionner les actions voulues.

III - Macro

Depuis le menu Avancé sélectionnez Macro.

Pour créer une action, deux possibilités s'offrent à vous :

- depuis la liste déroulante qui regroupe l'ensemble des actions disponibles

- depuis le catalogue d'actions par un glissé-déposé.

III-A - Déroulement du programme

Ce groupe est commun aux trois types de macros.

III-A-1 - Commentaires

Cette action permet d'écrire des informations dans votre programme. Ceci est pratique pour donner des informations sur les actions suivantes.

III-A-2 - Groupe

Ceci permet de créer un bloc regroupant plusieurs actions. Ceci permet de donner de la visibilité au programme en permettant de réduire l'ensemble du groupe.

Sur l'image ci-dessous le groupe est réduit.

III-A-3 - Si

Permet de faire un test logique et oriente l'exécution des actions en fonction. Cette fonction action a son équivalent en VBA : IF ... THEN . ELSE.

Ici le SI permet de faire un test logique (variable, contrôle ou expression). Si le test est vérifié, alors, on exécute les actions qui suivent.

Exemple 1 : Si la Zone de Texte comporte des caractères Alors on affiche un message avec le contenu de la zone

Voici le résultat :

Exemple 2 : Si la Zone de Texte comporte des caractères Alors on affiche un message avec le contenu de la zone Sinon on affiche un message signifiant que rien n'a été saisi dans la zone de texte.

Voici le résultat :

Il est possible de lancer un second test logique si le premier n'est pas vérifié. Pour cela utiliser Sinon Si.

III-B - Actions

III-B-1 - Commandes d'interface utilisateur

III-B-1-a - Changer de vue

Cette action permet de naviguer vers une autre Vue avec la possibilité de Filtrer ou non et de Trier ou non.

Vous devez définir :

- Table : (champ obligatoire) ceci définit la table de la Vue ;

- Vue : (champ obligatoire) nom de la Vue à afficher ;

- Where : (champ facultatif) clause permettant de filtrer l'affichage de la Vue selon un champ ou une chaîne SQL ;

- Trier par : (champ facultatif) permet de trier l'affichage selon un champ.

Dans notre exemple, nous allons afficher la Vue Contacts Liste basée sur la Table Contacts en filtrant par l'ID du contact qui sera saisi dans une zone de texte.

Voici la première Vue d'où est lancée la macro :

Et le résultat : la Vue est filtrée sur l'ID 3 :

III-B-1-b - FermerFenêtreContextuelle

Cette action permet de fermer la fenêtre contextuelle active.

III-B-1-c - OuvrirFenêtreContextuelle

Cette action permet d'ouvrir une Vue dans une fenêtre contextuelle. Vous devez renseigner le nom de la Vue et la clause Where si vous voulez filtrer les données.

Dans notre exemple, nous allons reprendre le même filtre que l'on a fait avec l'action Changer de Vue, mais ici la Vue s'affichera dans une Vue contextuelle. Il est recommandé de mettre le nom de la table avec le nom du champ, même si cela fonctionne sans.

Voici le résultat :

III-B-1-d - ZoneMessage

Cette action permet d'afficher un message d'avertissement ou d'information.

Ici, nous allons afficher le contenu de la zone de texte :

Voici le résultat :

III-B-2 - Commandes de macro

III-B-2-a - ArrêtMacro

Cette action permet d'arrêter la macro en cours d'exécution.

III-B-2-b - DéfinirVariable

Cette action permet de charger une donnée dans une variable qui peut être réutilisée.

Pour l'exemple, nous allons charger la valeur de la zone de texte dans une variable et nous allons afficher la valeur de la variable dans un message.

Voici le résultat :

III-B-2-c - ExécuterMacro

Cette action permet de lancer une macro déjà enregistrée.

III-B-2-d - ExécuterMacroDonnées

Cette action permet de lancer une macro de données déjà enregistrée.

III-B-3 - Filtre/Requête/Recherche

III-B-3-a - ActualiserEnregistrement

Cette action permet l'actualisation de l'enregistrement actuel, il est possible d'ajouter une clause Where pour filtrer le jeu.

Dans l'exemple, lors de l'actualisation, nous effectuons un filtre sur l'ID de la table Contacts.

III-B-4 - Objets de base de données

III-B-4-a - AtteindreContrôle

Cette action permet de placer le focus sur le contrôle spécifié. Le curseur de la souris se placera sur ce contrôle.

Dans l'exemple suivant, nous activons la liste déroulante lors du clic sur le bouton.

III-B-4-b - AtteindreEnregistrement

Cette action permet de naviguer dans le jeu d'enregistrements, vous pouvez passer à l'enregistrement Précédent/Suivant/Premier/Dernier.

III-B-4-c - DéfinirPropriété

Permet de définir une propriété du contrôle.

Voici les propriétés disponibles :

Dans notre exemple, la couleur de fond de la zone de texte est changée sur le clic du bouton.

Voici le résultat

Pour les propriétés définissant une couleur la valeur est représentée en hexadécimal. Pour les autres 0 ou -1.

III-B-5 - Opérations d'entrée de données

Ces actions apportent des modifications aux données.

III-B-5-a - AnnulerEnregistrement

Cette action annule les modifications de l'enregistrement actif.

III-B-5-b - ModifierEnregistrement

Cette action modifie l'enregistrement actif.

III-B-5-c - NouvelEnregistrement

Cette action crée un nouvel enregistrement.

III-B-5-d - SauvegarderEnregistrement

Cette action sauvegarde les modifications de l'enregistrement actif.

III-B-5-e - SupprimerEnregistrement

Cette action supprime l'enregistrement actif.

III-B-6 - Dans cette base de données

Dans ce groupe, vous retrouvez tous les éléments enregistrés dans l'application.

IV - Macro de données

Lors de la création d'une macro de données, une partie supérieure fait son apparition. La partie paramètre. Cette partie permet de définir des paramètres qui seront demandés à l'appel de la macro.

Pour créer un paramètre, cliquez sur le lien Créer un paramètre en haut à droite.

Il ne vous reste plus qu'à définir son Nom, le Type du paramètre et une description si vous voulez donner des détails.

Ici nous allons créer un paramètre de texte court (String).

Lors de l'appel de la macro de données, il vous est demandé de donner la valeur du paramètre.

Ici nous passons en paramètre de la macro de données la valeur de la zone de saisie. Cette macro est exécutée lors de l'appui d'un bouton dans une vue quelconque.

IV-A - Déroulement de programme

Cette partie est commune à la précédente.

IV-B - Blocs de données

Un bloc de données est un groupement d'actions qui réalisera l'Action du Bloc.

Par exemple, pour la création de données, vous pouvez effectuer un test pour créer un enregistrement.

IV-B-1 - CréerEnregistrement

Ce bloc permet de créer un enregistrement dans la table et champ définis.

Ici, le bloc ajoute un enregistrement dans la table Contacts, pour ajouter cet enregistrement un test est réalisé sur le paramètre. Si celui-ci comporte des données, on ajoute la valeur du paramètre dans le champ Société de la table Contacts, sinon on ne fait rien (on annule).

Lorsque vous cliquez sur le nom de la table, vous distinguez deux liens en haut à droite ceux-ci permettent de définir :

- Alias : nom donné au nouvel enregistrement ;

- Récupération ID : ceci permet de charger dans une variable locale l'ID du nouvel enregistrement.

IV-B-2 - RechercherEnregistrement

Ce bloc seul ne réalise pas d'action. Il permet de rechercher un enregistrement dans le jeu d'enregistrements.

Attention : si plusieurs enregistrements correspondent, seul le premier sera pris en compte. Si vous voulez modifier l'ensemble des enregistrements, il vous faudra utiliser : PourChaqueEnregistrement.

Vous devez définir la table servant de jeu d'enregistrements et la clause Where permettant de filtrer sur un enregistrement dans le jeu.

Ici nous sélectionnons l'enregistrement dans la table Contacts ayant pour ID 10.

IV-B-3 - PourChaqueEnregistrement

Ce bloc seul ne réalise pas d'action. Il permet de faire une boucle pour chaque enregistrement répondant à la clause Where (filtre).

Dans l'exemple, nous allons modifier le nom de la Société pour tous les enregistrements ayant pour nom de Société « DVP » par la saisie de la zone de texte.

Ici aussi vous pouvez définir un alias à l'enregistrement modifié.

IV-B-4 - ModifierEnregistrement

Ce bloc associé au précédent permet de faire une modification dans un enregistrement.

Le bloc RechercherEnregistrement permet d'instancier l'enregistrement dans le jeu et le bloc ModifierEnregistrement permet de modifier des colonnes de cet enregistrement.

Dans notre exemple nous allons modifier l'enregistrement ayant pour ID 10, la colonne société par le paramètre de la macro de données (à savoir la zone de saisie).

Ici aussi vous pouvez définir un alias à l'enregistrement modifié.

IV-B-5 - AnnulerModificationEnregistrement

Cette action permet d'annuler le bloc ModifierEnregistrement ou CréerEnregistrement.

Dans notre exemple, nous allons effectuer un test du paramètre si celui-ci présente des données, on modifie l'enregistrement actuel, sinon on annule la modification

IV-B-6 - ArrêtMacro

Cette action termine la macro en cours.

IV-B-7 - DéclencherErreur

Cette action permet de déclencher un avertissement sous la forme de message d'erreur. Ceci peut vous servir pour avertir de la non-réalisation du bloc.

Dans notre exemple si le paramètre est vide une erreur s'affiche.

Voici le résultat du déclenchement

IV-B-8 - DéfinirChamp

Définit la valeur d'un champ sur le résultat d'une expression.

Dans l'exemple suivant, le champ Société est modifié par la valeur de la zone de saisie sur l'enregistrement répondant aux critères de la clause.

IV-B-9 - DéfinirVarLocale

Cette action crée ou modifie une variable Locale.

IV-B-10 - ExécuterMacroDonnées

Cette action appelle une macro de Données enregistrée dans votre application.

IV-B-11 - QuitterPourChaqueEnregistrement

Cette action termine l'action PourChaqueEnregistrement.

IV-B-12 - SetReturnVar

Définit une variable qui renvoie la valeur à la macro appelante.

Dans notre exemple, nous retournons l'ID du nouvel enregistrement.

Dans un premier temps, nous créons une macro de données qui retournera l'ID :

Maintenant nous allons appeler cette macro de données depuis une Vue :

Ci-dessous le résultat :

IV-B-13 - SupprimerEnregistrement

Cette action supprime l'enregistrement défini par un bloc (Expression).

Dans l'exemple, on supprime l'enregistrement correspondant à la société passée en paramètre.

V - Macro Au démarrage

Ces macros s'exécutent au démarrage de l'application. L'ensemble des actions disponibles de cette partie sont identiques à la partie Macro.

VI - Merci

Merci à Claude Leloup pour la relecture orthographique.