26/10/2015 Université Hassan II – Casablanca Ecole Supérieure de Technologie de Casablanca Définition Microsoft Access est un programme de gestion de base de données relationnelle (SGBD). Il offre un ensemble d’outils permettant de saisir, de mettre à jour, de manipuler, d’interroger et d’imprimer des données. Une base de données est un ensemble structuré d’informations. Les exemples de bases de données ne manquent pas : un carnet d’adresses, la liste des clients ou des fournisseurs d’une société, les informations Prof . EL HADDIOUI Ismail concernant ses ventes, etc. Une base de données est susceptible de contenir 6 objets : Les tables, les requêtes, les formulaires, les états, les macros et les modules Le volet de navigation, à gauche de la fenêtre de l’application Access, liste 2014-2015 les objets de la base de données par groupes (catégories). 2 1 26/10/2015 2. Requêtes 1. Tables Une table contient des données de même nature. Les tables organisent les données en colonnes (ou champs) et en lignes (ou enregistrements). Par exemple, dans une table de clients, le nom est un champ, le numéro de téléphone est un autre champ. L’enregistrement est un ensemble de valeurs concernant une entité : personne, article… Par exemple dans une table de clients, les informations d’un client appelé "Mohamed Imrani" constituent un enregistrement. 3 Une requête est la formulation de critères de sélection d’enregistrements d’une ou de plusieurs tables. On peut par exemple extraire les clients par ville, par nom, par nombre d'achats... Selon nos besoins. Access extrait de ces tables les enregistrements qui répondent aux critères et les affiche. Dans l’exemple ci-dessous, les clients parisiens sont filtrés par une requête Ville= PARIS. On note : Select * from Clients Where ville_client = "Paris" 4 2 26/10/2015 3. Formulaires Un formulaire sert à saisir, à consulter et à modifier le contenu d’une table ou de plusieurs tables liées. Le formulaire permet d’afficher les données des enregistrements, les champs étant disposés à l’écran selon vos souhaits, de créer des champs calculés, de réclamer des totaux, d’incorporer des graphiques, etc. Dans l’exemple ci-dessous, un formulaire permet de consulter et de mettre à jour une fiche Produit. 5 4. Etats On utilise un état pour imprimer une série d’enregistrements dans un format et une mise en page personnalisée. Dans un état, on peut regrouper des enregistrements sur divers critères et effectuer des calculs de regroupement sur les champs : sous-totaux, moyennes, comptage, … 6 3 26/10/2015 5. Macros Le ruban Une macro est une séquence d’actions qui peut être exécutée automatiquement, ou lancée par l’utilisateur. Une macro peut être affectée à un objet (formulaire, bouton, …) ainsi qu’à une combinaison de touches ou une commande. Les commandes sont organisées par onglet sur le Ruban. Chaque onglet contient des groupes de commandes. Le Ruban présente quatre onglets principaux. Accueil : manipuler les enregistrements, mettre en forme les caractères… Créer : créer des objets, tables, requête, formulaires… Données externes : importer ou exporter des données… 6. Modules Les modules contiennent des procédures et des fonctions écrites en code VBA (Visual Basic pour Application). Ils permettent de réaliser des applications complexes. 7 Outils de base de données : créer des relations, des macros, déplacer les données… Il existe aussi des onglets contextuels qui n’apparaissent qu’en fonction du contexte. Par exemple, lorsque vous travaillez sur un formulaire, deux onglets Mise en forme et Réorganiser s’ajoutent sous un même intitulé Outils de présentation de formulaire. 8 4 26/10/2015 Les tables Les tables Les tables sont les objets principaux sur lesquelles repose une base de données. Elles contiennent des enregistrements arrangés selon plusieurs champs. Les tables sont utilisées en deux modes : 2. Mode Feuille de données : permet de visualiser et de saisir les données à enregistrer dans une table. 1. Mode Création : utilisé pour définir ou modifier la structure d’une table. 9 10 5 26/10/2015 Types de champs Type Texte Propriétés de champs Signification Les champs texte peuvent contenir une combinaison quelconque de textes et de nombres jusqu’à concurrence de 255 caractères. Ils sont utilisés pour la plupart des champs Les champs Mémo peuvent contenir une combinaison quelconque de textes et de nombres jusqu’à concurrence de 65535 caractères Les champs numériques ne peuvent contenir que des nombres entiers ou réels. Vous les Numérique utiliserez chaque fois que les données stockées dans un champ sont utilisées dans des calculs mathématiques Les champs Date/Heure permettent de mémoriser des dates comprises entre les années 100 Date/Heure et 9999 et des données horaires codées sur 12 ou 24 heures Les données monétaires sont utilisées pour stocker des nombres réels contenant 1 à 4 Monétaire décimales Les champs NuméroAuto définissent des compteurs à incrémentation automatique souvent NuméroAuto utilisés en tant que clé primaire Les champs booléens ne peuvent accepter que les valeurs Oui/Non, Vrai/Faux ou Oui/Non Actif/inactif. Les champs Liaison OLE permettent de stocker des données issues d’une application Liaison OLE compatible OLE. Ils peuvent par exemple contenir des feuilles de calcul, des graphiques, des sons ou des vidéos Les champs Lien hypertexte peuvent contenir le chemin complet d’un fichier local ou Lien hypertexte l’adresse URL d’un fichier distant Cet assistant crée un champ dans lequel l’utilisateur peut choisir une valeur dans une liste Assistant liste de choix Prédéfinie Mémo 11 La partie inférieure de la fenêtre "TABLE" regroupe la liste des propriétés qui permettent de préciser la nature de chaque type de champ. PROPRIETE TAILLE Donne une précision sur la taille du champ selon le type de données. Suivant la taille, la mémoire de l'ordinateur lui réserve un espace en octets. Type de données Date/Heure Texte Jusqu’à 255 caractères Nombre d’octet 2 octets (de -32.768 à 32.767) 4 octets (de -2.147.483.648 à 2.147.483.647) 4 octets (de -2.147.483.648 à 2.147.483.647) 8 octets (de -9.223.372.036.854.775.808 à 9.223.372.036.854.775.807) 8 octets 2 octets/caractère Mémo Au-delà de 255 caractères 2 octets/caractère Monétaire Booléen Réel double 8 octets 1 octet Numérique Taille Entier Entier Long Réel simple Réel double 12 6 26/10/2015 Propriétés de champs Propriétés de champs PROPRIETE FORMAT PROPRIETE LEGENDE Permet de définir un format d'affichage des données, celui-ci dépend du type de champs. Type champ Numérique Monétaire Symbole Nombre général Etiquette utilisée pour référencer le champ en mode feuille de données ou dans les formulaires. C’est une option facultative, si elle n’est pas remplie, Access lui attribue comme valeur par défaut le nom du champ. Signification Le nombre est affiché tel qu’il a été entré Monétaire/standard Le nombre reçoit des séparateurs de milliers Fixe Le nombre contient au moins une décimale Pourcentage Le nombre entré est multiplié par 100, il apparaît suivit du % Scientifique Général Le nombre apparaît en notation scientifique La date et l’heure sont affichées en abrégé ex : 10/06/03 16 :48:12 Complet La date est affichée au format long lundi 10-Mars-2003 Réduit La date et l’heure sont affichés au format réduit 10-Mars-2003 Date/Heure Abrégée PROPRIETE VALEUR PAR DEFAUT La date et l’heure sont affichés au format abrégé 10/06/03 Heure complète L’heure est affichée au complet 16 :48:12 Heure Réduit L’heure est affichée au format réduit codé sur 12heures 04 :48 Heure Abrégée L’heure est affichée au format réduit codé sur 24heures 16 :48 C’est la valeur que prendra le champ lors de l’insertion d’un nouvel enregistrement. PROPRIETE VALIDE SI Condition qui limite les valeurs saisies dans le champ. Lorsqu’une donnée ne correspond pas à la condition, un message d’erreur Sera affiché. PROPRIETE MESSAGE SI ERREUR 13 Message d’erreur qui apparaît lors que la valeur saisie est non permise. 14 7 26/10/2015 Propriétés de champs Créer une liste de choix PROPRIETE NUL INTERDIT Cette propriété prend deux valeurs Oui ou Non. Si c’est le Oui qui est choisi, Access n’acceptera pas les enregistrements dont le champ contient les valeurs Nulles. PROPRIETE CHAINES VIDES AUTORISEES Valide ou interdit les chaînes vides. PROPRIETE INDEXE Défini un index sur le champ. En fait, un champ « clé primaire » identifie de façon unique chaque enregistrement de la table. Cependant, si vous devez fréquemment effectuer des tris ou des recherches sur des champs, outre les champs clés, créez un index pour ces champs afin d’accélérer le processus de tri ou de recherche. La propriété « indexé » prend trois valeurs : Oui-avec doublons : le champ est indexé et peut reprendre plusieurs fois la même valeur Oui-sans doublons : le champ est indexé, mais les valeurs du champ sont uniques Lorsque ce type de champ est utilisé, ACCESS propose, lors de la saisie, un ensemble de valeurs sous forme de liste déroulante. Les valeurs proposées dans une liste de choix peuvent être des données constantes déterminées lors de la création de la table ou des données variables issues d'une table ou d'une requête. Lorsque l'on crée un formulaire basé sur une table contenant un champ de type "Liste de choix", une zone de liste déroulante est automatiquement créée pour le champ concerné. Choisissez le type : Assistant liste de choix, puis activez l'option « Je taperai les valeurs souhaitées ». Non : le champ ne sera pas indexé. 15 16 8 26/10/2015 Définir une clé primaire Créer une liste de choix Une table doit comporter au moins un champ qui identifie de manière unique chaque enregistrement. Ce champ s'appelle la clé primaire (souvent un code ou un numéro, propre à chaque enregistrement). Lorsque l'on visualisera les enregistrements, ACCESS les affichera en les triant sur la clé primaire 17 18 9 26/10/2015 Relations entre les tables Relations entre les tables Access est un gestionnaire de base de données relationnel. Il permet de définir des relations entre les tables de la base, afin d'assurer la cohérence des données. Pour définir une relation, pointez un des champs d'une table et déplacez-le vers le champ correspondant dans l'autre table en maintenant le bouton gauche de la souris enfoncé. La boîte de dialogue « Modification des relations » s'affiche : Pour définir les relations entre les tables, lancez la commande « Relations » de l’onglet « Outils de base de données ». Puis cliquer sur « Afficher la table » pour ajouter les tables souhaitées. 19 20 10 26/10/2015 L’intégrité référentielle Type de relations Le type de relations dépend de la manière dont sont définis les champs liés : Une relation Un à Plusieurs est créée si un seul des champs liés est une clé primaire ou un index. Une relation Un à Un est créée si les deux champs liés sont des clés primaires ou des index uniques. Le modèle relationnel implique des contraintes de saisie dans les tables afin de garantir l'intégrité des données et la validité des relations entre les enregistrements. L'intégrité référentielle entre les données de plusieurs tables est le contrôle de la modification ou de la suppression des données entre une table mère et une table fille. Une relation Plusieurs à Plusieurs est composée de deux relations Un à Plusieurs, avec une troisième table, appelée une TABLE DE JONCTION, dont la clé primaire consiste en deux champs, qui sont les clés étrangères des deux autres tables. Ainsi, lorsque l'intégrité référentielle est en vigueur, l'ajout d'un enregistrement dans la table fille ne peut se faire que si un enregistrement connexe du champ matérialisant la relation existe déjà dans la table mère. Aussi la suppression d'un enregistrement de la table mère ne peut se faire que si tous les enregistrements liés de la table fille sont supprimés. 21 22 11 26/10/2015 Type de jointure Pour qu'Access puisse savoir comment lier ou joindre les informations que contiennent les tables de la relation, on peut tracer les lignes de jointure entre les tables. Une jointure indique comment les données sont associées. L'option 1 définit une jointure interne. Il s'agit de la valeur par défaut. L'option 2 définit une jointure externe gauche. L'option 3 définit une jointure externe droite. 23 12