exemple de support de cours
Transcription
exemple de support de cours
ACCESS Un Système de Gestion de Base de Données VOLUME 2 Compléments (C) Marca JP ACCESS - SGBD Page 1 ACCESS Un Système de Gestion de Base de Données Compléments (1) Principes de Base d’Access (C) Marca JP ACCESS - SGBD Page 2 Une série de questions * * * * * * * * * (C) Marca JP Comment créer une Base de Données ? Comment naviguer à l ’intérieur de la Base de Données ? Comment manipuler les tables qui constituent la Base de Données ? Comment introduire de nouvelles données ? Comment mettre à jour les données introduites dans la base ? Comment trier les informations ? Comment effectuer des recherches multi-critères ? Comment importer des données en provenance d ’autres applications ? Comment exporter des données vers d ’autres applications ? ACCESS - SGBD Page 3 Plan du Module ♦ Création d'une Base de Données ♦ Navigation ♦ Manipulation des tables ♦ Saisie et mise à jour des données ♦ Tri, recherche et filtrage ♦ Liaison, importation et exportation (C) Marca JP ACCESS - SGBD Page 4 Cr éation dd’une ’une Création Base ées Base de de Donn Données • Principes de la conception d’applications avec Access • Création d’une application Access à partir d’un fichier modèle • L’exemple Contacts • Les objets de type Table de la fenêtre Base de Données • Les formulaires d’Access • Les états Access • Le Gestionnaire de menu général • Formulaires en mode création (C) Marca JP ACCESS - SGBD Page 5 Création d’une Base de Données Les objets d’une application Access o (C) Marca JP Une application Access minimum contient : o Des tables (les données) o Des formulaires (Affichage et saisie des données) o Des états (Exploitation de la base) Elle peut aussi inclure : o Des requêtes (filtrage, tri et combinaison) o Des modules pour stocker du code VBA o Les formulaires contiennent du code VBA dans un « module de base » Tous les objets sont dans un conteneur unique xxx.mdb ACCESS - SGBD Page 6 Création d’une Base de Données Assistant Création d’Applications (C) Marca JP Access n’est pas un outil bureautique en ce sens qu’il n’est pas directement exploitable avant d’avoir conçu le modèle de l’application L’Assistant Création d’Application permet de construire une application à partir d’un modèle pré-défini. Utilisation de l’Assistant, puis examen des objets créés. ACCESS - SGBD Page 7 Création d’une Base de Données Assistant Création d’Application Exemple de création d’une Base Contacts (C) Marca JP ACCESS - SGBD Page 8 Création d’une Base de Données Architecture de l’application crée Menu Général Ajouter ou afficher des contacts Ajouter ou afficher des types de contacts Modifier les éléments du menu général Aperçu des états Quitter Menu Général Etats Formulaire Contact Appel Liste Alpha contacts Retour Menu Pal Statistiques Appels Hebdo Table Table Switchboard Switchboard items items Table Table Appels Appels Etat Formulaire Appel Table Table Contacts Contacts (C) Marca JP Table Table Types Types contacts contacts Liste Alpha contact Etat statistique Appels Hebdo Formulaire Type de contact ACCESS - SGBD Page 9 Création d’une Base de Données Assistant Création d’Application Résultat de la création Menu général (Switchboard) Fenêtre Base de Données Formulaire Saisie (C) Marca JP ACCESS - SGBD Page 10 Création d’une Base de Données Vue Liste Champ pivot Relation 1 -> n (C) Marca JP ACCESS - SGBD Page 11 Création d’une Base de Données Vue Liste Relation 1 -> n Sous-feuille de données (C) Marca JP ACCESS - SGBD Page 12 Création d’une Base de Données Visualisation des relations Relation 1 -> n (flèche = 1) Relation 1 -> n (n=ω) avec contrôle intégrité référentielle (C) Marca JP ACCESS - SGBD Page 13 Création d’une Base de Données Gestionnaire du Menu Général Menu Général Gestionnaire du Menu Général appelé par l’option « Modifier les éléments du Menu Général » (C) Marca JP ACCESS - SGBD Page 14 Création d’une Base de Données Création d’un formulaire (Menu Gal) Formulaire en mode création Sélection formulaire ou item du formulaire Boite à outils Propriétés du formulaire (C) Marca JP ACCESS - SGBD Page 15 Navigation Navigation • Fonctions et modes sous Access • Définition de fonctions Access • Modes d’exploitation sous Access • Principes d’affichages des tables sous Access • Options et touches de fonctions • Aide • Utilitaires (C) Marca JP ACCESS - SGBD Page 16 Navigation Fonctions de base et de support Fonctions de support Fonctions de base Organisation des données (Feuille de données) Table Mise en relation des tables et extraction des données Formulaire Saisie des données et modifications (C) Marca JP Table Requête Table Résultat en tables virtuelles (objets RecordSet) Etat Modules VBA Sécurité Impression Publication Web Présentation des données ACCESS - SGBD Page 17 Navigation Les modes d’exploitation (C) Marca JP Mode Démarrage : Avant ouverture d’une base. Permet de compacter, convertir, coder, décoder et réparer une Base de Données. Mode Création : Permet de créer et de modifier la structure des tables et requêtes, de développer des formulaires pour afficher et modifier les données, de mettre en forme des états pour l’impression. Ces créations peuvent se faire aussi avec des Assistants Mode Exécution : Affiche formulaires, tables et états dans des fenêtres individuelles. Ce mode est appelé « Mode Feuille de Données » pour les tables et requêtes, « Mode Formulaire » pour les formulaires, « Mode Page » pour les pages d’accès aux données, et « Aperçu avant impression » pour les états. ACCESS - SGBD Page 18 Navigation Affichage des tables sous Access Barre d’outils ancrée Feuille de données Barre de menus Barre d’outils flottante Mise en forme Mode Feuille de Données (C) Marca JP Menu contextuel ACCESS - SGBD Page 19 Navigation Options et Aide Une centaine d’options Configuration par défaut dans registre windows et dans system.mdw qui stocke aussi barres d’outils personnalisés, noms d’utilisateurs et mots de passe. Aide avec HTML help qui remplace le système traditionnel d’aide windows (v 1.0) Pour plus d’info : http://www.microsoft.com/workshop/author/htmlhelp/default.asp (C) Marca JP ACCESS - SGBD Page 20 Navigation Utilitaires de Base de Données (C) Marca JP Compactage et réorganisation de Base de Données Conversion de formats Access Gestion du formulaire Menu Général Création de fichiers .mde (version spéciale code .mdb) où le code VBA est compilé et les codes source non accessibles –distribution commerciale-). ACCESS - SGBD Page 21 Navigation Gestionnaire de menu général Ajout d ’un menu à l’application comptoirs (C) Marca JP ACCESS - SGBD Page 22 Manipulation Manipulation des des tables tables • Définition des éléments des bases de données • Utilisation des fichiers de bases de données • Création d’une nouvelle base de données • Propriétés des tables et des champs • Choix des types de données, des tailles et des formats de champs • Ajout d’une nouvelle table • Relations, champs clefs et index (C) Marca JP ACCESS - SGBD Page 23 Manipulation des tables Définition des éléments des bases de données Les tables et les relations définies entre ces tables Les objets associés (requêtes, formulaires, états, modules VBA) Access met implicitement tout dans un fichier unique .mdb Possibilité de les séparer (plus satisfaisant du Ligne et autres avantages) point de vue conceptuel Convention : TABLE XXXX XXXX XXXX Enregistrement (C) Marca JP YYY1 YYY1 YYY1 ZZZ ZZZ ZZZ RESULTAT REQUETE 999999 999999 999999 AAA AAA AAA Champ XXXX XXXX XXXX YYY1 YYY1 YYY1 ZZZ ZZZ ZZZ 999999 999999 999999 AAA AAA AAA Colonne ACCESS - SGBD Page 24 Manipulation des tables Création d’une nouvelle base de données (C) Marca JP Fichier / Nouvelle de Base de Données Identification Base Onglet Général pour créer un BdD vide Onglet BdD pour créer une BdD à partir d’un des 10 modèles prédéfinis Création d’un fichier .mdb de 96 ko (tables systèmes cachées) ACCESS - SGBD Page 25 Manipulation des tables Création d’une nouvelle base de données La fenêtre BdB d’une BdD nouvellement crée (C) Marca JP ACCESS - SGBD Page 26 Manipulation des tables Propriétés des tables Se définissent dans une boite de dialogue accessible via propriétés (bouton droit souris) Objectifs et rôle de la table Règle de validation s’appliquant à la table toute entière S’applique à la table à l’ouverture S’applique à la table à l’ouverture (C) Marca JP ACCESS - SGBD Page 27 Manipulation des tables Sous-Feuille de données Les sous-feuilles permettent de visualiser et de modifier, au sein d’une même feuille, des enregistrements reliés appartenant à plusieurs tables ou requêtes. Exemple : dans une liste Commande faire apparaître le détail des lignes de commandes Définit si des sous feuilles vont afficher les données des enregistrements reliés Nom de champ relié de la table reliée si pas auto Hauteur max de la sous-feuille de données Mode affichage initial sous-feuille données (C) Marca JP ACCESS - SGBD Page 28 Manipulation des tables Création d’une table Création de table en mode création Clef primaire Différents types de données Propriétés additionnelles pour un champ (C) Marca JP ACCESS - SGBD Page 29 Manipulation des tables Différents types de données (C) Marca JP Texte (255 caractères, type par défaut) Numérique (Divers sous-types possibles, affichage selon format) NuméroAuto (incrément automatique) Lien Hypertexte Mémo (65 535 caractères, non clef, indexation 255 premiers) Oui/Non (Booléen) Monétaire (Précision à 4 décimale) Date/Heure (affichage selon format) Objet OLE (objets multimédias, gros objets applications de composant Active X) ACCESS - SGBD Page 30 Manipulation des tables Différentes propriétés additionnelles (C) Marca JP Taille Format Précision Echelle Décimales Masque de saisie Légende Valeur par Défaut Valide si Message si erreur Null interdit Chaîne vide autorisée Indexée Nouvelle valeur ACCESS - SGBD Page 31 Manipulation des tables Sous-types du type de données numérique (Taille) Nom du sous-type (C) Marca JP Nombre de décimales Plage de valeurs admises 0-255 Nombre d’octets Octet Aucune Entier Aucune -32 768 à 32767 Entier long Aucune - 2 147 483 648 4 à 2 147 483 674 Réel simple 7 4 Réel double 15 8 Décimal 28 28 Moétaire 4 ACCESS - SGBD 1 2 Page 32 Manipulation des tables Masques de saisie Caractère affichage littéral Numérique Format Nombre général Monétaire Euro Fixe Standard Pourcentage Scientifique Date/Heure Date, général Date complet Date réduit Date abrégé Heure complet Heure réduit Heure abrégé Oui/Non (C) Marca JP Vrai/Faux ACCESS - SGBD Page 33 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Définition rubriques Type Description Propriétés additionnelles dont valeur par défaut Pas de clef primaire dans une table qui ne sera jamais table primaire Permettra type de relation 1 à n (C) Marca JP ACCESS - SGBD Page 34 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Une fois les rubriques définies, trois points clefs à considérer : Relations Champ clef Index (C) Marca JP ACCESS - SGBD Page 35 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir (C) Marca JP Relations Les relations établies entre une table nouvellement crée et les tables existantes déterminent le champ à utiliser comme clef primaire de la nouvelle table Relation un-à-un (1-1) Relation plusieurs à un (n-1) Relation un à plusieurs (1-n) Relations plusieurs à plusieurs (n-p) ACCESS - SGBD Page 36 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Relation un-à-un A la valeur de clef de chaque enregistrement de la nouvelle table –qui peut être primaire en raison de l'unicité- correspond une valeur unique dans le champ lié de la table existante, celui de la clef primaire Peu courant (scission table pour sécurité, sous ensemble avec données complémentaires, ..) Table existante Table nouvelle Clef primaire : 1 valeur distincte pour chaque enregistrement (C) Marca JP ACCESS - SGBD Page 37 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Relation un-à-plusieurs La plus courante. Plusieurs valeurs du champ de clef "étrangère" de la nouvelle table peuvent correspondre à une même valeur du champ lié de la table existante, celui de la clef primaire Exemple : 1 client passe n commandes Table existante Table nouvelle Clef primaire : 1 valeur distincte pour chaque enregistrement (C) Marca JP ACCESS - SGBD Page 38 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Relation plusieurs-à-un C'est la même que la précédente, vu à partir de l'autre table. 1 commande parmi n est passée par un client. Table existante Table nouvelle Clef primaire : 1 valeur distincte pour chaque enregistrement (C) Marca JP ACCESS - SGBD Page 39 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Relation plusieurs à plusieurs Un enregistrement d'une table peut être mis en correspondance avec plusieurs enregistrements d'une autre table et réciproquement, par le biais de leurs clefs primaires. 1 commande se réfère a n produits et 1 produit est référencé par p commandes Nécessité d'une table relais dite table de jonction. Table existante Table relais Table nouvelle Clef primaire de la table de jonction (C) Marca JP ACCESS - SGBD Page 40 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Création relation entre clef primaire de la table employés et clef Actions Personnel 2. No employé 3. Drag&Drop Paramètres relation Visualisation relation 1. Ajouter Table Actions Personnel (C) Marca JP ACCESS - SGBD 4. peCodeEmployé Page 41 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir 2. Paramètre jointure Type 2 : 1 côté Employé n côté Actions Création relation entre clef primaire de la table employés et clef Actions Personnel Paramètres relation Visualisation relation 1. Paramètres relation (C) Marca JP ACCESS - SGBD Page 42 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Création relation entre clef primaire de la table employés et clef Actions Personnel Paramètres relation Visualisation relation Nouvelle relation créée (C) Marca JP ACCESS - SGBD Page 43 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir (C) Marca JP Intégrité référentielle L’option Intégrité Référentielle conduit Access à tester les validations des entrées et à n’accepter, dans le champ peCodeEmployé, que les seules entrées correspondant aux valeurs du champ No employés de la table Employé Quand une relation est établie avec application de l ’intégrité référentielle, Access permet la mise à jour en cascade des enregistrements qui se correspondent ACCESS - SGBD Page 44 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Sélection d’une clef primaire Pas de clef primaire pour la Table Actions puisqu’à un employé peut correspondre plusieurs actions. (C) Marca JP La clef primaire empêche la duplication d’enregistrements Une relation côté un fait toujours référence à une clef primaire. Possibilité définir dans Actions une clef primaire formée par la concaténation de plusieurs rubriques (peCodeEmployé + peType + peDateExecution) A la création d’une clef primaire Access génère un index à partir de la clef primaire ACCESS - SGBD Page 45 Manipulation des tables TD : Création table Actions Personnel dans BdD Comptoir Sélection multiples rubriques Définition clef concaténée (type variant) Fenêtre de gestion de cet index Fenêtre Index pour gérer l’ordre des champs dans la clef primaire (C) Marca JP ACCESS - SGBD Page 46 Manipulation des tables Ajout d’index à des tables (C) Marca JP Access gère un index sur la clef primaire En contrepartie, la multiplicité des index pénalise la mise à jour. Chaque table Access peut créer 32 index, dont 5 peuvent être multichamp. Un index multichamp peut inclure jusqu’à dix champs. Possibilité de créer d’autres index (index secondaire) sur d’autres champs, pour accélérer les recherches faites sur d’autres critères. ACCESS - SGBD Page 47 Saisie Saisie et et Mise Mise àà Jour Jour des ées des donn données • Saisie de données de test • Utilisation clavier • Ajout d’enregistrement à une table • Sélection, ajout, remplacement et suppression d’enregistrements • Validation des entrées de données (C) Marca JP ACCESS - SGBD Page 48 Saisie et Mise à jour de données Saisie de données (C) Marca JP ♦ Saisie des données test en mode table pour finaliser structure avant conception des formulaires et des états ♦ Raccourcis clavier pour sélection et saisie données ♦ Ajustement options de saisie ♦ Sélection, Ajout, Mise à jour et Suppression en mode feuille de données ACCESS - SGBD Page 49 Saisie et Mise à jour de données Validation des entrées de données ♦ Règles de validation au niveau champ ♦ Définition de règles de validité au travers de la propriété Valide Si ♦ Message associé en Message Si Erreur Contrôle et message pour peDateExecution (C) Marca JP ACCESS - SGBD Page 50 Saisie et Mise à jour de données Validation des entrées de données ♦ Les règles de validation qui portent sur plusieurs champs sont définies au niveau de la table Un bouton dans Valide Si de Proprietes Tables ouvre le générateur d’expression (C) Marca JP ACCESS - SGBD Page 51 Tri, Tri, Recherche Recherche et et Filtrage Filtrage • Figer les colonnes • Tri • Recherche et remplacement • Filtrage par sélection • Filtrage par formulaire • Filtrage/Tri avancé (C) Marca JP ACCESS - SGBD Page 52 Tri, recherche et filtrage Figer des colonnes ♦ Sélectionner les colonnes à figer ♦ Format / Figer les colonnes Démarcation champ libre / champ figé (C) Marca JP ACCESS - SGBD Page 53 Tri, recherche et filtrage Tri ♦ Tri à partir d’un seul champ ♦ Tri sur plusieurs champ Champs triés (C) Marca JP ACCESS - SGBD Page 54 Tri, recherche et filtrage Recherche et remplacement (C) Marca JP ♦ Recherche ♦ Recherche et remplacement ACCESS - SGBD Page 55 Tri, recherche et filtrage Filtrage des données dans une table (C) Marca JP ♦ Filtrage par sélection ♦ Filtrage par formulaire ♦ Filtre/tri avancé ACCESS - SGBD Page 56 Tri, recherche et filtrage Filtrage par sélection (C) Marca JP ♦ Filtrage sur le critère du champ dans lequel on a sélectionné tout ou partie du texte ♦ Exemple : sélection de « ventes » dans champ fonction ACCESS - SGBD Page 57 Tri, recherche et filtrage Filtrage par formulaire (C) Marca JP ♦ Permet de filtrer des enregistrements à partir de critères définis sur plusieurs champs à la fois. ♦ Les formulaires de filtrage sont différents des formulaires de saisie. ♦ Définition des critères liés par une condition ET sur la ligne du formulaire ♦ Définition d’une autre série de critères,liés par une condition OU à la première, en changeant d’onglet. ♦ Ce filtre est en fait une requête déguisée avec un nombre restreint de possibilités. ♦ Un filtre peut être enregistré comme une requête. ♦ Un filtre ne peut pas être enregistré en tant que filtre. ♦ Il est possible de charger une requête en tant que filtre. ACCESS - SGBD Page 58 Tri, recherche et filtrage Filtrage / Tri avancé (C) Marca JP ♦ Les filtres sont en fait des requêtes déguisées : la création d'un filtre / tri avancé s'apparente donc beaucoup à celle d'une requête, ♦ avec deux limites importantes : ♦ limité à une table ♦ impossibilité de passer en mode SQL. ♦ Un filtre peut cependant être enregistré en tant que requête. ♦ Un filtre peut être chargé à partir d'une requête. ♦ On ne peut sauvegarder un filtre en tant que tel. ACCESS - SGBD Page 59 Tri, recherche et filtrage Filtrage / Tri avancé Le code SQL du filtre sauvegardé sous la forme d'une requête Une table et une seule Critères liés par "ET" Critères liés par "OU" (C) Marca JP ACCESS - SGBD Page 60 Liaison, Liaison, importation importation et et exportation exportation • Préparation exportation • Echanges autres SGBD micros • Echange fichiers textes • Echanges Excel • Echange Outlook (C) Marca JP ACCESS - SGBD Page 61 Liaison, importation et exportation Préparation exportation (C) Marca JP ♦ Utilisation filtrage (sélection enregistrements) ♦ Utilisation tri ♦ Utilisation personnalisation feuille de données (sélection rubriques) ACCESS - SGBD Page 62 Principes de Base d ’Access * Un Système de Gestion de Base de Données Relationnelle * Un outil bureautique pour gérer ses données mais impliquant une formation poussée et une appropriation délicate * Un client pour accéder à d’autres Bases de Données * Un environnement de développement au standard Microsoft Visual Basic (C) Marca JP ACCESS - SGBD Page 63 ACCESS Un Système de Gestion de Base de Données Compléments (2) Les requêtes d ’Access (C) Marca JP ACCESS - SGBD Page 64 Une série de questions * * * (C) Marca JP Comment interroger la Base de Données ? Comment mêler différents critères de sélection par le biais d’opérateurs logiques ? Comment mettre à jours la Base de Données au moyen de requêtes action ? ACCESS - SGBD Page 65 Plan du Module ♦ Concevoir des requêtes ♦ Comprendre les opérateurs et les expressions dans les requêtes ♦ Créer des requêtes multitables et croisées ♦ Modifier les données avec les requêtes Action (C) Marca JP ACCESS - SGBD Page 66 Concevoir Concevoir des des requêtes requêtes • Notion de requête • L’Assistant Requête simple • Requête en mode Création : Sélection champs et critères de tri et de sélection des enregistrements) • Utilisation des résultats • Créer et utiliser une requête Création de Table (C) Marca JP ACCESS - SGBD Page 67 Concevoir des requêtes Notion de requête (C) Marca JP o Un concept de base pour un SGBD o Des requêtes pour : o sélectionner des enregistrements selon certains critères o regrouper des plusieurs tables o mettre à jour des tables (ajout, corrections) o créer de nouvelles tables et des états imprimés o des actions spéciales (union, analyse croisée) données ACCESS - SGBD en provenance de Page 68 Concevoir des requêtes l’Assistant Requête simple Option pour requête de synthèse si valeurs numériques (C) Marca JP ACCESS - SGBD Page 69 Concevoir des requêtes Requête en mode création Sélection table (C) Marca JP ACCESS - SGBD Page 70 Concevoir des requêtes Requête en mode création Sélection champs (C) Marca JP ACCESS - SGBD Page 71 Concevoir des requêtes Requête en mode création Critères de sélection (C) Marca JP ACCESS - SGBD Page 72 Concevoir des requêtes Requête en mode création Critères de tri (C) Marca JP ACCESS - SGBD Page 73 Concevoir des requêtes Requête en mode création Résultat (C) Marca JP ACCESS - SGBD Page 74 Concevoir des requêtes Utilisation données issues de la requête (C) Marca JP o Impression o Copier/Coller o Liaison Office (fusion Word, Excel, ..) ACCESS - SGBD Page 75 Concevoir des requêtes Requête Création de table o Création d’une nouvelle table à partir d’une requête clic droit sur bordure (C) Marca JP ACCESS - SGBD Page 76 Comprendre érateurs Comprendre les les op opérateurs et et les les expressions expressions dans dans les les requêtes requêtes • • • • • • • • (C) Marca JP Opérateurs et expressions Différents types d'opérateurs Fonctions Différents types de fonctions Des expressions typiques comme critères de requête Exemple Générateur d'expression Champs calculés ACCESS - SGBD Page 77 Opérateurs et expressions Opérateurs et expressions ♦ ♦ (C) Marca JP Multiples emplois des expressions et opérateurs dans Access ♦ Règles de validation des champs d'une table (déjà vu) ♦ Critères de sélection dans une requête simplle (déjà vu) ♦ Requêtes complexes ♦ Formulaires ♦ Etats ♦ VBA Une expression pour définir une condition précisant la manière dont une action doit s'accomplir ou pour calculer une donnée résultat à partir des données de la base ACCESS - SGBD Page 78 Opérateurs et expressions Expression (C) Marca JP ♦ Une expression doit contenir ♦ au moins un opérateur ♦ ET au moins un opérande : une chaîne littérale, un identificateur ou une fonction ♦ Opérateur : opérateur aithmétique, ensembliste ou logique ♦ Chaîne littérale : chaîne de caractères ou valeur numérique définie directement ♦ Identificateur : noms des objets Access retournant des valeurs ou constantes prédéfinies (Vrai, Faux, Oui, Non, Null) ♦ Fonction : retourne une valeur suite à la spécification d'un argument) ACCESS - SGBD Page 79 Opérateurs et expressions Opérateurs (C) Marca JP ♦ Opérateurs arithmétiques (+,-, *, /, \, Mod, ^) ♦ Opérateurs d'affectation (=) ♦ Opérateurs de comparaison(<, <=, =, >=, >, <>) ♦ Opérateurs logiques (Et, Ou, Pas, Ou_X) ♦ Opérateur de concaténation (&) ♦ Opérateurs d'identification : permet de nommer de manière univoque les objets d'une base de données ♦ Opérateurs spécifiques comme Like (Comme), Is (Est) et Between (Entre) ACCESS - SGBD Page 80 Opérateurs et expressions Opérateurs d'identification (C) Marca JP ♦ les opérateurs . et ! ♦ Combiner des noms de classe et d'objet : Formulaires!Commande (permet de différencier de Tables!Commande) ♦ Combiner des noms d'objets et de propriétés : BoiteDialogue1.FontSize ♦ Identifier des champs spécifiques dans les tables (Clients!Société) ♦ Attention à usage de ! dans Access qui est équivalent au . de SQL ACCESS - SGBD Page 81 Opérateurs et expressions Opérateurs spécifiques (C) Marca JP ♦ Est est utilisé avec Null (Est Null, Est Non Null) ♦ Comme (Like SQL) détermine si une chaîne commence par certains caractères (Comme Saint*) ♦ Dans (In SQL) détermine l'appartenance à une liste de valeurs : Dans ("75", "77", "78", "91", "92", "93", "94", "95") ♦ Entre (Between SQL) détermine l'appartenance numérique à une segment de valeurs (Entre 1 et 5, Entre #24/12# et #1/1#) ACCESS - SGBD Page 82 Opérateurs et expressions Identificateurs (C) Marca JP ♦ Un identificateur est le nom d'un objet (base, table, champ, requête, formulaire, état) ♦ Chaque objet doit être identifié de manière unique ♦ Le champ Adresse de la table Clients : Clients.Adresse ♦ Le champ Quantité de la table Commande Détail (inclut un blanc) : [Commande Détail].Quantité ACCESS - SGBD Page 83 Opérateurs et expressions Fonctions (C) Marca JP ♦ Retournent des valeurs à leur nom ♦ 150 fonctions accessibles ♦ Date/heure ♦ Texte ♦ Conversion ♦ Maths ♦ Monétaire ♦ Echange DDE ♦ Général ACCESS - SGBD Page 84 Opérateurs et expressions Fonctions ♦ Utilisation fenêtre Exécution de VBA pour vérifier utilisation et syntaxe des fonctions. (C) Marca JP ACCESS - SGBD Page 85 Opérateurs et expressions Fonctions Date / Heure Fonction Description Exemple Renvoie Date Retourne la date système sous forme Variant ou String Date 21/8/2002 DateAdd Retourne la date avec le nombre de jours ("d"), de semaines ("ww"), de mois ("m") ou d'années ("y") ajoutés à la date DateAdd("m",1,"15/7/2002") 21/9/2002 DateDiff Retourne un entier correspondant à la différence entre deux dates DatePart Retourne une partie de la date sous forme d'entier DateSerial Compose une date avec les éléments JJ, MM et AA sous forme d'entiers DateValue Compose une date à partir de son expression sous forme de chaîne de caractères Day Retourne le No du jour dans le mois de la date fournie Hour Retourne l'heure du temps fourni Hour(time) A 11h Hour(#23:34:56#) 11 Minute Retourne les minutes du temps fourni Month Retourne le mois de la date fournie (C) Marca JP ACCESS - SGBD 23 Page 86 Opérateurs et expressions Fonctions Date / Heure Fonction Description MonthName Retourne le nom du mois en entier ou en abrégé Now Retourne la date et l'heure système Second Retourne les secondes de l'heure founie Time Retourne l'heure système TimeSerial Compose une heure avec les éléments HH, MM et SS fournis sous forme d'entiers TimeValue Compose une heure avec les éléments HH, MM et SS fournis sous forme de chaîne de caractères WeekDay Retourne le jour de la semaine en entier WeekDayName Retourne le nom du jour de la semaine Year Retourne l'année de la date fournie (C) Marca JP Exemple ACCESS - SGBD Renvoie Page 87 Opérateurs et expressions Fonctions Texte Fonction Description Asc Retourne la valeur ANSI d'un caractère Chr Retourne le caractère correspondant à la valeur ANSI Format REtourne la valeur fournie dans le format précisé Instr Retourne la position d'une sous-chaîne dans la chaîne LCase Retourne la valeur en minuscules Left Retourne les caractères de gauche spécifiés Len Retourne le nombre de caractères en entier long LTrim Supprime les espaces en début de chaîne Mid Retourne une partie de la chaîne Right Retourne les caractères de droite spécifiés (C) Marca JP Exemple ACCESS - SGBD Renvoie Page 88 Opérateurs et expressions Fonctions Texte Fonction Description RTrim Supprime les espaces en fin de chaîne Space Retourne une chaine d'espaces du nombre spécifié Str Convertit la valeur numérique de n'importe quel type de chaîne StrComp Compare deuxchaînes String Retourne une chaîne avec le nombre de caractères spécifiés Trim Supprime les espaces de début et de fin d'une chaîne UCase Retourne la valeur en majuscules Val REtourne la valeur numérique d'une chaîne dans le format souhaité (C) Marca JP Exemple ACCESS - SGBD Renvoie Page 89 Opérateurs et expressions Fonctions Conversion de type Fonction Description CBool Convertit une valeur numérique en type Boolean CByte Convertit une valeur numérique en type Byte CCur Convertit une valeur numérique en type Currency CDate Convertit une valeur numérique en type Date CDd1 Convertit une valeur numérique en type Double CInt Convertit une valeur numérique en type Integer CLng Convertit une valeur numérique en type Long CSng Convertit une valeur numérique en type Single CStr Convertit une valeur numérique en type String CVar Convertit une valeur numérique en type Variant (C) Marca JP Exemple ACCESS - SGBD Renvoie Page 90 Opérateurs et expressions Fonctions Conversion de type Fonction Description CVerr Convertit un No d'erreur valide pour créer des erreurs personnalisées Nz Convertit une valeur Null en zéro ou en une chaîne de longueur zéro en fonction du contexte (C) Marca JP Exemple ACCESS - SGBD Renvoie Page 91 Opérateurs et expressions Des expressions typiques comme critères de requêtes Champ Expression Renvoie Pays Not "France" And Not "Belgique" Les sociétés qui ne sont ni en France ni en Belgique Pays Not ("France" Or "Belgique") Les sociétés qui ne sont ni en France ni en Belgique Société Like "[N-Z]*" Les sociétés dont le nom commence de N à Z Société Like S* Or Like V* Les sociétés dont le nom commence par S ou V Société Like "*shop*" Les sociétés ayant la chaîne "shop" dans leur raison sociale Code postal >=75000 Les sociétés dont le code postal est > 75000 Date Commande Year([Date Commande])=1997 Les commandes reçues en 1997 Date Commande Year([Date Commande])=1997 And DatePart("q",[Date Commande]) = 1 Les commandes reçues au premier trimestre 97 Voir pages suivantes (C) Marca JP ACCESS - SGBD Page 92 Opérateurs et expressions Des expressions typiques comme critères de requêtes (C) Marca JP ♦ Important ♦ Traduction automatique de l'expression (sauf en VBA) ♦ Problèmes liés à localisation ♦ Exemples fournis en code US ne marchent pas du fait traduction automatique des codes (Exemple DatePart en PartDate) mais non des paramètres entre guillemets. Le code "q" pour trimestre (quarter) est transformé en "/q" alors que la fonction attend "t" ♦ Exige ; et non , ♦ Retransformation après sauvegarde ACCESS - SGBD Page 93 Opérateurs et expressions Des expressions typiques comme critères de requêtes ♦ Exemple ♦ Ci joint syntaxe OK ♦ Syntaxe fournie ♦ Year([Date Commande])=1997 And DatePart("q",[Date Commande]) = 1 (C) Marca JP ACCESS - SGBD Page 94 Opérateurs et expressions Des expressions typiques comme critères de requêtes ♦ Exemple ♦ Retransformation après sauvegarde (C) Marca JP ACCESS - SGBD Page 95 Opérateurs et expressions Exemple ♦ Exemple de requête (Nous anticipons sur les requêtes multitables pour mette en évidence une expression intéressante) ♦ Ligne Opération obtenue en cliquant le bouton Opération de la barre d'outils ♦ Insertion colonne spécifiant le montant net de chaque ligne de la table Détails Commandes avec un format monétaire ♦ !! Opération "Somme" parfois transformée en "expression" avec modif automatique de l'expression Somme(..) : cas ci-dessus (C) Marca JP ACCESS - SGBD Page 96 Opérateurs et expressions Exemple (C) Marca JP ACCESS - SGBD Page 97 Opérateurs et expressions Utilisation du générateur d'expressions (C) Marca JP ACCESS - SGBD Page 98 Opérateurs et expressions Champs calculés (C) Marca JP ♦ Utilisation des expressions pour créer des champs calculés dans une requête (Exemple montant TVA) ♦ Création nouvelle colonne ♦ Syntaxe NomRubrique: Expression ♦ Penser à spécifier Expression dans ligne Opération (!! Affichage de cette ligne non implicite) ACCESS - SGBD Page 99 Cr éer des Créer des requêtes requêtes multitables ées multitables et et crois croisées • • • • • • • • • • • (C) Marca JP Retour sur les relations Lier des tables pour les requêtes multitables Utiliser des listes de choix dans les tables Ajouter des sous-feuilles dans une table ou une requête Les relations Mettre à jour des tables avec des requêtes Rendre tous les champs d'une table accessibles Effectuer des calculs sur plusieurs enregistrements Les paramètres d'une requête Les requêtes Analyse croisée Créer des requêtes avec des bases de données externes ACCESS - SGBD Page 100 Requêtes multitables Retour sur les relations ♦ (C) Marca JP Quatre types fondamentaux de relations ♦ Les équijointures ♦ Les jointures externes ♦ Les autojointures ♦ Les jointures Theta ♦ Un préalable : la définition des relations dans la base (Retour diapo x du chapitre 2) ♦ Ne pas oublier : donner le même nom aux champs qui peuvent être mis en relation ♦ Un outil : La fenêtre Relations ACCESS - SGBD Page 101 Requêtes multitables Equijointure ♦ L'équijointure (INNER JOIN selon ANSI-SQL 92) est le type de liaison le plus courant dans les requêtes Sélection ♦ Affichage dans une table de tous les enregistrements correspondant aux enregistrement d'une autre table ♦ La correspondance entre les enregistrements est déterminée par des valeurs identiques dans les champs liés (Where champ1 = champ2 en SQL) ♦ Dans la plupart des cas, ce schéma dans le cadre d'une relation un à plusieurs : Table 1 Table 2 Champ Clef primaire unique "Côté un" (C) Marca JP Champ Clef externe "Côté Plusieurs" ACCESS - SGBD Page 102 Requêtes multitables Equijointure (C) Marca JP ♦ Si aucun enregistrement du côté "plusieur" ne contient d'enregistrement correspondant à un enregistrement de la table "un", les enregistrements du côté "un" ne sont pas affichés dans le résultat de la requête. ♦ Access crée automatiquement les liaisons entre les tables si elles partagent un nom de champ commun qui est la clef primaire de l'une des tables. ♦ Ces liaisons sont aussi créées si on précise les relations entre les tables dans la fenêtre Relations. ACCESS - SGBD Page 103 Requêtes multitables Créer une équijointure conventionnelle ♦ Ouverture base ♦ Requête ♦ Requête en mode création ♦ Sélection table Clients dans liste tables ♦ Sélection table Commandes dans liste tables ♦ Fermeture liste tables ♦ Double clic sur rubrique société dans la liste des rubriques de la table Clients => création automatique 1ere colonne de la requête ♦ Idem avec les rubriques No Commande et Date Commande de la table Commandes (C) Marca JP ACCESS - SGBD Page 104 Requêtes multitables Créer une équijointure conventionnelle ♦ (C) Marca JP Exécution requête ACCESS - SGBD Page 105 Requêtes multitables Créer une équijointure conventionnelle ♦ (C) Marca JP Exemple d'une requête mettant en relation 2 tables n'ayant pas de lien direct : catégories de produits commandés par les clients ACCESS - SGBD Page 106 Requêtes multitables Créer une équijointure conventionnelle ♦ Résultats : 2155 lignes avec beaucoup de doublons ♦ Suppression des doublons par la propriété "Valeur distinctes" de la requête (introduit le code SQL DISTINCT) ♦ Résultat : 598 lignes (C) Marca JP ACCESS - SGBD Page 107 Requêtes multitables Format SQL de la relation ♦ SELECT DISTINCT Clients.Société, Catégories.[Nom de catégorie] ♦ FROM Catégories INNER JOIN (Produits INNER JOIN ((Clients INNER JOIN Commandes ON Clients.[Code client] = Commandes.[Code client]) INNER JOIN [Détails commandes] ON Commandes.[N° commande] = [Détails commandes].[N° commande]) ON Produits.[Réf produit] = [Détails commandes].[Réf produit]) ON Catégories.[Code catégorie] = Produits.[Code catégorie] ♦ ORDER BY Clients.Société; (C) Marca JP ACCESS - SGBD Page 108 Requêtes multitables Equijointure sur plusieurs colonnes et sélection de valeur unique ♦ Besoin : Nom des clients dont les adresses de facturation et de livraison sont identiques ♦ Création Requête ♦ Sélection Tables Clients et Commandes ♦ Création d'une nouvelle relation entre Adresse de Clients et Adresse livraison de Commande par un glisser-déplacer ♦ Sélection rubriques Société, Adresse de Clients et Adresse livraison de commande ♦ Elimination doublons ♦ Exécution ♦ SQL : SELECT DISTINCT Clients.Société, Clients.Adresse, Commandes.[Adresse livraison] FROM Clients INNER JOIN Commandes ON (Clients.Adresse = Commandes.[Adresse livraison]) AND (Clients.[Code client] = Commandes.[Code client]); (C) Marca JP ACCESS - SGBD Page 109 Requêtes multitables Listes de choix dans les tables ♦ Possibilité saisie données dans tables en sélectionnant un élément dans une liste déroulante ♦ Evite les erreurs et sauvegarde l'intégrité référentielle ♦ Basé sur la création automatique d'une requête ♦ Voir exemple dans Base de données Photos ♦ Existence d'un Assistant Liste de Choix ♦ Possibilité de définir explicitement une liste de valeurs au lieu de faire référence à une table (portabilité ?) ♦ D'une manière plus générale, débat sur l'opportunité de l'intégration d'une requête dans les propriétés d'une table. (C) Marca JP ACCESS - SGBD Page 110 Requêtes multitables Ajout de sous-feuilles dans une table ou une requête ♦ Nous avons défini les sous-feuilles dans le chapitre 2 ♦ Elles présentent les valeurs des tables liées dans une feuille de données incorporée où les champs sont affichés dans des zones de liste ou zones de listes modifiables ♦ Possibilité de présentation en cascade : exemple des produits d'une commande d'un client (C) Marca JP ACCESS - SGBD Page 111 Requêtes multitables Sous-feuille en table ♦ La définition d'une sous-feuille se fait via les propriétés de la table ♦ L'imbrication ci-contre ♦ s'opère simplement du fait du paramètre Auto: (C) Marca JP ACCESS - SGBD Page 112 Requêtes multitables Sous-feuille en table ou en requête ♦ On peut la définir explicitement en spécifiant une table ♦ ou une requête si l'on veut une présentation personnalisée (C) Marca JP ACCESS - SGBD Page 113 Requêtes multitables Jointures externes (C) Marca JP ♦ Nous passons en revue les autres types de jointures ♦ Les jointures externes (LEFT JOIN et RIGHT JOIN) sont utilisées dans les bases de données pour supprimer les enregistrements orphelins et les doublons par la création de tables ne contenant que des enregistrements avec des valeurs uniques. ♦ Une jointure gauche affiche tous les enregistrements de la table côté un sans se soucier s'il existe des enregistrements dans la table "plusieurs" ♦ Une jointure droite affiche tous les enregistrements de la table côté plusieurs sans se soucier s'il existe des enregistrements dans la table des un ♦ Exemple page suivante ACCESS - SGBD Page 114 Requêtes multitables Jointures externes (C) Marca JP ♦ Création d'un enregistrement zzzzz de client n'ayant pas de commande dans la base test ♦ Création d"une requête avec Code Client et Société de Clients, No employé et Date commande de Commandes ♦ Si la relation entre les deux tables est de type 1 (équijointure), le client vide n'apparait pas lors de l'exécution de la requête ♦ Si la relation est définie de type 2, ce client apparait et la flèche est orientée sur le modèle ACCESS - SGBD Page 115 Requêtes multitables Autojointures (C) Marca JP ♦ Les autojointures mettent en relation des données dans une seule table ♦ On peut créer ce genre de relation en ajoutant à la requête un double de la table (Access fournit un alias pour le duplicata) et créer des liaisons entre les champs des copies ♦ Avec une autojointure, on doit préciser que les enregistrements doivent être uniques (Valeurs distinctes à OUi) ACCESS - SGBD Page 116 Requêtes multitables Jointures Theta (C) Marca JP ♦ Les jointures Theta mettent des données en relation en utilisant des opérateurs de comparaison différents de = ♦ Ces jointures comprennent les not-equal joins() utilisés dans les requêtes pour retourner des enregistrements qui ne correspondent pas à une relation particulière. ACCESS - SGBD Page 117 Requêtes multitables Mettre à jour des tables avec des requêtes ♦ Dans certains cas, on peut modifier les données d'une requête en mode Feuille de données pour modifier les données de la table sous-jacente. Dans d'autres cas, on ne peut pas. ♦ Un objet Recordset représente le jeu d'enregistrements complet d'une table de base de données ou les résultats d'une commande exécutée. ♦ L'objet Recordset fait toujours référence à un seul enregistrement du jeu comme étant l'enregistrement en cours. ♦ Lorsqu'une requête crée un Recordset de type Feuille de réponse dynamique (par opposition à instantanée), la table créée présente un enregistrement vide en fin de liste, ce qui permet la mise à jour des tables. ♦ De nombreuses conditions restrictives ♦ Débat bien sûr sur l'intérêt de permettre un tel mode de mise à jour (voir plus loin requêtes Action) (C) Marca JP ACCESS - SGBD Page 118 Requêtes multitables Mise en forme des données ♦ ♦ ♦ ♦ ♦ ♦ (C) Marca JP Mise en forme requête liée à la mise en forme des tables utilisées. Modification valeurs implicites via la fenêtre propriété du champ dans la grille de création de reqête (voir diapo suivante) : Description (Affichage barre état) Format Masque de saisie Légende (changement intitulé colonne) ACCESS - SGBD Page 119 Requêtes multitables Mise en forme des données Propriétés du champ (C) Marca JP ACCESS - SGBD Page 120 Requêtes multitables Effectuer des calculs sur plusieurs enregistrements ♦ Un des intérêts majeurs d'un BdD SQL : obtenir immédiatement des informations de synthèse. ♦ Dans Access, présence simultanée des (portabilité) et VBA (spécifique Microsoft) Avg() Count() (C) Marca JP fonctionnalités First() Moyenne Nombre de valeurs Not Null Valeur premier Last() Max() Min() StDev() et StDevP() Sum() Var() et Var(p) Valeur dernier Valeur la plus élevée Valeur la plus basse Ecart type Total Variance ACCESS - SGBD SQL Page 121 Requêtes multitables Effectuer des calculs sur plusieurs enregistrements Requête créée à partir d'une requête Résultat Fonctions de synthèse Modification légende (C) Marca JP ACCESS - SGBD Page 122 Requêtes multitables Paramètres d'une requête ♦ (C) Marca JP Possibilité de définir un paramètre au lancement d'une requête ACCESS - SGBD Page 123 Requêtes multitables Requête Analyse croisée ♦ Requêtes de synthèse dynamiques Excel ♦ Utilisation de l'Assistant si la requête porte sur une seule table : (C) Marca JP s'apparentant aux tableaux roisés ♦ Création nouvelle requête regroupant les éléments pertinents ♦ Précaution : revenir éventuellement à l'affichage des clefs (Liste de choix = zone de texte) pour toutes les références à des listes déroulantes ♦ Sauvegarde requête ♦ Appel Assistant ♦ Sélection requête sauvegardée ♦ Sélection champs analysés ♦ Sélection champ en-tête de colonne ♦ Maille de regroupement temporel ♦ Fonction de calcul ♦ Identification requête ACCESS - SGBD Page 124 Requêtes multitables Requête Analyse croisée (C) Marca JP ACCESS - SGBD Page 125 Requêtes multitables Requête Analyse croisée ♦ ♦ (C) Marca JP Possibilité définir requête analyse croisée en manuel Possibilité affectation valeurs fixes aux en-têtes ACCESS - SGBD Page 126 Requêtes multitables Accès à des bases de données externes ♦ ♦ ♦ ♦ (C) Marca JP Possibilité accès à d'autres bases que la base en cours Spécifier le paramètre Base Source dans la requête avec le chemin d'accès Paramètre Chaine Connexion Source avec les paramètres ODBC si nécessaire La connexion n'est ouverte qu'en mode création ou feuille de données ACCESS - SGBD Page 127 Requêtes multitables Important (savoir-faire) ♦ ♦ ♦ ♦ ♦ ♦ (C) Marca JP En mode création de requête il est parfois nécessaire de jouer avec les relations Si une table mise en jeu a plusieurs relations avec les autres tables, Access peut s'y perdre et ne rien afficher Exemple : un établissement point sur une société (siège), un service (implantation) et un poste de travail. Si toute ces tables sont présentes, on devra éliminer les relations non significatives pour la requête considérée On trouvera aussi certains cas ou il faut garder la relation mais modifier sa nature (recherche des postes sans affectations) Ces modifications n'influent pas sur le schéma relationnel de base ACCESS - SGBD Page 128 Modifier ées Modifier les les donn données avec avec des des requêtes requêtes Action Action • • • • • • Qu'est ce qu'une requête Action Requête Création de table Créer et tester une requête Sélection Conversion Requête sélection en requête création table Définir les relations dans la nouvelle table Ajouter des enregistrements à une table avec une requête action • Supprimer des enregistrements • Modifier des enregistrements • Suppressions et mises à jour en cascade (C) Marca JP ACCESS - SGBD Page 129 Requêtes Action Types de requêtes Action ♦ ♦ ♦ ♦ ♦ (C) Marca JP Quatre types de requête Action Requête Création de table Requête Ajout (enregistrement) Reqauête Suppression Requête Mise à Jour ACCESS - SGBD Page 130 Requêtes Action Requêtes Création de table ♦ ♦ ♦ ♦ ♦ ♦ (C) Marca JP Créer et tester la requête Spécifier Requête->Requête Création Table Nommer la table La table créée hérite des propriétés de la (les ?) table origine et reprend la structure des enregistrements sur lesquels repose la requête Compléter éventuellement la définition de la table ♦ Indexation ♦ Relations ♦ Intégrité référentielle Modifier éventuellement la structure de la base pour tirer parti de la nouvelle table ACCESS - SGBD Page 131 Requêtes Action Requêtes Création de table Requête création de table Définition de la requête (C) Marca JP ACCESS - SGBD Page 132 Requêtes Action Requête Ajout d'enregistrement dans une table ♦ ♦ ♦ ♦ (C) Marca JP La requête création supprime avant exécution une table éventuelle La requête ajout fonctionne de manière identique mais se contente d'ajouter les enregistrements à la table existante Existence d'une ligne "Ajoute à" Contrôle des clefs ACCESS - SGBD Page 133 Requêtes Action Requête Suppression d'enregistrements dans une table ♦ ♦ ♦ (C) Marca JP La requête Suppression supprime les enregistrements d'une table répondant à certains critères Exemple : suppression de toutes les commandes des clients dont le niveau de risque vient d'être mis à une valeur critique Suppression en cascade pour assurer l'intégrité référentielle ACCESS - SGBD Page 134 Requêtes Action Requête Mise à jour d'enregistrements dans une table ♦ ♦ (C) Marca JP La requête Mise à Jour modifie les enregistrements d'une table répondant à certains critères Exemple mise à jour des prix d'un tarif selon une loi homogène ACCESS - SGBD Page 135 Les requêtes d ’Access * Différents types de requêtes · Sélection · Création table · Ajout, suppression ou modification d'enregistrements * * * * * (C) Marca JP Requête à partir d'une ou plusieurs tables Assistant requête simple, Assistant requête analyse croisée ou définition spécifique en mode création Sélection tables, rubriques, critères de sélection et de tri Opérateurs et expression pour la définition des critères de sélection Conversion en forme SQL ACCESS - SGBD Page 136 ACCESS Un Système de Gestion de Base de Données Compléments (3) Formulaires et Etats (C) Marca JP ACCESS - SGBD Page 137 Une série de questions * * * (C) Marca JP Comment présenter les données de manière plus attractive ? Comment imprimer de simples listes ? Comment construire des rapports complexes exploitant la Base de Données ? ACCESS - SGBD Page 138 Plan du Module ♦ Créer et utiliser des formulaires ♦ Créer des formulaires personnalisés multi-tables ♦ Imprimer des états et des étiquettes ♦ Préparer des états élaborés (C) Marca JP ACCESS - SGBD Page 139 Cr éer et Créer et utiliser utiliser des des formulaires formulaires • Rôle des formulaires et des contrôles • Création d'un formulaire avec l'Assistant Formulaire • Fenêtre création de formulaire • Mettre à jour des éléments et des contrôle de formulaire • Utiliser les formulaires • Modifier les propriétés des éléments et des contrôle de formulaire (C) Marca JP ACCESS - SGBD Page 140 Créer et utiliser des formulaires Formulaires et contrôles d'Access (C) Marca JP o Une manière plus pratique de présenter les informations relatives à un enregistrement donné qu'en mode tabulaire, plus propice aux vues globales. o Un environnement informations. o Les formulaires sont composés de contrôles (à l'image de ceux des feuilles de Visual Basic). o Ces contrôles ont statut d'objet, ce qui leur fournit propriétés et méthodes. o Existence de sous-formulaires, feuilles ou formulaires inclus dans un formulaire. o Incorporation d'éléments technologie ActiveX plus propice ACCESS - SGBD à graphiques la saisie grâce des à la Page 141 Créer et utiliser des formulaires Nouveautés d'Access 2000 en matière de formulaires (C) Marca JP o Sous-feuilles de données o Sous-formulaires in situ o Correction automatique o Groupes de contrôles o Commande d'espacement vertical et horizontal o Contrôle ActiveMovie ACCESS - SGBD Page 142 Créer et utiliser des formulaires Création via l'Assistant formulaire (C) Marca JP o Exemple de 2 tables liées par une relation Un à Plusieurs o Employés -> Actions personnel o Création d'un Formulaire incluant un Sous Formulaire o Assistant très intéressant pour dégrossir ACCESS - SGBD Page 143 Créer et utiliser des formulaires Création via l'Assistant Seconde Table (n) Sélection de toutes les rubriques Elimination code redondant Première table (1) Sélection de 4 rubriques (C) Marca JP ACCESS - SGBD Page 144 Créer et utiliser des formulaires Création via l'Assistant Position relative des rubriques des 2 tables dans Formulaire et sous-formulaire Formulaire avec sous-formulaire (C) Marca JP ACCESS - SGBD Page 145 Créer et utiliser des formulaires Création via l'Assistant Mode Tabulaire (C) Marca JP ACCESS - SGBD Page 146 Créer et utiliser des formulaires Création via l'Assistant Style (C) Marca JP ACCESS - SGBD Page 147 Créer et utiliser des formulaires Création via l'Assistant Titres Actions suivante (C) Marca JP ACCESS - SGBD Page 148 Créer et utiliser des formulaires Création via l'Assistant Résultat création (C) Marca JP ACCESS - SGBD Page 149 Créer et utiliser des formulaires Mode Création Formulaire Grille en mode création Notez pour le formulaire En-tête, Détail, Pied Idem pour le sousformulaire Boîte à Outils (C) Marca JP ACCESS - SGBD Page 150 Créer et utiliser des formulaires Mode Création Formulaire (C) Marca JP o Barre d'outils : Création de Formulaires et menus o Barre d'outils Mise en Forme o Concept de format automatique. Possibilité définir ses propres formats. o Couleurs et images de fond o Mode intuitif propre à Windows o Modification et déplacement des contrôles. Possibilités d'Alignement. o !!! Les légendes sont associées à leurs contrôles ACCESS - SGBD Page 151 Créer et utiliser des formulaires Utiliser les formulaires (C) Marca JP o Barre d'outils spécifique au mode Formulaire o Eléments de navigation o Ajout o Modification o Prise en compte des modification : A la modification du pointeur d'enregistrement ou en utilisant la commande Enregistrement (Commit – Trans) o Annulation de la Mise à jour avec Edition Annuler (Rollback) ACCESS - SGBD Page 152 Créer et utiliser des formulaires Modification des propriétés d'un formulaire ou d'un contrôle (C) Marca JP o Accès via la fenêtre Propriétés o A vérifier systématiquement : l'ordre de tabulation o Viser cohérence et simplicité ACCESS - SGBD Page 153 Cr éer des Créer des formulaires formulaires personnalis és multi -tables personnalisés multi-tables • Boîte à outils • Mise au point d'un formulaire • Assistant sous-formulaire • Modification formulaires • Ecraser les propriétés des champs • En-têtes et pieds de formulaire • En-têtes et pieds de page (C) Marca JP ACCESS - SGBD Page 154 Créer et utiliser des formulaires Boîte à outils (C) Marca JP o Trois catégories de contrôles o Contrôle associé à un champ de la source de données o Contrôle indépendant o Contrôle calculé ACCESS - SGBD Page 155 Créer et utiliser des formulaires Mode création Boîte à outils Liste rubriques source de données (Table, requête) Formulaire en cours de création Propriétés de l'objet sélecté (C) Marca JP ACCESS - SGBD Page 156 Créer et utiliser des formulaires Mode création Intitulé Zone de texte calculée Zone de texte associée à un champ (C) Marca JP ACCESS - SGBD Page 157 Créer et utiliser des formulaires Mode création Utilisation de l'Assistant pour définir un groupe d'options (C) Marca JP ACCESS - SGBD Page 158 Créer et utiliser des formulaires Assistants (C) Marca JP o Utilisation des assistants pour les autres contrôles o Assistant zone de liste modifiable pour rechercher des valeurs dans une table ou une requête o Id pour rechercher des valeurs dans une liste statique o Id pour repérer un enregistrement en fonction de la valeur sélectionnée dans la liste ACCESS - SGBD Page 159 Créer et utiliser des formulaires Assistants o (C) Marca JP Assistant sous-formulaire pour définir un sous-formulaire indépendamment de la fonctionnalité définie dans l'assistant Formulaire. ACCESS - SGBD Page 160 Créer et utiliser des formulaires Ecraser les propriétés des champs (C) Marca JP o Les objets des formulaires et sousformulaires héritent des propriétés des champs et/ou des requêtes sources o Il est bien sûr possible de les modifier dans le formulaire o en respectant certaines règles de cohérence (en particulier pour les règles de validation) ACCESS - SGBD Page 161 Créer et utiliser des formulaires En-têtes et pieds (C) Marca JP o En-têtes et pieds de formulaire pour la présentation o En-têtes et pieds de page pour l'impression ACCESS - SGBD Page 162 Créer et utiliser des formulaires Conseil pratique o o Solution 1 o Formulaire lié à une seule table o Données liées affichées via Rechdom : o (C) Marca JP Affichage données liées =RechDom("[EtIntitule]";"Etablissements";"[EtCodeEtablissement] = '" & [SoCodeEtablissement] & "'") o Solution 2 o Formulaire lié à une requete SQL faisant jointure sur plusieurs tables o SELECT [Sociétés].[CodeSociete], [Sociétés].[SoNomSociete], [Sociétés].[SoActivite], [Sociétés].[SoNoAPE], [Sociétés].[SoRCS], [Sociétés].[SoDateCreation], [Sociétés].[SoCodeEtablissement], [Sociétés].[SoSiteWeb], [Etablissements].[EtIntitule], [Etablissements].[ETAdresseRue], [Etablissements].[EtAdresseCommune], [Etablissements].[EtComplAdresse], [Etablissements].[EtCodePostal], [Etablissements].[EtBureauDistributeur] FROM Etablissements INNER JOIN Sociétés ON [Etablissements].[CodeEtablissement]=[Sociétés].[SoCodeEtablissement]; o Toutes les rubriques récupérées de toutes les tables sont alors disponibles ACCESS - SGBD Page 163 Imprimer tats Imprimer des des éétats et tiquettes et des des éétiquettes • Relations entre formulaires et états • Différents types d'états • Assistant état (C) Marca JP ACCESS - SGBD Page 164 Créer et utiliser des états Relations entre formulaires et états (C) Marca JP o Les formulaires sont destinés à l'écran pour la consultation et la mise à jour o Les états sont destinés à être imprimés et diffusés. o On ne peut modifier les données sources d'un Etat avec des contrôles, comme on peut le faire avec des formulaires. o On peut cependant utiliser des contrôles pour vérifier des valeurs ou le statut de certains contrôles. ACCESS - SGBD Page 165 Créer et utiliser des états Relations entre formulaires et états (C) Marca JP o Caractéristiques communes o L'Assistant Etat fonctionne comme l'Assistant Formulaire o Fonctionnement identique des section "En-tête" et "Pied" o La section "Groupe" d'un Etat est l'équivalent de la section "Détail" d'un Formulaire o Contrôles de la Boîte à Outils o Des sous-états peuvent être intégrés à un Etat, de même qu'un sous-formulaire peut être intégré à un Formulaire ACCESS - SGBD Page 166 Créer et utiliser des états Différents types d'états (C) Marca JP o Les états en colonne simple o Les tableaux o Les états sur plusieurs colonnes o Les états groupés o Les étiquettes o Les états indépendants ACCESS - SGBD Page 167 Créer et utiliser des états Assistant Etat Maîtrise ordre insertion Rubriques des tables Produits et Fournisseurs (C) Marca JP ACCESS - SGBD Page 168 Créer et utiliser des états Assistant Etat Spécification niveau de regroupement Option de Options de regroupement (C) Marca JP ACCESS - SGBD Page 169 Créer et utiliser des états Assistant Etat Option de Options de regroupement synthèse (C) Marca JP ACCESS - SGBD Page 170 Créer et utiliser des états Assistant Etat Choix style Choix présentation (C) Marca JP ACCESS - SGBD Page 171 Créer et utiliser des états Assistant Etat (C) Marca JP ACCESS - SGBD Page 172 Créer et utiliser des états Travailler un état en mode création (C) Marca JP ACCESS - SGBD Page 173 Créer et utiliser des états Travailler un état en mode création (C) Marca JP o Supprimer, déplacer et modifier les contrôles o Ajouter des contrôles calculés o Aligner et mettre en forme les contrôles o Ajuster l'espacement entre les lignes o Ajuster les marges o Ajuster les sauts de page pour éviter les enregistrements orphelins ACCESS - SGBD Page 174 Formulaires et états d ’Access * Formulaires pour consulter et mettre à jour en ligne * Etats classiques de gestion * Apport des assistants (C) Marca JP ACCESS - SGBD Page 175