TUTORIAL
22 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
22 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

TUTORIAL Comment créer un formulaire ACCESS avec l’aide de VBA Ce tutorial a pour vocation de montrer comment créer un formulaire dans une base Access en utilisant Visual Basic pour Application (VBA). Il y a plusieurs pré-requis pour faire ce tutorial : - La programmation en VB ou VBA : Il faut au moins connaître la base. Ce qu’est une variable, savoir faire une instruction conditionnelle (If and Else) , une boucle, etc. - La structuration des bases de données : la aussi pas besoin d’être un expert mais il vaut mieux savoir ce qu’est une table, un enregistrement, un identifiant, les relations entre les tables (La méthode merise ça vous dit quelque chose ?) - Le SQL : C’est un langage qui permet de sélectionner des enregistrements au sein d’une base de données. Malgré tout sans ces connaissances, vous devriez en suivant le tutorial arriver à un résultat et comprendre la logique générale. De plus je compte faire prochainement trois papiers sur cette base pour faire un tutorial plus complet. 1 La base La structure d’une base de donnée n’est pas l’objet de ce cours, cependant il est indispensable de bien connaître cette structure pour réaliser son formulaire. Nous prendront l’exemple d’une base avec des éléments très hiérarchisés : La France, ses régions, ses départements, ses communes. 1.1 Création des tables La première table à créer est la table « Pays » nous l’appèlerons « TB_Pays » Chaque table doit comporter un champ identifiant qui ...

Sujets

Informations

Publié par
Nombre de lectures 90
Langue Français

Extrait

TUTORIAL
Comment créer un formulaire ACCESS avec l aide de VBA
 Ce tutorial a pour vocation de montrer comment créer un formulaire dans une base Access en utilisant Visual Basic pour Application (VBA). Il y a plusieurs pré-requis pour faire ce tutorial : - La programmation en VB ou VBA : Il faut au moins connaître la base. Ce qu’est une variable, savoir faire une instruction conditionnelle (If and Else) , une boucle, etc. - La structuration des bases de données : la aussi pas besoin d’être un expert mais il vaut mieux savoir ce qu’est une table, un enregistrement, un identifiant, les relations entre les tables (La méthode merise ça vous dit quelque chose ?) - Le SQL : C’est un langage qui permet de sélectionner des enregistrements au sein d’une base de données. Malgré tout sans ces connaissances, vous devriez en suivant le tutorial arriver à un résultat et comprendre la logique générale. De plus je compte faire prochainement trois papiers sur cette base pour faire un tutorial plus complet.  
1 La base La structure d’une base de donnée n’est pas l’objet de ce cours, cependant il est indispensable de bien connaître cette structure pour réaliser son formulaire. Nous prendront l’exemple d’une base avec des éléments très hiérarchisés : La France, ses régions, ses départements, ses communes.
1.1 Création des tables La premièr ays » nous l’appèlerons « TB_ ays » e table à créer est la table « P P Chaque table doit comporter un champ identifiant qui permettra d’éviter les enregistrements en double (doublons) puis toutes les caractéristiques des éléments à stocker (les pays en l’occurrence). Ce champ identifiant doit être désigné comme clé primaire. Pour la table TB Pays il y aura donc : _ - le champ identifiant nommé « Id_Pays » (en format numéro automatique) - le champ pour le nom du pays nommé « Nom » (en format texte)
- le champ pour la population du pays nommé « Population » (en format numerique) - d’autres champs pour d’autres caractéristiques du pays si le créateur de la base le souhaite… Nous aurons ensuite une table pour les régions du Pays que nous appèlerons « TB_Région » avec les champs suivants : - le champ identifiant nommé « Id_Region » (en numéro automatique) - le champ pour le nom de la région nommé « Nom » (en format texte) - … - le dernier champ est celui qui rappel dans quel pays est la région. On le nommera « Ref_Pays » (avec un format numérique en entier long) Vient ensuite la table pour les départements de la région appelée « TB_Departements » avec les champs suivants : - le champ identifiant nommé « Id_Dept » (en numéro automatique) - le champ pour le nom du département nommé « Nom » (en format texte) - …  - le dernier champ est celui qui rappel dans quel pays est la région. On le nommera  « Ref_Region » (avec un format numérique en entier long) me choses p ur les communes avec _ et enfin la mê o la table « TB Communes »  Pour nommer les champs et les tables il faut éviter d’utiliser les espaces et les lettres accentuées. On peut par contre remplacer les espaces par le caractère « ». _
1.2 Relations entre les tables Une fois les tables créées il faut indiquer leurs relations. La non plus je ne m’étendrai pas sur les modèles relationnel de données. Suivez simplement le tutorial si vous n’y connaissez rien.
Pour afficher l’utilitaire de création de relation il faut appuyer sur le bouton situé dans la barre d’outil de la fenêtre principale
 
 Une fenêtre s’ouvre et propose d’afficher les tables. Sélectionnez les toutes et cliquez sur « ajouter ». Vous obtiendrez alors cette fenêtre là
 Fermer la fenêtre « Afficher la table » pour avoir accès à la fenêtre « Relations » Vous avez accès à tout les champs de vos tables, il faut maintenant effectué les relations. Les relations vont se faire entre l’identifiant d’une table et sa référence dans une autre, par exemple entre le champ Id_pays de la table TB_Pays et le champ Ref_Pays de la table
