Access 2013 et application Web

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

Nous allons aborder l'éditeur de macros Access 2013 dans une application Web.
Vous pouvez le commenter et lui donner une note : 1 commentaire Donner une note à l'article (5)

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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.

[ALT-PASTOUCHE]image

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

Ruban de création :

[ALT-PASTOUCHE]image
  • 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 :

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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

Vue de création des macros :

[ALT-PASTOUCHE]image

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

III. Macro

Depuis le menu Avancé sélectionnez Macro.

[ALT-PASTOUCHE]image

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

  • depuis la liste déroulante qui regroupe l'ensemble des actions disponibles
[ALT-PASTOUCHE]image
  • depuis le catalogue d'actions par un glissé-déposé.
[ALT-PASTOUCHE]image

III-A. Déroulement du programme

Ce groupe est commun aux trois types de macros.

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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

[ALT-PASTOUCHE]image

Voici le résultat :

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

Voici le résultat :

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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

[ALT-PASTOUCHE]image

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

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

Voici le résultat :

[ALT-PASTOUCHE]image

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 :

[ALT-PASTOUCHE]image

Voici le résultat :

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

Voici le résultat :

[ALT-PASTOUCHE]image

III-B-2-c. ExécuterMacro

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

[ALT-PASTOUCHE]image

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

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

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image
[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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

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

Voici les propriétés disponibles :

[ALT-PASTOUCHE]image

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

[ALT-PASTOUCHE]image

Voici le résultat

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

III-B-5-b. ModifierEnregistrement

Cette action modifie l'enregistrement actif.

[ALT-PASTOUCHE]image

III-B-5-c. NouvelEnregistrement

Cette action crée un nouvel enregistrement.

[ALT-PASTOUCHE]image

III-B-5-d. SauvegarderEnregistrement

Cette action sauvegarde les modifications de l'enregistrement actif.

[ALT-PASTOUCHE]image

III-B-5-e. SupprimerEnregistrement

Cette action supprime l'enregistrement actif.

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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

[ALT-PASTOUCHE]image

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).

[ALT-PASTOUCHE]image

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

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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 :

[ALT-PASTOUCHE]image
  • Alias : nom donné au nouvel enregistrement ;
  • Récupération ID : ceci permet de charger dans une variable locale l'ID du nouvel enregistrement.
[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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).

[ALT-PASTOUCHE]image

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

[ALT-PASTOUCHE]image

IV-B-6. ArrêtMacro

Cette action termine la macro en cours.

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

Voici le résultat du déclenchement

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

IV-B-9. DéfinirVarLocale

Cette action crée ou modifie une variable Locale.

[ALT-PASTOUCHE]image

IV-B-10. ExécuterMacroDonnées

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

[ALT-PASTOUCHE]image

IV-B-11. QuitterPourChaqueEnregistrement

Cette action termine l'action PourChaqueEnregistrement.

[ALT-PASTOUCHE]image

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 :

[ALT-PASTOUCHE]image

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

[ALT-PASTOUCHE]image

Ci-dessous le résultat :

[ALT-PASTOUCHE]image

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.

[ALT-PASTOUCHE]image

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.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

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. Droits de diffusion permanents accordés à Developpez LLC.