TB_Region. Pour que cette relation soit effective il faut selectioner le champ Id_Pays et effectuer un glisser déposer sur le champ Ref Pays _
 Une fenêtre s’ouvre, cochez toutes les options et appuyer sur « Créer »
 Recommencer l’opération sur toutes les tables pour obtenir ceci
Le 1 et le signifie que pour un pays peut correspondre plusieurs région tandis que pour une région il ne peut y avoir qu’un seul pays, de même il peut il y avoir plusieurs départements pour une région mais un département ne peut être que dans une région, etc. Une fois ces relations établies on peut créer un formulaire de saisie des informations
 
2 Création d un formulaire de saisie Le but est de créer un formulaire simple qui permettra d’afficher, de créer, de modifier, et de supprimer les informations de chaque table. Nous allons donc voir comment en programmation on peut créer, modifier ou supprimer un enregistrement d’un table Access. Deux méthodes s’offrent a nous : - l’ancienne : la méthode DAO - la récente : la méthode ADO Je vous exposerez au fur et a mesure les deux méthodes. Nous pourrons donc créer un pays puis entrer les régions qui correspondent à ce pays, les départements qui correspondent à ces régions et enfin les communes qui correspondent à ces départements. 
2.1 Création d’un enregistrement : Le pays Il faut partir d’un formulaire vide : Il faut donc aller dans l’onglet « Formulaire » et double cliquez sur « Créer un formulaire en mode création ».
2.1.1 Forme et objets Un formulaire est une feuille ou vous allez pouvoir placer des éléments, des objets interactifs : des zones de texte, des listes déroulantes, des boutons, des images… vous pouvez choisir et placer ces objets grâce à « la boite à outils » Pour notre exemple nous avons besoin : - D’une zone de liste déroulante pour afficher les pays déjà rentrer - D’une zone de texte pour rentrer le nom d’un nouveau pays - D’une zone de texte pour renter la population de ce pays - De trois boutons : « nouveau », « modifier », « supprimer » - Et en fin de deux boutons « valider » et « annuler » Pour l’instant nous allons « dessiner » ces objets mais ils n’auront aucun effet. N’oubliez pas de décocher dans la « boite à outils » l’assistant.
Dessinons le premier objet : la zone de liste déroulante           Puis tous les autres objets de la même manière en modifiant les labels (légende) affichés
 Chacun de ces objets placés sur le formulaire possède des propriétés (bouton droit propriété ou double click sur l’objet) : - Onglet Format : on peut choisir la hauteur, la couleur, la police, si l’objet est visible en mode formulaire (la nous somme en mode création), etc. - Onglet Données : on peut définir s’il est actif ou non, suivant l’objet, par exemple la liste déroulante, on peut indiquer les données qui vont remplir la liste (table/requête, …) - Onglet Evénement : C’est un onglet très important puisqu’ils permet de lier une action effectuer sur l’objet à un code VBA qui va être exécuté comme par exemple : « sur le click du bouton valider tu va m’inscrire un nouvel enregistrement »
- Onglet Autres : Ou l’on trouve des propriétés divers comme celle du nom de l’objet ou du texte a indiquer dans la barre d’état quand la souris passe sur l’objet. - Onglet Toutes : toutes les propriétés de l’objet Grâce a ces propriétés nous pouvons par exemple modifier l’aspect du formulaire dans on ensemble (le formulaire lui-même est considéré comme un objet)
Vous aurez remarquez que dans les propriétés il y a le nom de l’objet (ne pas confondre avec la légende c'est-à-dire ce qui est afficher sur l’objet), dans l’exemple ci-dessus « Commande5 ». Il faut absolument renommer les objets par des noms plus compréhensibles comme par exemp _ ifier_Pays ». Bt pour bouton et puis l’action faite par ce bouton. le « Bt Mod Autres exemple : La zone de liste déroulante se nommera Zl_Pays, Zl pour zone de liste et pays car elle affiche les pays, etc. De la même manière une fois que tous les objets ont un nom, n’hésitez pas à enregistrer la base. Si aucun nom n’a été donné au formulaire, il faudra en choisir un : dans notre exemple « F_Limites_Administratives » (F pour formulaire puis un nom caractéristique de ce que fait le formulaire). Cette rigueur dans les noms, vous aidera par la suite pour la programmation.
 
2.1.2 Evénements et programmation des actions
2.1.2.1  Comment Modifier une propriété par programmation Nous avons vu que pour chaque objet il existe des propriétés d’événements et de formes. Notre premier code VBA va permettre d’afficher lorsque l’on appui sur le bouton « Nouveau » de rendre visible la zone de texte « Zs New Pays » et de cacher la zone de liste _ _ déroulante « Zl_Pays » puis de faire l’action inverse en appuyant sur « Annuler ». On affiche donc les propriétés du bouton « Nouveau » (« Bt_Nouveau ») et on va sur l’onglet « Evénement ». On choisit la ligne « sur click » et on choisit dans la liste déroulante « [Procédure événementielle]» et enfin on click sur les 3 points (…) situés a coté de la liste déroulante. Une fenêtre Visual Basic s’ouvre :
 
Vous trouverez d’autres documents pour acquérir des bases en programmation sous Visual Basic sur mon site. Je vais donc la aussi allez à l’essentiel pour obtenir le résultat voulu. Sur la gauche se trouve une arborescence qui rappelle que nous sommes dans la base « Decoup Admin »et dans le formulaire « F Limites Administratives ». Ceci est aussi _ _ _ rappelé dans le haut de la fenêtre de travail (a droite). Dans le haut de cette fenêtre de travail, il y a également deux listes déroulantes qui nous permette de naviguer dans cette fenêtre sur la partie du code qui nous intéresse c’est a dire : l’objet sur lequel on travail (Bt_Nouveau) et l’action associée (Click). En effet cette fenêtre de travail va contenir l’ensemble du code VB relatif au formulaire. En ouvrant Visual Basic, Access a inscrit le début et la fin du code qui va régir le click du bouton nouveau soit : Private Sub Bt_Nouveau_ ck() Cli End Sub On doit inscrire le code de l’événement entre ces deux bornes Puisque l’on veut agir sur la zone de liste déroulante « _ ay Zl P s » il faut noter son nom dans le code comme ceci : _ _Cli () Private Sub Bt Nouveau ck Zl_Pays End Sub Puis en mettant un point après on va accéder automatiquement à ces propriétés. Nous choisirons ici « Visible ». Nous accedons donc à la propriété « visible » de l’objet « Zl_Pays ». Puisque nous voulons que cet objet ne soit pas visible alors nous allons terminer la ligne par « = False ». Private Sub Bt_Nouveau_Click() Zl_ ay P s.visible = False   End Sub Grâce à ce code en appuyant sur le bouton « nouveau » la zone de liste déroulante des pays va disparaître… Pour rendre le code actif il faut revenir sur le formulaire dans Access et passer en mode formulaire avec le bouton en haut à gauche. Tester ! Vous verrez !!! Très bien ! Nous avons réussit à faire disparaître la zone de liste déroulante.
Maintenant faisons apparaître la zone de saisie. Pour quelle apparaisse, il faut qu’elle soit invisible par défaut. Il faut donc aller dans le formulaire, sur les propriétés de Zs_New_Pays, dans l’onglet format et mettre la propriété Visible sur « Non ». Puis on revient sur la fenêtre Visual Basic et on rajoute au code précédent : Private Sub Bt Nouveau Click() _ _ _Pays Zl .Visible = False _ _ Zs New Pays.Visible = True End Sub Tester sous Access l’action de cette nouvelle ligne de code… En cliquant sur le bouton Bt_Nouveau on fait donc disparaitre la zone de liste Zl_Pays et apparaître la zone de saisie Zs_New_Pays. Remarque : On peut maintenant juxtaposer les deux objets en mode création pour gagner de la place. Exercice 1 : Vous pouvez maintenant vous exercer en créant l’action du bouton « annulez » qui doit effectuer l’action inverse du bouton nouveau. Les solutions des exercices se trouvent en bas de ce document. Le Résultat à obtenir est celui ci : ¾  Etat Initial
¾  Etat Intermédiaire : On appuie sur le bouton « Nouveau »
¾  Etat Final : On appuie sur le bouton « Annuler »
 
 
 
Ce premier exercice nous a permis de voir comment agir sur une des propriétés des objets par
programmation. Evidemment toutes les propriétés sont accessibles par ce biais et peuvent être
modifiés par programmation. On peut par exemple changer la couleur du texte ou le contenu
d’une zone de liste… Faite tr
availler votre imagination !
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents