4 - Support de Cours Access 2007

196
http://www.rahmouni.ma Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma 1 PRISE EN MAIN DE ACCESS 2007

Transcript of 4 - Support de Cours Access 2007

Page 1: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma1

PRISE EN MAIN

DE ACCESS 2007

Page 2: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma2

Contenu du support

Concepts de base sur la conception d'une base de données.......................................6 Terminologie relative aux bases de données Critères d'une base de données bien conçue Le processus de conception Déterminer les objectifs d'utilisation de la base de données Rechercher et organiser les informations requises Répartir des informations dans des tables Convertir des éléments d'information en colonnes Définir des clés primaires Créer les relations entre tables Affiner la structure Appliquer les règles de normalisation Informations complémentaires

Guide pour l'interface utilisateur Access 2007..................................................................23 Vue d'ensemble Prise en main de Microsoft Office Access Ruban Volet de navigation Documents à onglets Barre d'état Minibarre d'outils Aide

Afficher et gérer des objets à l'aide du volet de navigation........................................36 Vue d'ensemble du volet de navigation Sélectionner un affichage des catégories Afficher et trier des objets Rechercher des objets dans une base de données Créer et modifier des catégories et groupes personnalisés Ajouter des objets à un groupe personnalisé Supprimer et restaurer des raccourcis dans les groupes personnalisés Masquer des objets et des groupes Afficher des objets et des groupes

Créer une base de données.....................................................................................................45 Présentation de la page Prise en main de Microsoft Office Access Créer une base de données à l'aide d'un modèle Créer une base de données de toutes pièces Copier des données d'une source externe dans une table Access Importer, ajouter ou lier des données issues d'une source externe Ouvrir une base de données Access Créer un modèle vide personnalisé

Page 3: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma3

Créer des tables dans une base de données.....................................................................56 Définition d'une table Création d'une table Création d'une table à partir d'un modèle Importation ou création d'un lien pour créer une table Création d'une table à partir d'une liste SharePoint Ajout de champs à une table en mode Feuille de données Ajout de champs en utilisant des modèles de champ Ajout du champ d'une table existante Définition du type de données d'un champ en mode Feuille de données Enregistrement d'une table Définition de la clé primaire Définition des propriétés de champ Définition des propriétés de table

Guide pour les relations entre tables ...................................................................................79 Introduction Types de relations entre les tables Pourquoi créer des relations entre les tables ? Comprendre l'intégrité référentielle Afficher les relations entre les tables Créer une relation entre les tables Supprimer une relation entre les tables Modifier une relation entre les tables Appliquer l'intégrité référentielle

Créer une requête Sélection simple......................................................................................98 Introduction Créer une requête Ajouter des critères à la requête Ajouter des calculs à la requête Synthétiser les valeurs de la requête

Créer une requête basée sur plusieurs tables ................................................................ 105 Utiliser les données d'une table liée pour compléter les informations dans une requête Connecter les données dans deux tables en utilisant leurs relations avec une troisième

table Afficher tous les enregistrements de deux tables similaires

Créer un formulaire.................................................................................................................. 112 Créer un formulaire à l'aide de l'outil Formulaire Créer un formulaire double affichage à l'aide de l'outil Formulaire double affichage

Page 4: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma4

Créer un formulaire affichant plusieurs enregistrements à l'aide de l'outil Plusieurséléments

Créer un formulaire à l'aide de l'Assistant Formulaire Créer un formulaire à l'aide de l'outil Vide Présentation des contrôles Présentation des dispositions de contrôle Présentation des modes Page et Création Ajuster votre formulaire en mode Page Ajuster votre formulaire en mode Création Ajouter des contrôles à votre formulaire Enregistrer votre travail

Créer un formulaire contenant un sous-formulaire ..................................................... 126 Présentation des sous-formulaires Créer un formulaire contenant un sous-formulaire en utilisant l'Assistant Formulaire Créer un sous-formulaire en faisant glisser un formulaire sur un autre Créer un formulaire contenant deux sous-formulaires Créer un formulaire contenant des sous-formulaires imbriqués

Créer un état simple ................................................................................................................ 133 Choisir une source d'enregistrements Créer un état à l'aide de l'Assistant État Créer un état à l'aide de l'Assistant État Créer un état en utilisant l'outil État vide Présentation des sections d'un état Présentation des contrôles Affiner la présentation de votre état en mode Page Affiner la présentation de votre état en mode Création Ajouter des contrôles à l'état Enregistrer votre travail Afficher, ou envoyer votre état sous forme de message électronique

Créer et utiliser des sous-états ............................................................................................ 145

Comprendre les sous-états Créer un sous-état Modifier la conception d'un sous-état

Créer un état groupé ou de synthèse Masquer tout .................................................156

Principes de fonctionnement du regroupement, des sections d'un état et des contrôles Créer un état groupé à l'aide de l'Assistant État Ajuster un état Ajouter des champs ou d'autres contrôles à un état existant Spécifier ou modifier un regroupement et un tri dans un état existant Enregistrer, imprimer ou envoyer un état Notes

Page 5: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma5

Créer une macro ....................................................................................................................... 180 Qu'est-ce qu'une macro ? Comprendre les macros Nouvelles fonctionnalités de macro dans Office Access 2007 Créer une macro Exécuter une macro

Utilisation du Générateur d’expressions .......................................................................... 189

Présentation du Générateur d’expressions Démarrage du Générateur d’expressions à partir d’une table Démarrage du Générateur d’expressions à partir d’un formulaire ou d’un état Démarrage du Générateur d’expressions à partir d’une requête

Page 6: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma6

Concepts de base sur la conception d'une base de données

Une base de données conçue avec précision permet d'accéder à des informations à jour et exactes.Parce qu'une conception correcte est essentielle à la réalisation de vos objectifs et à l'utilisation de labase de données, l'investissement en temps nécessaire à l'apprentissage des concepts de création esttrès important. Vous aurez ainsi la garantie que la base de données conçue répond à vos besoins etpeut évoluer.

Cet article présente des conseils pour la planification d'une base de données. Vous apprendrez à fairele tri parmi les informations qui vous sont nécessaires, à répartir les informations entres les tables et lescolonnes et à établir un lien entre les tables. Il est conseillé de lire cet article avant de commencer àcréer votre première base de données.

Terminologie relative aux bases de données Critères d'une base de données bien conçue Le processus de conception Déterminer les objectifs d'utilisation de la base de données Rechercher et organiser les informations requises Répartir des informations dans des tables Convertir des éléments d'information en colonnes Définir des clés primaires Créer les relations entre tables Affiner la structure Appliquer les règles de normalisation Informations complémentaires

Page 7: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma7

Terminologie relative aux bases de données

Microsoft Office Access 2007 organise les informations en tables : listes de lignes et de colonnes,rappelant les livres de comptabilité ou les feuilles de calcul Microsoft Office Excel 2007. Dans une basede données simple, vous pouvez avoir une seule table. Pour la plupart des bases de données, vousaurez besoin d'utiliser plusieurs tables. Par exemple, vous pouvez utiliser une table qui stocke desinformations sur des produits et une autre table qui stocke des informations sur des commandes etune autre encore contenant des informations sur les clients.

Chaque ligne est également appelée « enregistrement » et chaque colonne est également appelée« champ ». Un enregistrement est un moyen cohérent de combiner des informations portant sur unélément précis. Un champ est un élément d'information unique qui figure dans chaqueenregistrement. Dans la table des produits, par exemple, chaque ligne ou enregistrement contient desinformations sur un produit en particulier. Chaque colonne ou champ contient un certain typed'information sur ce produit, comme son nom ou son prix.

Critères d'une base de données bien conçue

Certains principes guident le processus de création d'une base de données. Le premier principe estcelui relatif aux données dupliquées également appelées données redondantes et qui doivent êtreévitées car cela consomme de l'espace et augmente la probabilité de l'apparition d'erreurs etd'incohérences. Le deuxième principe concerne l'exactitude des informations. Si votre base de donnéescontient des informations incorrectes, les états qui utilisent ces informations contiendront égalementdes informations incorrectes. Par conséquent, toutes les décisions que vous prendrez après avoirconsulté ces états seront établies sur la base d'informations erronées.

Une base de données bien conçue est une base de données qui :

Répartit les informations dans des tables dédiées à des sujets précis afin d'éviter la redondance desdonnées.

Fournit à Access les informations nécessaires pour lier les informations dans les tables.

Page 8: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma8

Garantit l'exactitude et l'intégrité des informations. Répond à vos besoins en termes de traitement des données et de création d'états.

Le processus de conception

Le processus de conception se compose des étapes suivantes :

Déterminer les objectifs de la base de données

Cette étape vous aide à vous préparer pour les étapes restantes.

Rechercher et organiser les informations requises

Rassembler tous les types d'informations que vous souhaitez stocker dans la base de données,tels que les noms de produit et les numéros de commande.

Répartir les informations dans des tables

Répartissez vos éléments d'information en entités ou sujets principaux, tels que Produits ouCommandes. Chaque sujet devient ensuite une table.

Convertir des éléments d'information en colonnes

Choisissez les informations que vous souhaitez stocker dans chaque table. Chaque élémentd'information devient un champ et est affiché sous la forme d'une colonne dans la table. Parexemple, une table Employés peut contenir des champs du type Nom et Date d'embauche.

Définir des clés primaires

Choisissez la clé primaire de chaque table. La clé primaire est une colonne qui sert à identifierde façon unique chaque ligne par exemple, une colonne Numéro de produit ou Numéro decommande.

Définir les relations entre tables

Étudiez chaque table et déterminez de quelle façon les données d'une table sont liées auxdonnées des autres tables. Ajoutez des champs aux tables ou créez de nouvelles tables pourclarifier les relations, le cas échéant.

Affiner la structure

Analysez votre conception et recherchez les erreurs qu'elle peut contenir. Créez les tables etajoutes des enregistrements contenant des données exemple. Vérifiez si vous obtenez lesrésultats attendus des tables créées. Apportez des modifications en conséquence.

Appliquer les règles de normalisation

Appliquez les règles de normalisation des données pour vérifier si vos tables sont structuréescorrectement. Si nécessaire, apportez des modifications.

Page 9: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma9

Déterminer les objectifs d'utilisation de la base de données

Il est conseillé de noter par écrit l'objectif de la base de données : à quoi va-t-elle servir, commentsouhaitez-vous l'utiliser et qui l'utilisera. Dans le cas d'une base de données de petite taille conçuepour une utilisation domestique, vous pouvez noter quelque chose du type : la base de donnéescontient des informations relatives aux clients, lesquelles permettront de réaliser des publipostages etde créer des états. Si la base de données est plus complexe et si elle est utilisée par plusieurspersonnes, ce qui est souvent le cas dans les entreprises, l'objectif peut facilement être exprimé dansun ou plusieurs paragraphes et il doit préciser à quel moment la base de données sera utilisée etcomment chaque personne devra l'utiliser. Le but étant de fournir un exposé le plus précis possibleauquel il pourra être fait référence tout au long du processus de conception. Une fois cet exposéétabli, il vous est ensuite possible de vous concentrer sur les objectifs à atteindre lorsque vous devezprendre des décisions.

Rechercher et organiser les informations requises

Pour rechercher et organiser les informations nécessaires, commencez par les informations existantes.Par exemple, si vous conservez vos bons de commande dans un registre ou si vous conservez lesinformations client sur des formulaires papier classés dans une armoire, rassemblez ces documents etétablissez la liste de chaque type d'information (par exemple, de chaque zone à compléter dans lesformulaires). Si vous ne possédez aucun formulaire, imaginez alors que vous devez en concevoir unpour enregistrer les informations client. Quelles informations envisageriez-vous de noter sur ceformulaire ? Quelles cases souhaiterez-vous créer ? Identifiez chacun de ces éléments et établissez-enla liste. Supposez par exemple que la liste de vos clients se présente actuellement sous la forme defichez. Si vous étudiez ces fiches, vous constaterez qu'elles mentionnent toutes un nom, une adresse,une ville, un code postal et un numéro de téléphone. Chacun de ces éléments peut constituer unecolonne potentielle dans une table.

Lorsque vous préparez cette liste, ne vous préoccupez pas encore de sa perfection. Préoccupez-vousplutôt d'établir la liste de chaque élément qui vous vient à l'esprit. Si d'autres personnes doiventutiliser la base de données, suggérez-leur de vous donner des idées. Vous pourrez affiner cette listeultérieurement.

Penchez-vous ensuite sur le type d'états ou de publipostages que vous souhaitez créer à partir de labase de données. Par exemple, vous pouvez envisager de créer un état des ventes montrant les ventespar région ou un état du stock qui montre les niveaux du stock par produit. Vous pouvez égalementsouhaiter générer des lettres à envoyer aux clients pour leur annoncer un événement commercial ouune promotion. Imaginez à quoi pourrait ressembler cet état. Quelles informations doivent y figurer ?Établissez une liste contenant chaque élément. Procédez de la même façon pour les lettres et pourtout autre état que vous envisagez de créer.

Page 10: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma10

Le fait de réfléchir aux états et aux publipostages que vous souhaitez créer, vous permet d'identifier leséléments dont vous aurez besoin dans votre base de données. Supposez par exemple, que vous offrezaux clients la possibilité de recevoir ou non des mises à jour périodiques par courrier électronique etque vous souhaitez le listing des clients qui ont opté pour la réception de cette mise à jour. Pourenregistrer cette information, vous ajoutez une colonne « Envoyer courrier électronique » dans la tabledes clients. Pour chaque client, vous pouvez affecter la valeur Oui ou Non.

La nécessité d'envoyer des messages électroniques aux clients implique d'enregistrer un autre élémentd'information. Une fois que vous avez enregistré le fait qu'un client souhaite être averti par messageélectronique, vous devez vous procurer son adresse de messagerie. Par conséquent, vous devezenregistrer une adresse de messagerie pour chaque client.

Il convient de créer un prototype pour chaque état ou listing et de se pencher sur les élémentsd'information nécessaires pour les produire. Par exemple, lorsque vous réfléchissez à la lettre type,plusieurs choses vont vous venir à l'esprit. Vous souhaiterez certainement y faire figurer unesalutation — et par exemple, une chaîne du type « M. », « Mme » ou « Melle ». Vous devrez donc créerun élément de salutation. Par ailleurs, vous souhaiterez également commencer la lettre par « Cher M.Dupont » et non par « Cher M. Jean Dupont ». Cela signifie donc que vous devrez stocker le nom defamille séparément du prénom.

Il est important de noter que les informations doivent être scindées en plusieurs parties utiles. Dans lecas d'un nom, pour faire en sorte de pouvoir utiliser uniquement le nom, vous diviserez le nom endeux parties — le prénom et le nom. Afin de trier un état par nom par exemple, il est utile de stocker lenom des clients séparément. En règle générale, si vous souhaitez trier, rechercher, calculer ou créer desétats basés sur un élément d'information seulement, vous devez stocker cet élément dans un champqui lui est propre.

Établissez la liste des questions auxquelles vous souhaitez répondre en vous aidant de la base dedonnées. Par exemple, à quel montant s'élèvent les ventes de votre produit vedette en clôture le moisdernier ? Quel est le lieu d'habitation de vos meilleurs clients ? Qui est le fournisseur du produit quienregistre les meilleures ventes ? En anticipant ainsi, vous pourrez réduire le nombre d'éléments àajouter dans la base de données.

Une fois ces informations collectées, vous êtes prêt à passer à l'étape suivante.

Page 11: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma11

Répartir des informations dans des tables

Pour répartir les informations dans des tables, vous devez décider quels sont les entités et les sujetsprincipaux. Par exemple, après avoir collecté et organisé les informations pour une base de donnéesdans laquelle sont enregistrées les ventes de produits, la liste de départ pourrait ressembler à ce quisuit :

Les entités principales notées ici sont : les produits, les fournisseurs, les clients et les commandes. Il estpar conséquent logique de commencer avec quatre tables pour stocker les faits concernant lesproduits, les fournisseurs, les clients et les commandes. Bien que cela ne suffise pas à créer une listecomplète, c'est un point de départ. Vous pouvez continuer à affiner cette liste jusqu'à ce que voussoyez satisfait du modèle obtenu.

Lorsque vous consultez cette première liste, vous pouvez être tenté de placer tous les élémentsd'informations dans une seule et même table au lieu de les stocker dans quatre tables comme lemontre l'illustration précédente. Vous allez apprendre ici pourquoi cette idée est mauvaise. Penchez-vous un moment sur la table représentée ici :

Dans le cas présenté ici, chaque ligne contient des informations relatives à la fois à un produit et à sesfournisseurs. Étant donné que vous pouvez avoir plusieurs produits pour un même fournisseur, le nomet l'adresse de ce fournisseur devront être répétés plusieurs fois, ce qui utilise de l'espace disqueinutilement. En enregistrant les informations du fournisseur une seule fois dans une table distincteappelée Fournisseurs et en liant cette table à la table Produits, vous adoptez une bien meilleuresolution.

Le deuxième problème que pose votre conception est lié à la modification des informations desfournisseurs. Supposez par exemple, que vous deviez modifier l'adresse d'un fournisseur. Cette adresse

Page 12: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma12

étant répétée en plusieurs endroits, vous risquez de la modifier dans une table et d'oublier de lamodifier dans les autres. Ce problème est éliminé si vous enregistrez l'adresse dans une seule table.

Lorsque vous concevez votre base de données, essayez toujours d'enregistrer chaque fait une seulefois. Si vous constatez que vous répétez une même information dans plusieurs endroits, telle quel'adresse d'un fournisseur, placez cette information dans une table distincte.

Enfin, supposez qu'un seul produit soit fourni par Le Cru Coho et que vous souhaitiez supprimer leproduit tout en conservant le nom et l'adresse du fournisseur. Comment pourrez-vous supprimer leproduit sans perdre également les informations relatives au fournisseur ? Vous ne pourrez pas. Étantdonné que chaque enregistrement contient des faits sur un produit et des faits sur un fournisseur,vous ne pouvez pas en supprimer un sans supprimer l'autre. Pour que ces faits soient séparés, vousdevez diviser la table en deux : une table pour les informations produit et une table pour lesinformations fournisseur. La suppression d'un produit entraînera uniquement la suppression des faitsconcernant ce produit et non les faits concernant le fournisseur.

Une fois que vous avez choisi le sujet qu'une table doit représenter, les colonnes de cette table doiventalors stocker des faits concernant uniquement ce sujet. Par exemple, la table des produits doit stockerdes faits sur des produits. Étant donné que l'adresse d'un fournisseur est un fait concernant unfournisseur et non un fait concernant un produit, elle doit être stockée dans la table des fournisseurs.

Convertir des éléments d'information en colonnes

Afin de déterminer quelles colonnes doivent constituer une table, vous devez choisir les informationsque vous souhaitez suivre concernant le sujet enregistré dans la table. Par exemple, la table Clientspeut être constituée, pour commencer, des colonnes Nom, Adresse, Ville, Code postal, Envoyercourrier électronique, Salutation et Adresse de messagerie. Chaque enregistrement de la table contientle même jeu de colonnes et vous pouvez donc stocker les informations Nom, Adresse, Ville, Codepostal, Envoyer courrier électronique, Salutation et Adresse de messagerie pour chaqueenregistrement. Par exemple, la colonne Adresse contient les adresses du client. Chaqueenregistrement contient des données sur un seul client et le champ d'adresse contient l'adresse de ceclient.

Une fois que vous avez déterminé le premier jeu de colonnes pour chaque table, vous pouvez affinerdavantage les colonnes. Par exemple, cela a plus de sens de stocker le nom du client dans deuxcolonnes distinctes : Nom et Prénom, ce qui permet d'appliquer un tri, d'effectuer des recherches oud'indexer une colonne seulement. De la même façon, comme l'adresse se compose de quatre élémentsséparés (l'adresse, la ville, le code postal et le pays), il est logique de stocker ces éléments dans descolonnes distinctes. Si vous souhaitez effectuer une recherche, appliquer un filtre ou un tri par ville parexemple, vous devrez nécessairement stocker cet élément d'information dans une colonne séparée.

Vous devez également vous demander si les informations stockées dans la base de données serontuniquement locales ou également internationales. Par exemple, si vous envisagez de stocker desadresses internationales, il est préférable de créer une colonne Zone géographique plutôt qu'unecolonne Département car il vous sera ainsi possible de stocker à la fois des informations concernant lesdépartements et les régions d'autres pays.

La liste suivante présente des conseils pour vous aider à déterminer les colonnes qui constituerontvotre base de données.

Page 13: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma13

Ne pas inclure de données calculées

Dans la majorité des cas, il est conseillé de ne pas stocker le résultat de calculs dans les tables.Vous devez au contraire laisser Access effectuer ces calculs. Supposez par exemple, qu'un étatProduits en commande affiche le sous-total des unités en commande pour chaque catégorie deproduit stockée dans la base de données et qu'il n'existe cependant aucune colonne Sous-totaldes unités en commande dans aucune des tables, mais qu'il existe par contre dans la tableProduits, une colonne Unités en commande qui stocke les unités en commande pour chaqueproduit. Access utilise ces données pour calculer le sous-total demandé à chaque fois que vousimprimez cet état. Le sous-total lui-même ne doit pas être stocké dans une table.

Stocker la plus petite partie logique d'information

Vous pouvez être tenté de stocker dans un seul et même champ des noms complets depersonnes ou des noms de produits et leurs descriptions. Si vous combinez plusieurs typesd'informations dans un même champ, il sera difficile par la suite d'extraire des faitsindividuellement. Essayez donc de décomposer les informations en parties logiques et créez parexemple des champs séparés pour le nom et le prénom ou pour le nom du produit, sacatégorie et sa description.

Une fois que vous avez atteint un degré de précision suffisant pour les colonnes de données destables, vous êtes prêt à choisir la clé primaire de chaque table.

Définir des clés primaires

Chaque table contient une colonne ou un jeu de colonnes qui identifie de façon unique chaque lignestockée dans la table. Il s'agit souvent d'un numéro d'identification unique tel qu'un numérod'employé ou un numéro de série. Dans la terminologie des bases de données, cette information estappelée clé primaire de la table. Access utilise des champs de clés primaires pour associer rapidementdes données issues de plusieurs tables et pour les rassembler pour votre usage.

Page 14: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma14

Si vous utilisez déjà un identificateur unique pour une table, tel qu'un numéro de produit qui identifiede façon unique chaque produit d'un catalogue, vous pouvez l'utiliser comme clé primaire de latable — mais uniquement si les valeurs de cette colonne seront toujours différentes pour chaqueenregistrement. Une clé primaire ne peut pas contenir de valeurs en double. Par exemple, n'utilisez pasdes noms de personnes comme clé primaire car les noms ne sont pas uniques. Il est courant decompter dans la même table deux personnes portant le même nom.

Une clé primaire doit toujours contenir une valeur. Si la valeur d'une colonne risque à un momentdonné de ne plus être attribuée ou d'être inconnue (valeur manquante), elle ne pourra pas être utiliséeen tant que composant dans une clé primaire.

Il est conseillé de toujours choisir une clé primaire dont la valeur ne sera pas amenée à changer. Dansune base de données contenant plusieurs tables, la clé primaire d'une table peut être utilisée commeréférence dans les autres tables. Si la clé primaire est modifiée, la modification doit être apportée dansl'ensemble des tables dans lesquelles elle est référencée. Le fait d'utiliser une clé primaire qui ne doitpas changer, réduit le risque que cette clé primaire ne soit plus synchronisée avec les autres tablesdans lesquelles elle est référencée.

Les numéros uniques arbitraires sont souvent utilisés comme clé primaire. Vous pouvez par exemple,attribuer à chaque commande un numéro de commande unique, l'objectif unique de ce numéro decommande étant d'identifier une commande. Une fois attribué, ce numéro ne change jamais.

Si vous ne pensez à aucune colonne ou ensemble de colonnes en particulier pouvant être utilisécomme clé primaire, envisagez d'utiliser une colonne dont les données sont du type NuméroAuto.Lorsque vous utilisez le type de données NuméroAuto, Access attribue automatiquement une valeur àvotre place. Un identificateur de ce type n'est lié à aucun fait ; il ne contient aucune informationfactuelle décrivant la ligne qu'il représente. Ces identificateurs conviennent parfaitement comme cléprimaire car ils ne changent pas. Une clé primaire qui contient des faits relatifs à une ligne — unnuméro de téléphone ou un nom de client par exemple — est plus susceptible de changer, car lesinformations factuelles peuvent changer.

Une colonne dont le type de données est NuméroAuto peut souvent servir de clé primaire. Aucunnuméro de produit n'est identique.

Dans certains cas, vous pourrez souhaiter utiliser plusieurs champs pour constituer la clé primaired'une table. Par exemple, une table Détails des commandes qui stocke des articles pour descommandes pourra utiliser deux colonnes dans sa clé primaire : la colonne Numéro de commande etla colonne Numéro de produit. Lorsqu'une clé primaire se compose de plusieurs colonnes, on parle declé composite.

Page 15: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma15

Pour la base de données dans laquelle sont enregistrées les ventes de produits, vous pouvez créer unecolonne NuméroAuto pour chaque table devant être utilisée comme clé primaire : Numéro de produitpour la table Produit, Numéro de commande pour la table Commande, Numéro de client pour la tableClients et Numéro de fournisseur pour la table Fournisseurs.

Créer les relations entre tables

Maintenant que vous avez réparti vos informations dans des tables, vous devez trouver le moyen deles rassembler de façon cohérente. Le formulaire suivant inclut par exemple des informations issues deplusieurs tables.

Page 16: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma16

Les informations de ce formulaire proviennent de la table Clients......de la table Employés......de la table Commandes......de la table Produits......et de la table Détails des commandes.

Access est un système de gestion de base de données relationnelles. Dans une base de donnéesrelationnelles, les informations sont réparties dans des tables séparées, basées sur des sujets. Lesrelations entre les tables servent ensuite à rassembler les informations, selon les besoins.

Création d'une relation un-à-plusieurs

Penchez-vous sur cet exemple : les tables Fournisseurs et Produits de la base de données descommandes de produits. Un fournisseur peut fournir n'importe quel nombre de produits. Parconséquent, pour tout fournisseur représenté dans la table Fournisseurs, il peut exister plusieursproduits représentés dans la table Produits. La relation entre la table Fournisseurs et la table Produitsest donc une relation un-à-plusieurs.

Pour représenter une relation un-à-plusieurs dans votre base de données, prenez la clé primaire ducôté « un » de la relation et ajoutez-la comme colonne supplémentaire dans la table du côté« plusieurs » de la relation. Dans ce cas par exemple, vous ajouteriez la colonne Numéro de fournisseurde la table Fournisseurs dans la table Produits. Access peut ensuite utiliser le numéro d'identificationde la table Produits pour trouver le fournisseur correspondant à chaque produit.

La colonne Numéro de fournisseur dans la table Produits est appelée une clé étrangère. Une cléétrangère est la clé primaire d'une autre table. La colonne Numéro de fournisseur de la table Produitsest dite clé étrangère car elle est également la clé primaire dans la table Fournisseurs.

Page 17: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma17

Pour joindre des tables liées, vous devez établir des paires de clés primaires et de clés étrangères. Sivous ne savez pas exactement quelles tables doivent partager une colonne commune, identifiez unerelation un-à-plusieurs pour vous assurer que les deux tables concernées nécessitent en effet unecolonne partagée.

Création d'une relation plusieurs-à-plusieurs

Prenez l'exemple d'une relation entre une table Produits et une table Commandes.

Une commande peut porter sur plusieurs produits et un même produit peut figurer dans plusieurscommandes. Par conséquent, pour un enregistrement dans la table Commandes, il peut en existerplusieurs dans la table Produits et pour un enregistrement dans la table Produits, il peut en existerplusieurs dans la table Commandes. Ce type de relation est appelée une relation plusieurs-à-plusieurscar pour un produit, il peut exister plusieurs commandes et à une commande, peuvent correspondreplusieurs produits. Notez que pour déterminer la présence de relations plusieurs-à-plusieurs entre destables, il est important d'étudier les deux côtés de la relation.

Les sujets des deux tables — commandes et produits — sont liées par une relation plusieurs-à-plusieurs. Cela pose un problème. Pour comprendre ce problème, imaginez ce qu'il se passerait si voustentiez de créer une relation entre ces deux tables en ajoutant le champ Numéro de produit dans latable Commandes. Pour avoir plusieurs produits par commande, vous devez avoir plusieursenregistrements par commande dans la table Commandes. Il vous faudra alors répéter lesinformations de la commande pour chaque ligne des commandes, ce qui aboutira à des tablesinefficaces et risquera de poser des problèmes d'inexactitude des données. Le même problème seposera si vous placez le champ Numéro de commande dans la table Produits — vous aurez plusieursenregistrements dans la table Produits pour chaque produit. Comment pourrez-vous contourner ceproblème ?

La solution consiste à créer une troisième table, souvent appelée une table de jointure, qui scinde larelation plusieurs-à-plusieurs en deux relations un-à-plusieurs. Vous devez ajouter la clé primaire de

Page 18: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma18

chacune des deux tables dans la troisième table. La troisième table stocke ainsi chaque occurrence ouinstance de la relation.

Chaque enregistrement dans la table Détails de la commande représente un article d'une commande.La clé primaire de la table Détails de la commande compte deux champs — les clés étrangères destables Commandes et Produits. L'utilisation du champ Numéro de commande seul, ne convient pascomme clé primaire pour cette table, car une même commande peut compter plusieurs articles. Lenuméro de commande est répété pour chaque article d'une commande et le champ ne contient doncpas de valeurs uniques. L'utilisation du champ Numéro de produit seul ne convient pas non plus car unproduit peut figurer dans plusieurs commandes différentes. Ensemble cependant, ces deux champsproduisent toujours une valeur unique pour chaque enregistrement.

Dans la base de données dans laquelle sont enregistrées les ventes de produits, la table Commandeset la table Produits ne sont pas liées l'une à l'autre directement. Elles sont au contraire liéesindirectement par l'intermédiaire de la table Détails de la commande. La relation plusieurs-à-plusieursentre les commandes et les produits est représentée dans la base de données en utilisant deuxrelations un-à-plusieurs :

La table Commandes et la table Détails de la commande sont liées par une relation un-à-plusieurs.Chaque commande peut porter sur plusieurs articles, mais chaque article est lié à une seulecommande.

La table Produits et la table Détails de la commande sont liées par une relation un-à-plusieurs. Chaqueproduit peut être associé à plusieurs articles, mais chaque article correspondant à un seul produit.

À partir de la table Détails de la commande, vous pouvez déterminer tous les produits qui doiventfigurer sur une commande en particulier. Vous pouvez également déterminer toutes les commandesréalisées pour un produit en particulier.

Lorsque la table est intégrée à la table Détails de la commande, la liste des tables et des champs peutressembler à ce qui suit :

Page 19: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma19

Création d'une relation un-à-un

Il existe un autre type de relation, la relation un-à-un. Supposez par exemple, que vous deviezenregistrer d'autres informations complémentaires très spécifiques pour un produit et que vousutiliserez rarement ces informations ou qu'elles ne concerneront que quelques produits. Étant donnéque vous n'aurez pas souvent besoin de ces informations et que leur enregistrement dans la tableProduits impliquerait la présence d'espaces vides pour les produits auxquels elles ne s'appliquent pas,vous placerez ces informations dans une table distincte. Tout comme pour la table Produits, vousutilisez la colonne Numéro de produit comme clé primaire. La relation entre cette tablesupplémentaire et la table Produits est une relation un-à-un. Pour chaque enregistrement dans la tableProduits, il existe un seul enregistrement dans la table supplémentaire. Lorsque vous identifiez unerelation de ce type, les deux tables doivent partager un champ commun.

Lorsque vous déterminez le besoin d'établir une relation un-à-un dans votre base de données,demandez-vous si vous pouvez placer dans une même table les informations des deux tables. Vouspouvez ne pas souhaiter procéder ainsi pour une raison quelconque par exemple, parce que celacréerait trop d'espaces vides. Voici comment vous pouvez représenter cette relation :

Si les deux tables possèdent le même sujet, vous pouvez probablement établir la relation en utilisantla même clé primaire dans les deux tables.

Si les deux tables possèdent des sujets différents avec des clés primaires différentes, choisissez l'unedes tables et ajoutez sa clé primaire dans l'autre table en tant que clé étrangère.

En déterminant les relations qui existent entre des tables, vous vous assurez par là-même que vousdisposez des tables et des colonnes appropriées. Lorsqu'une relation un-à-un ou un-à-plusieurs existe,les tables impliquées doivent partager une ou plusieurs colonnes en commun. Lorsqu'une relationplusieurs-à-plusieurs existe, une troisième table est nécessaire pour représenter la relation.

Page 20: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma20

Affiner la structure

Une fois que vous avez créé les tables, les champs et les relations nécessaires, vous devez remplir vostables de données exemple pour tester leur fonctionnement : créer des requêtes, ajouter desenregistrements, etc. Ces tests permettent de mettre en évidence les éventuels problèmes — vouspourrez par exemple découvrir à cette occasion que vous devez ajouter une colonne que vous avezoubliée d'ajouter au moment de la conception ou bien que vous devez scinder une table en deux poursupprimer des doublons.

Utilisez la base de données pour vérifier si vous obtenez les réponses attendues. Créez des formulaireset des états brouillons et vérifiez s'ils contiennent les données attendues. Recherchez les doublonsinutiles et si vous en trouvez, modifiez la conception de votre base de données pour les éliminer.

Lors des essais de votre première base de données, vous découvrirez certainement des occasions pourapporter des améliorations. Voici quelques éléments à vérifier :

N'avez-vous oublié aucune colonne ? Si oui, demandez-vous si les informations appartiennent auxtables existantes ? Si ces informations concernent d'autres sujets, vous devrez peut-être créer uneautre table. Créez une colonne pour chaque élément d'information nécessaire. Si les données nepeuvent pas être calculées à partir d'autres colonnes, vous aurez très probablement besoin d'unenouvelle colonne.

Certaines colonnes ne sont-elles pas inutiles puisqu'elles peuvent être calculées à partir de champsexistants ? Si un élément d'information peut être calculé à partir d'autres colonnes existantes — uneremise calculée à partir d'un prix au détail par exemple — il est généralement préférable de le calculerau lieu de créer une nouvelle colonne.

Répétez-vous la saisie de données dans l'une de vos tables ? Si oui, vous avez probablement besoinde scinder votre table en deux tables liées par une relation un-à-plusieurs.

Possédez-vous des tables contenant plusieurs champs, un nombre limité d'enregistrements etbeaucoup de champs vides dans certains enregistrements ? Si oui, envisagez de reconcevoir la tablede façon à ce qu'elle contienne moins de champs et plus d'enregistrements.

Les éléments d'information ont-ils été divisés en petites parties logiques ? Si vous devez créer desétats, effectuer des tris, des recherches ou des calculs sur un élément d'information en particulier,placez-le dans une colonne qui lui est propre.

Chaque colonne contient-elle un fait sur le sujet de la table ? Si une colonne ne contient pasd'informations sur le sujet de la table, cela signifie qu'elle doit appartenir à une autre table.

Les relations entre les tables sont-elles bien toutes représentées soit par des champs en commun, soitpar une troisième table ? Les relations un-à-un et un-à-plusieurs impliquent l'existence de colonnescommunes. Les relations plusieurs-à-plusieurs nécessitent une troisième table.

Affinement de la table Produits

Supposez les produits de la base de données enregistrant les ventes de produits appartiennent tous àune catégorie générale du type Boissons, Condiments ou Fruits de mer. La table Produits peut inclureun champ qui indique la catégorie de chaque produit.

Supposez qu'après avoir étudié puis affiné la conception de la base de données, vous décidez destocker une description de la catégorie en plus de son nom. Si vous ajoutez un champ Description dela catégorie dans la table Produits, vous devrez répéter la description de la catégorie pour tous lesproduits qui appartiennent à cette catégorie et cette solution n'est pas idéale.

Page 21: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma21

La meilleure solution consiste à définir la catégorie comme sujet de la base de données et de lui dédiersa propre table avec sa propre clé primaire. Vous pouvez ensuite ajouter la clé primaire de la tableCatégories dans la table Produits, en tant que clé étrangère.

Les tables Catégories et Produits sont liées par une relation un-à-plusieurs : une catégorie peut inclureplusieurs produits, mais un produit peut appartenir à une seule catégorie.

Lorsque vous passez en revue la structure de vos tables, recherchez les groupes qui se répètent.Prenez l'exemple d'une table qui contient les colonnes suivantes :

Numéro de produit Nom Numéro de produit 1 Nom 1 Numéro de produit 2 Nom 2 Numéro de produit 3 Nom 3

Ici, chaque produit correspond à un groupe de colonnes qui diffère des autres uniquement par lenuméro ajouté à la fin du nom de colonne. Si vous trouvez des colonnes numérotées de cette façon,vous devez modifier la conception de votre base de données.

Une conception de ce type présente plusieurs imperfections. Tout d'abord, elle oblige à définir unelimite supérieure dans le nombre de produits. Dès que cette limite est dépassée, vous devez ajouter unnouveau groupe de colonnes à la structure de tables, ce qui représente une tâche administrativelourde.

Cette conception pose un autre problème car il y aura une perte d'espace pour les fournisseurs pourlesquels existe un nombre de produits maximal inférieur, puisque les colonnes supplémentaires serontvides. Le problème le plus important que pose cette conception est qu'il est difficile d'effectuer ungrand nombre de tâches telles que le tri ou l'indexation de la table par numéro ou non de produit.

Dès que vous constatez que des groupes sont répétés, repassez attentivement la conception en revueet envisagez de scinder la table en deux. Dans l'exemple ci-dessus, il est préférable d'utiliser deuxtables, une pour les fournisseurs et une pour les produits, liées par numéro de fournisseur.

Appliquer les règles de normalisation

Vous pouvez ensuite appliquer des règles de normalisation des données (parfois appelées simplement« règles de normalisation »). Ces règles permettent de s'assurer que la structure des tables estcorrecte. Le processus qui consiste à appliquer des règles à la conception de la base de données estappelé « normalisation de la base de données » ou simplement « normalisation ».

Il est particulièrement utile d'appliquer une normalisation après avoir représenté tous les élémentsd'informations et après avoir atteint une conception préliminaire. L'idée étant de s'assurer que vousavez réparti les éléments d'informations dans les tables appropriées. Ce que ne permet pas lanormalisation, c'est de s'assurer que vous disposez de tous les éléments d'information nécessaires.

Page 22: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma22

Les règles s'appliquent successivement, à chaque étape pour s'assurer que votre conception a bienatteint les formes connues sous le nom de « formes normales ». On reconnaît cinq formes normales.Cet article décrit les trois premières car il s'agit de celles qui sont nécessaires pour la majorité desbases de données.

Première forme normale

La première forme normale établit qu'à l'intersection entre chaque ligne et chaque colonne de la table,il existe une valeur unique et jamais une liste de valeurs. Par exemple, vous ne pouvez pas avoir unchamp appelé Tarif si vous y placez plusieurs prix. Représentez-vous chaque intersection de lignes etde colonnes comme une cellule ne pouvant contenir qu'une seule valeur.

Deuxième forme normale

La deuxième forme normale est atteinte si chaque colonne non clé est entièrement dépendante detoute la clé primaire et pas uniquement d'une partie de la clé. Cette règle s'applique lorsque la cléprimaire est composée de plusieurs colonnes. Par exemple, supposez que vous disposez d'une tablecontenant les colonnes suivantes et où les colonnes Numéro de commande et Numéro de produitforment la clé primaire :

Numéro de commande (clé primaire) Numéro de produit (clé primaire) Nom de produit

Cette conception viole la deuxième forme normale car la colonne Nom de produit est dépendante dela colonne Numéro de produit mais non de la colonne Numéro de commande et elle n'est donc pasdépendante de toute la clé primaire. Vous devez supprimer la colonne Nom de produit de la table. Elleappartient à une autre table (Produits).

Troisième forme normale

La troisième forme normale nécessite non seulement que les colonnes non clé soient dépendantes detoute la clé primaire, mais aussi qu'elles soient indépendantes les unes des autres.

Pour le formuler autrement, chaque colonne non clé doit être dépendante de la clé primaire et de riend'autre que la clé primaire. Supposez par exemple, que vous disposiez d'une table contenant lescolonnes suivantes :

Numéro de produit (clé primaire) Nom Prix de vente conseillé Remise

Considérez que la colonne Remise dépend de la colonne Prix de vente conseillé. Cette table nerespecte pas la troisième forme normale car une colonne non clé, Remise, est dépendante d'une autrecolonne non clé, la colonne Prix de vente conseillé. L'indépendance des colonnes implique que vousdevez pouvoir modifier une colonne non clé sans incidence sur les autres colonnes. Si vous modifiezune valeur dans la colonne Prix de vente conseillé, la colonne Remise se modifie en conséquence etviole ainsi cette règle. Dans ce cas, la colonne Remise doit être déplacée dans une autre table qui estindexée à la colonne Prix de vente conseillé.

Page 23: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma23

Guide pour l'interface utilisateur Access 2007

Vue d'ensemble Prise en main de Microsoft Office Access Ruban Volet de navigation Documents à onglets Barre d'état Minibarre d'outils Aide

Page 24: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma24

Vue d'ensemble

La nouvelle interface utilisateur de Office Access 2007 comprend divers éléments régissant l'interactionentre l'utilisateur et le produit. Ces nouveaux éléments ont été choisis pour faciliter l'apprentissage etl'utilisation d'Access, ainsi que l'accès aux commandes souhaitées. Grâce à cette conception revisitée,vous découvrirez peut-être des fonctionnalités qui, sans cela, auraient pu vous échapper, dissimuléessous plusieurs niveaux de barres d'outils et de menus. En outre, vous serez opérationnel plus vite grâceà la nouvelle page intitulée Prise en main de Microsoft Office Access, qui vous donne un accèsinstantané à la nouvelle prise en main, avec notamment sa suite de modèles professionnels.

L'élément le plus important de la nouvelle interface s'appelle le ruban qui fait partie de l'Interfaceutilisateur Microsoft Office Fluent. Le ruban est la bande horizontale située tout en haut de la fenêtredu programme et qui contient des groupes de commandes. Le ruban Office Fluent remplaceessentiellement les menus et les barres d'outils, et constitue l'emplacement central où sont regroupéestoutes les commandes. Sur le ruban se trouvent les onglets dans lesquels les commandes sontorganisées de façon très logique. Dans Office Access 2007, les principaux onglets du ruban sont lessuivants : Accueil, Créer, Données externes et Outils de base de données. Chaque onglet contientdes groupes de commandes connexes, qui comportent une partie des nouveaux éléments del'interface utilisateur, comme la galerie (nouveau type de contrôle qui offre une représentation visuellede la sélection effectuée).

Les principaux éléments de la nouvelle interface utilisateur dans Office Access 2007 sont les suivants :

Prise en main de Microsoft Office Access Cette page s'affiche lorsque vous démarrez Accessdepuis le menu Démarrer dans Windows ou depuis un raccourci sur le Bureau.

Le ruban Office Fluent Zone horizontale située en haut de la fenêtre du programme et qui permetde choisir les commandes.

Onglet de commandes Regroupe les commandes de façon logique.Onglet de commandes contextuel Onglet de commandes affiché en fonction du contexte,à savoir de l'objet que vous utilisez ou de la tâche que vous effectuez.Galerie Contrôle qui offre une représentation visuelle d'une sélection, afin que vous puissiezjuger du résultat.Barre d'outils Accès rapide Barre d'outils standard unique, située dans le ruban, qui permetd'accéder à l'aide d'un seul clic à la plupart des commandes requises, par exemple Enregistreret Annuler.

Volet de navigation Zone à gauche de la fenêtre qui comprend les objets de base de données. Levolet de navigation remplace la fenêtre Base de données des versions antérieures d'Access.

Documents à onglets Les tables, requêtes, formulaires, états, pages et macros sont affichées sous laforme de documents à onglets.

Barre d'état Barre située en bas de la fenêtre du programme et comportant des informations d'étatainsi que les boutons de changement de mode d'affichage.

Minibarre d'outils Élément qui s'affiche en transparence au-dessus du texte sélectionné pourfaciliter la mise en forme du texte.

Prise en main de Microsoft Office Access

La page Prise en main de Microsoft Office Access s'affiche lorsque vous démarrez Office Access2007 à partir du menu Démarrer de Windows ou d'un raccourci sur le Bureau (mais pas si vous cliquezdirectement sur une base de données). Cette page vous indique la marche à suivre pour la prise enmain de Office Access 2007.

Page 25: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma25

Par exemple, vous pouvez créer une base de données vide, créer une base de données à partir d'unmodèle ou ouvrir une base de données récente (si vous avez déjà ouvert des bases de données). Vouspouvez également accéder directement au site de Microsoft Office Online pour en savoir plus surMicrosoft Office System 2007 et Office Access 2007. Vous pouvez en outre cliquer sur le bouton

Microsoft Office et utiliser le menu pour ouvrir une base de données existante.

Ouvrir une nouvelle base de données vide

1. Démarrez Access à partir du menu Démarrer ou d'un raccourci.

La page Prise en main de Microsoft Office Access s'affiche.

2. Dans la page Prise en main de Microsoft Office Access, sous Nouvelle base de données vide,cliquez sur Base de données vide.

3. Dans le volet Base de données vide, dans la zone Nom de fichier, tapez un nom de fichier ou utilisezle nom par défaut.

4. Cliquez sur le bouton Créer.

La nouvelle base de données est créée et une nouvelle table est ouverte en mode Feuille dedonnées.

Office Access 2007 fournit plusieurs modèles intégrés. Vous pouvez en télécharger d'autres sur le siteWeb de Microsoft Office Online. Qu'est-ce qu'un modèle ? Dans Office Access 2007, il s'agit d'unebase de données prédéfinie comprenant des tables, des formulaires et des états d'aspectprofessionnel. Les modèles constituent un excellent point de départ pour créer une base de données.

Créer une nouvelle base de données à partir d'un modèle proposé

1. Démarrez Access à partir du menu Démarrer ou d'un raccourci.

Page 26: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma26

La page Prise en main de Microsoft Office Access s'affiche.

2. Dans la page Prise en main de Microsoft Office Access, sous Modèles en ligne, cliquez sur unmodèle.

3. Dans la zone Nom de fichier, tapez un nom de fichier ou utilisez le nom prédéfini.4. Vous pouvez éventuellement activer la case à cocher Crée et lie votre base de données à un site

Windows SharePoint Services si vous souhaitez vous connecter à un site Windows SharePointServices.

5. Cliquez sur le bouton Créer-ou-Cliquez sur le bouton Télécharger

Access crée la nouvelle base de données à partir du modèle avant de l'ouvrir.

Vous pouvez télécharger d'autres modèles directement sur le site Internet de Microsoft Office Online,à partir de l'interface utilisateur de Office Access 2007.

Créer une nouvelle base de données à partir d'un modèle Microsoft Office Online

1. Démarrez Access à partir du menu Démarrer ou d'un raccourci.

La page Prise en main de Microsoft Office Access s'affiche.

2. Dans la page Prise en main de Microsoft Office Access, dans le volet Catégories de modèles,cliquez sur une catégorie, puis lorsque les modèles de cette catégorie apparaissent, cliquez sur unmodèle.

3. Dans la zone Nom de fichier, tapez un nom de fichier ou utilisez le nom prédéfini.4. Cliquez sur le bouton Télécharger.

Access télécharge le modèle automatiquement, crée une nouvelle base de données en fonctionde ce modèle, le stocke dans votre dossier de documents (par exemple dans Mes documents)et ouvre la base de données.

Lorsque vous ouvrez (ou que vous créez et ouvrez) une base de données, Access ajoute le nom defichier et l'emplacement de la base de données à une liste interne des derniers documents utilisés.Cette liste s'affiche dans la page Prise en main de Microsoft Office Access pour faciliter l'ouverturedes dernières bases de données utilisées.

Ouvrir une base de données récente

1. Démarrez Access.2. Dans la page Prise en main de Microsoft Office Access, sous Ouvrir une base de données récente,

cliquez sur la base de données que vous souhaitez ouvrir.

Access ouvre la base de données.

Ouvrir une base de données à l'aide du bouton Microsoft Office Access

1. Démarrez Access.

2. Cliquez sur le bouton Microsoft Office , puis cliquez sur la base de données à ouvrir, si elles'affiche dans le volet de droite du menu.

Page 27: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma27

-ou-

Cliquez sur le bouton Microsoft Office , puis cliquez sur Ouvrir. Lorsque la boîte de dialogueOuvrir s'affiche, entrez un nom de fichier et cliquez sur Ouvrir.

La base de données s'ouvre.

Ruban

Le ruban Office Fluent est le principal outil remplaçant les menus et les barres d'outils ; il fournitl'interface de commande principale d'Office Access 2007. Un de ses avantages principaux est qu'il offreun emplacement où sont centralisés les tâches et les points d'entrée utilisés pour commanderl'affichage des menus, des barres d'outils, des volets Office et de tous les autres composants del'interface utilisateur. Cet espace unique donne ainsi accès à toutes les commandes.

Lorsque vous ouvrez une base de données, le ruban apparaît en haut de la fenêtre principale d'OfficeAccess 2007, et les commandes y sont affichées dans l'onglet de commandes actif.

Le ruban comporte une série d'onglets contenant des commandes. Dans Office Access 2007 , lesprincipaux onglets du ruban sont les suivants : Accueil, Créer, Données externes et Outils de base dedonnées. Chaque onglet contient des groupes de commandes connexes, qui comportent une partiedes nouveaux éléments de l'interface utilisateur, comme la galerie (nouveau type de contrôle qui offreune représentation visuelle de la sélection).

Les commandes du ruban dépendent de l'objet actif. Par exemple, si une table est ouverte en modeFeuille de données et si vous cliquez sur Formulaire dans l'onglet Créer sous le groupe Formulaires,Office Access 2007 crée le formulaire en fonction de la table active. En d'autres termes, le nom de latable active est entré dans la propriété Source du formulaire.

Vous pouvez utiliser des raccourcis clavier avec le ruban. Tous les raccourcis clavier provenant desversions antérieures d'Access fonctionnent avec cette nouvelle version. Le système d'accès au clavierremplace les touches d'accès rapide aux menus des versions antérieures d'Access. Ce système utilisedes petits indicateurs constitués d'une ou de plusieurs lettres qui apparaissent dans le ruban etindiquent quel raccourci clavier active le contrôle associé.

Lorsque vous avez sélectionné un onglet de commandes, vous pouvez parcourir les commandesauxquelles il donne accès.

Sélectionner un onglet de commandes

1. Démarrez Access.

Page 28: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma28

2. Cliquez sur l'onglet souhaité.

– ou –

1. Démarrez Access.2. Appuyez sur la touche ALT, puis relâchez-la.

Les touches accélératrices apparaissent.

3. Appuyez sur la ou les touches accélératrices affichées dans ou en regard de l'onglet de commandessouhaité.

Vous pouvez exécuter une commande de plusieurs façons. La méthode la plus rapide et la plus directeconsiste à utiliser le raccourci clavier associé à la commande. Si vous connaissez le raccourci clavierutilisé dans une version antérieure d'Access, sachez qu'il reste opérationnel dans Office Access 2007.

Pour plus d'informations sur des raccourcis clavier, voir Raccourcis clavier pour Access.

Exécuter une commande

1. Démarrez Access.2. Cliquez sur l'onglet contenant la commande souhaitée. Le tableau suivant illustre des exemples

représentatifs d'onglets et de commandes disponibles dans chaque onglet. Ces onglets et cescommandes varient en fonction de vos tâches.

Onglet decommandes

Actions courantes

Accueil Sélectionner un autre affichage.

Copier et coller des données depuis le Presse-papiers.

Définir les caractéristiques de police actuelles.

Définir l'alignement des polices actuel.

Appliquer une mise en forme de texte enrichi à un champ Mémo

Utiliser des enregistrements (Actualiser, Nouveau, Enregistrer, Supprimer,Totaux, Orthographe, Autres).

Trier et filtrer les enregistrements.

Trouver des enregistrements.

Créer Créer une table vide.

Créer une table à l'aide du modèle de table.

Créer une liste sur un site SharePoint et une table dans la base de donnéesactive qui établit une liaison vers la liste nouvellement créée.

Page 29: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma29

Créer une table vide en mode Création.

Créer un nouveau formulaire d'après la table ou la requête active.

Créer un nouveau tableau ou graphique croisé dynamique.

Créer un état d'après la table ou la requête active.

Créer une nouvelle requête ou macro, un nouveau module ou module de classe.

Données externes Importer ou lier aux données externes.

Exporter des données.

Rassembler et mettre à jour les données par l'intermédiaire du courrierélectronique.

Utiliser des listes SharePoint hors ligne.

Créer des importations et des exportations enregistrées.

Déplacer certaines ou toutes les sections d'une base de données vers un siteSharePoint nouveau ou existant.

Outils de base dedonnées

Lancer Visual Basic Editor ou exécuter une macro.

Créer et afficher des relations de table.

Afficher/masquer les dépendances d'objet ou la feuille des propriétés

Exécuter la documentation de base de données ou analyser les performances.

Déplacer les données vers Microsoft SQL Server ou vers une base de donnéesAccess (tables uniquement).

Exécuter le Gestionnaire d'attaches.

Gérer les compléments Access.

Créer ou modifier un module Visual Basic pour Applications (VBA).

3. Cliquez sur le contrôle représentant la commande. Sinon, si vous connaissez le raccourci claviercorrespondant à la commande dans une version antérieure d'Access, entrez-le en utilisant le clavier.

– ou –

Appuyez sur la touche ALT, puis relâchez-la.

Les touches d'accès rapide apparaissent.

Appuyez sur la ou les touches accélératrices associés à la commande souhaitée.

Page 30: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma30

Onglets de commandes contextuels

Outre les onglets de commande standard, Office Access 2007 utilise un nouvel élément de l'interfaceutilisateur dans Office Professionnel 2007 appelé onglet de commandes contextuel. En fonction ducontexte, c'est-à-dire de l'objet utilisé et de l'action en cours, un ou plusieurs de ces onglets peuvents'afficher en regard des onglets de commande standard.

Activer un onglet de commandes contextuel

Cliquez sur l'onglet de commandes contextuel.

– ou –

1. Appuyez sur la touche ALT, puis relâchez-la.

Les touches d'accès rapide apparaissent.

2. Appuyez sur la ou les touches d'accès rapide affichées dans ou en regard de l'onglet de commandescontextuel.

Les onglets de commandes contextuels contiennent des commandes et des fonctionnalités à utiliserdans un contexte spécifique. Lorsque vous ouvrez une table en mode Création, les onglets contextuelscontiennent les commandes qui s'appliquent uniquement lors de l'utilisation d'une table dans cemode. De même, lorsque vous ouvrez une table en mode Création, un onglet de commandescontextuel appelé Créer s'affiche en regard de l'onglet Outils avancés. Lorsque vous cliquez surl'onglet Créer, le ruban affiche les commandes disponibles uniquement avec l'objet en mode Création.

Galeries

La nouvelle interface utilisateur de Office Access 2007 comprend une autre nouvelle fonctionnalité, àsavoir un nouveau contrôle appelé galerie. Ce contrôle a été conçu pour fonctionner avec le ruban etpour mettre l'accent sur l'obtention des résultats souhaités. Plutôt que de se limiter à l'affichage decommandes, la galerie affiche le résultat de ces commandes. Elle offre une représentation visuelle despossibilités offertes par Office Access 2007 et des résultats qu'il est possible d'obtenir, mettant l'accentsur ces résultats plutôt que sur les commandes elles-mêmes.

Page 31: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma31

Les galeries se présentent dans des formes et des tailles variées : une disposition en grille, unereprésentation déroulante semblable à un menu et même une disposition intégrée au ruban qui insèrele contenu de la galerie du ruban.

Masquer le ruban

Vous aurez parfois besoin d'agrandir l'espace réservé à la zone de travail. Pour cela, vous pouvezréduire le ruban afin de garder uniquement visible la barre, avec les onglets de commandes. Pourfermer le ruban, double-cliquez sur l'onglet de commandes actif. Pour le rouvrir, double-cliquez surl'onglet de commandes actif.

Masquer et restaurer le ruban

1. Double-cliquez sur l'onglet de commandes actif (l'onglet actif est celui qui est en surbrillance).

2. Double-cliquez sur l'onglet de commandes actif pour restaurer le ruban.

Barre d'outils Accès rapide

La barre d'outils Accès rapide est par défaut une petite zone en regard du ruban vous permettantd'accéder aux commandes d'un seul clic. Le jeu de commandes par défaut est constitué descommandes les plus fréquemment utilisées, notamment Enregistrer, Annuler et Rétablir. Cependant,vous pouvez personnaliser la barre d'outils Accès rapide pour y inclure vos commandes favorites,modifier son emplacement et la remplacer par la grande barre d'outils (par défaut, c'est la petite barred'outils qui s'affiche). La petite barre d'outils apparaît en regard des onglets de commandes sur leruban. Si vous choisissez la grande barre d'outils, celle-ci apparaît sous le ruban et s'étend sur toute salargeur.

Personnaliser la barre d'outils Accès rapide

1. Cliquez sur la flèche déroulante à l'extrême droite de la barre d'outils.2. Cliquez sur le bouton Personnaliser la barre d'outils Accès rapide puis sur Autres commandes.3. Dans la boîte de dialogue Options Access, sélectionnez la ou les commandes que vous souhaitez

ajouter, puis cliquez sur Ajouter.4. Pour supprimer une commande, mettez-la en surbrillance dans la liste de droite puis cliquez sur

Supprimer. Vous pouvez également double-cliquer sur la commande dans la liste.5. Cliquez sur OK lorsque vous avez terminé.

Volet de navigation

Lorsque vous ouvrez une base de données ou en créez une nouvelle, les noms des objets qu'ellecomprend s'affichent dans le volet de navigation. Parmi les objets de base de données, il faut citer lestables, les formulaires, les états, les pages, les macros et les modules. Le volet de navigation remplace

Page 32: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma32

la fenêtre Base de données utilisée dans les versions antérieures d'Access ; si vous effectuiez une tâcheà l'aide de la fenêtre Base de données dans une précédente version, vous pouvez à présent recourir auvolet de navigation dans Office Access 2007. Par exemple, si vous souhaitez ajouter une ligne à unetable en mode Feuille de données, ouvrez cette table dans le volet de navigation.

Pour ouvrir un objet de base de données ou appliquer une commande à l'un d'eux, cliquez avec lebouton droit sur cet objet et sélectionnez une option de menu dans le menu contextuel. Lescommandes du menu contextuel varient en fonction du type d'objet actif.

Ouvrir un objet de base de données, tel qu'une table, un formulaire ou un état

Dans le volet de navigation, double-cliquez sur l'objet.

– ou –

Dans le volet de navigation, sélectionnez l'objet puis appuyez sur la touche ENTRÉE.

– ou –

1. Dans le volet de navigation, cliquez avec le bouton droit sur un objet.

Page 33: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma33

2. Dans le menu contextuel, cliquez sur une option de menu.

Vous pouvez définir une option de manière à ouvrir des objets à l'aide d'un simple clic dans la boîte dedialogue Options de navigation.

Le volet de navigation classe les objets de base de données en catégories, constituées de groupes.Certaines catégories sont prédéfinies, mais vous pouvez aussi créer vos propres groupes personnalisés.

Le volet de navigation apparaît par défaut lorsque vous ouvrez une base de données dans OfficeAccess 2007, y compris les bases de données créées dans des versions antérieures d'Access. Vouspouvez empêcher l'affichage par défaut du volet de navigation en définissant une option deprogramme. Les étapes suivantes expliquent comment procéder.

Pour afficher ou masquer le volet de navigation

Cliquez sur le bouton dans l'angle supérieur droit du volet de navigation ( ), ou appuyez sur latouche F11.

Empêcher l'affichage par défaut du volet de navigation

1. Cliquez sur le bouton Microsoft Office , puis sur Options Access.

La boîte de dialogue Options Access s'affiche.

2. Dans le volet gauche, cliquez sur Base de données active.3. Dans la section Navigation, désactivez la case à cocher Afficher le volet de navigation, puis cliquez

sur OK.

Pour plus d'informations sur le volet de navigation, voir l'article Guide pour le volet de navigation.

Documents à onglets

Office Access 2007 vous permet d'afficher des objets de base de données dans des documents àonglets plutôt que dans des fenêtres superposées. Dans le cadre d'une utilisation interactivequotidienne, vous préfèrerez peut-être l'interface de type documents à onglets. Vous pouvez activerou désactiver les documents à onglets en définissant les options Access (voir Afficher ou masquer lesonglets des documents, plus loin ). Cependant, si vous modifiez les paramètres des documents àonglets, vous devez fermer et rouvrir votre base de données pour garantir l'activation de ces nouveauxparamètres.

Afficher ou masquer les onglets des documents

Page 34: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma34

1. Cliquez sur le bouton Microsoft Office , puis sur Options Access.

La boîte de dialogue Options Access s'affiche.

2. Dans le volet gauche, cliquez sur Base de données active.3. Dans la section Options de l'application, sous Options de la fenêtre Document, sélectionnez

Documents à onglets.4. Activez ou désactivez la case à cocher Afficher les onglets des documents. Si vous la désactivez, les

onglets des documents sont désactivés.5. Cliquez sur OK.

REMARQUES

Le paramètre Afficher les onglets des documents est propre à chaque base de données. Vous devezle définir indépendamment pour chaque base de données.

Après avoir modifié le paramètre Afficher les onglets des documents, vous devez fermer et rouvrirvotre base de données pour que les modifications prennent effet.

Dans les nouvelles bases de données créées avec Office Access 2007, les onglets des documents sontvisibles par défaut.

Les bases de données créées dans une version antérieure d'Access utilisent les fenêtres superposéespar défaut.

Barre d'état

Dans les versions antérieures d'Access comme dans Office Access 2007, vous pouvez afficher une barred'état au bas de la fenêtre. C'est dans cet élément standard de l'interface utilisateur que s'affichent lesmessages d'état, les indicateurs de propriété et de progression, et d'autres informations. Dans OfficeAccess 2007, la barre d'état propose également deux fonctions standard présentant dans la barred'état d'autres programmes Office Professionnel 2007 : le changement d'affichage et de fenêtre ainsique le zoom.

Vous pouvez rapidement basculer de la fenêtre active à l'un des affichages disponibles à l'aide descontrôles de la barre d'état. Si vous consultez un objet qui prend en charge un zoom variable, vouspouvez ajuster le niveau de zoom avant ou arrière à l'aide du curseur de la barre d'état.

Vous pouvez activer ou désactiver la barre d'état dans la boîte de dialogue Options Access.

Afficher ou masquer la barre d'état

1. Cliquez sur le bouton Microsoft Office , puis sur Options Access.

La boîte de dialogue Options Access s'affiche.

2. Dans le volet gauche, cliquez sur Base de données active.3. Dans la section Options de l'application, activez ou désactivez la case à cocher Afficher la barre

d'état. Si vous la désactivez, la barre d'état ne sera plus visible.4. Cliquez sur OK.

Page 35: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma35

Minibarre d'outils

La mise en forme du texte est l'une des opérations les plus courantes dans un programme OfficeProfessionnel 2007. Dans les versions antérieures d'Access, elle exigeait le recours à un menu oul'affichage de la barre d'outils Mise en forme. Dans Office Access 2007, la procédure est simplifiéegrâce à la minibarre d'outils. Lorsque vous sélectionnez du texte pour le mettre en forme, la minibarres'affiche automatiquement au-dessus de ce texte. Si vous rapprochez le pointeur de la souris de laminibarre, cette dernière s'accentue et vous pouvez l'utiliser pour mettre le texte en gras ou enitalique, pour appliquer une taille ou une couleur de police, et ainsi de suite. Lorsque vous éloignez lepointeur de la minibarre, cette dernière s'estompe. Si vous ne souhaitez pas utiliser la minibarre pourmettre en forme le texte sélectionné, il vous suffit de la faire disparaître en éloignant le pointeur decelle-ci de quelques pixels.

Mettre en forme du texte à l'aide de la minibarre d'outils

1. Sélectionnez le texte à mettre en forme.

La minibarre apparaît au-dessus du texte ; elle est transparente.

2. Appliquez la mise en forme souhaitée à l'aide des commandes de la minibarre.

Obtenir de l'aide

Vous pouvez obtenir de l'aide concernant l'interface utilisateur en appuyant sur la touche F1 ou encliquant sur l'icône représentant un point d'interrogation à droite du ruban.

Page 36: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma36

Afficher et gérer des objets à l'aide du volet de navigation

Vue d'ensemble du volet de navigation Sélectionner un affichage des catégories Afficher et trier des objets Rechercher des objets dans une base de données Créer et modifier des catégories et groupes personnalisés Ajouter des objets à un groupe personnalisé Supprimer et restaurer des raccourcis dans les groupes personnalisés Masquer des objets et des groupes Afficher des objets et des groupes

Page 37: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma37

Vue d'ensemble du volet de navigation

Le volet de navigation, une nouveauté dans Microsoft Office Access 2007, est un emplacement centralà partir duquel vous pouvez, en toute facilité, afficher tous vos objets de base de données et y accéder,exécuter des états ou entrer directement des données dans des tables. Le volet de navigationremplace la fenêtre Base de données qui était utilisée dans les versions précédentes d’Access. Lorsquevous ouvrez une base de données dans Office Access 2007, le volet de navigation s’affiche à gauchedes objets de base de données ouverts ou de l’espace de travail.

Vous pouvez personnaliser l'affichage du volet de navigation de l'une des manières suivantes :

Pour Procédez comme suit

Modifier la largeur duvolet de navigation

Placez le pointeur au-dessus du bord droit du volet de navigation, puis, lorsqu'ilse transforme en flèche bidirectionnelle, faites glisser le bord afin d'augmenterou de réduire la largeur.

Développer ou réduirele volet de navigation Cliquez sur le bouton Ouvrir/Fermer la barre de redimensionnement

ou appuyez sur la touche F11 pour faire basculer le volet entre les modesouvert et fermé.

Page 38: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma38

Dans le volet de navigation, tous les objets définis dans la base de données apparaissent en tant quecatégories. Sur l'illustration précédente, la catégorie est Tous les objets Access et Tables, Requêtes,Formulaires et États correspondent aux groupes. Chaque catégorie s'organise en groupes qui sontreprésentés sous la forme de barres. Les noms de groupe changent selon l'affichage des catégories quiest sélectionné et un groupe peut contenir un ou plusieurs objets de base de données.

Sélectionner un affichage des catégories

Lorsque vous créez une nouvelle base de données dans Office Access 2007, le nom de la catégorie quis'affiche dans le volet de navigation est Toutes les tables. Access 2007 crée également une catégorienommée Personnalisé que vous pouvez utiliser pour créer un affichage personnalisé de vos objets. Enoutre, Access 2007 propose trois autres affichages des catégories prédéfinis que vous pouvezsélectionner, selon la manière dont vous souhaitez afficher les objets :

Catégorie Description

Tables etaffichagesconnexes

Affichez la manière dont les tables sont associées aux autres objets dans la basede données.

Type d'objet Affichez tous les objets contenus dans la base de données, triés selon leur type.

Date de création

et

Date demodification

Identifiez les objets créés ou modifiés à une date spécifique ou dans une plage dedates. Vous pouvez appliquer les filtres Aujourd'hui ou Toutes les dates. Cescatégories affichent les objets dans l'ordre décroissant de leur date de création oude dernière modification.

Dans l'exemple de base de données Northwind 2007 installé avec Office Access 2007, si vous affichezla catégorie Toutes les tables, vous pouvez voir comment divers objets sont liés à une table. Dans cetaffichage, au sein de chaque groupe, la table est toujours répertoriée en premier, puis suivie de tousles objets qui dépendant des données qu'elle contient. Dans l'illustration suivante, le groupe Employésaffiche la table Employés, puis les objets liés à cette table Employés et il en va de même pour lesgroupes Expéditeurs et Clients.

Page 39: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma39

Chaque fois que vous sélectionnez une catégorie prédéfinie, Access inclut un groupe global quicontient tous les objets contenus dans la base de données. Vous pouvez facilement localiser le groupeglobal d'une catégorie en recherchant le mot Tous ou Toutes devant son nom. Par exemple, si voussélectionnez la catégorie Tables et affichages connexes, le groupe global s'appelle Toutes les tables.

Afficher et trier des objets

Vous pouvez sélectionner la manière dont les objets contenus dans la base de données s'affichentdans le volet de navigation. Par exemple, vous pouvez inclure les dates de création ou de modification,ou afficher les objets sous la forme d'icônes ou de listes. Par défaut, Access trie les objets figurant dansle volet de navigation par type dans l'ordre alphabétique, mais vous pouvez également modifier ce triselon vos besoins. Pour spécifier le mode d'affichage et de tri des objets, procédez comme suit :

Cliquez avec le bouton droit dans la partie supérieure du volet de navigation pour afficher un menucontextuel, puis procédez de l'une des manières suivantes :

Pour modifier la manière d'afficher les objets, pointez sur Afficher par, puis cliquez surDétails, Icône ou Liste.Pour afficher tous les groupes de la base de données, cliquez sur Afficher tous les groupes.Pour modifier l'ordre de tri des objets, pointez sur Ordre de tri, puis sélectionnez une optionde tri.Pour effectuer un tri manuel et personnaliser l'ordre de l'affichage, cliquez sur Ordre de tri,puis sur Supprimer les tris automatiques.

Rechercher des objets dans une base de données

Lorsque vous tapez du texte dans la zone Rechercher, Office Access 2007 recherche, au sein de lacatégorie, tous les groupes qui contiennent un objet ou raccourci d'objet qui correspond aux motsrecherchés. Tous les groupes qui ne correspondent pas sont réduits.

Page 40: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma40

REMARQUE Access recherche des objets uniquement dans les catégories et les groupesactuellement affichés dans le volet de navigation.

CONSEIL Pour rechercher un objet spécifique dans toute la base de données, sélectionnez l'une descatégories prédéfinies dans le volet de navigation, par exemple Tables et affichages connexes ouType d'objet. Vous veillez ainsi à ce que tous les groupes soient visibles dans le volet de navigation.

Utiliser la zone Rechercher pour rechercher des objets ou des raccourcis de la base de données

1. Si la zone Rechercher n'est pas déjà visible en haut du volet de navigation, cliquez avec le boutondroit sur la barre de menu située en haut du volet de navigation, puis cliquez sur Volet de recherche.

2. Tapez soit une partie, soit la totalité du nom de l'objet ou du raccourci dans la zone Volet derecherche.

Lorsque vous tapez des caractères, Access analyse et élimine tous les titres de groupe qui necorrespondent pas.

3. Pour effectuer une autre recherche, cliquez sur Effacer la chaîne de recherche ou appuyez sur latouche RETOUR ARRIÈRE pour supprimer des caractères, puis tapez le nouveau texte à rechercher.

REMARQUE Lorsque vous effacez le contenu de la zone Volet de recherche, le volet denavigation affiche de nouveau tous les objets disponibles.

Créer et modifier des catégories et groupes personnalisés

Lorsque vous créez une base de données sans utiliser de modèle, Office Access 2007 créeautomatiquement une catégorie Personnalisé qui affiche un seul groupe contenant tous les objetsdéfinis dans la base de données. Vous pouvez renommer la catégorie Personnalisé, y ajouter d'autresgroupes personnalisés et attribuer des objets à ces groupes. L'option de tri par défaut des groupes estToutes les tables.

Lorsque vous affichez des catégories et des groupes personnalisés à partir du volet de navigation, cesont toujours les raccourcis vers les objets qui apparaissent. Vous pouvez identifier les raccourcis par lapetite flèche située dans l'angle inférieur gauche de l'icône des objets.

Lorsque vous ouvrez un raccourci, vous ouvrez l'objet vers lequel il pointe. Cependant, si voussupprimez un raccourci, Office Access 2007 ne supprime pas l'objet vers lequel il pointe dans la base

Page 41: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma41

de données. Vous pouvez également masquer et renommer des raccourcis sans modifier les donnéesvers lesquelles il pointe dans la base de données.

Une manière de personnaliser les objets contenus dans une base de données consiste à créer descatégories personnalisées. Par exemple, vous pouvez créer une catégorie personnalisée lorsque vousvoulez créer un formulaire avec des types spécifiques de boutons ou des liens que vous utiliserez pourparcourir la base de données. Lorsque vous créez une catégorie personnalisée, elle s'appliqueuniquement à la base de données actuelle. Vous ne pouvez pas transférer des catégories et desgroupes personnalisés à d'autres bases de données. Pour créer une catégorie personnalisée, soit vousrenommez la catégorie Personnalisé par défaut qu'Access fournit, soit vous créez une nouvellecatégorie personnalisée. La limitation du nombre de catégories et de groupes personnalisés dans votrebase de données permet de faciliter la localisation des données.

REMARQUE Bien que vous puissiez supprimer des objets dans une catégorie personnalisée ou ungroupe personnalisé, vous ne pouvez pas en supprimer d'une catégorie prédéfinie ou d'un groupeprédéfini.

Utilisez la boîte de dialogue Options de navigation pour créer et gérer les catégories et groupespersonnalisés. Celle-ci présente la liste de toutes les catégories qui ont été définies dans la base dedonnées ainsi que les groupes d'une catégorie sélectionnée.

Créer une catégorie personnalisée

Lorsque vous créez une catégorie personnalisée, des groupes nommés Objets non attribués etGroupe personnalisé 1 sont créés pour cette catégorie. Par défaut, Office Access 2007 ne place aucunobjet dans le groupe Groupe personnalisé 1. Tous les objets d'une catégorie qui ne sont attribués àaucun groupe sont plutôt affichés dans le groupe Objets non attribués dans le volet de navigation.

1. Pour créer une catégorie, cliquez avec le bouton droit sur le menu situé en haut du volet denavigation, puis cliquez sur Options de navigation.

2. Sous Catégories, cliquez sur Ajouter un élément.

Une nouvelle catégorie apparaît sous Catégories dans la boîte de dialogue Options denavigation.

3. Tapez un nom pour la nouvelle catégorie et appuyez ensuite sur ENTRÉE.

Renommer une catégorie personnalisée

Si vous n'utilisez pas une catégorie personnalisée déjà disponible, vous pouvez la renommer, plutôtque d'en ajouter une nouvelle.

1. Pour renommer une catégorie personnalisée, cliquez avec le bouton droit sur le menu situé en haut duvolet de navigation, puis cliquez sur Options de navigation.

2. Sous Catégories, cliquez sur Personnalisé, puis sur Renommer l'élément.3. Tapez un nouveau nom pour la catégorie et appuyez ensuite sur ENTRÉE.

Une fois que vous avez créé ou renommé une catégorie personnalisée, vous devez y créer des groupespersonnalisés.

Page 42: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma42

Access crée automatiquement un groupe Groupe personnalisé 1 et un groupe Objets non attribuéssous chaque nouvelle catégorie. Les objets qui ne sont pas attribués à des groupes sontautomatiquement placés dans le groupe Objets non attribués. Vous pouvez soit créer un groupepersonnalisé, soit renommer le groupe Groupe personnalisé 1 selon vos besoins.

Créer un groupe personnalisé

1. Pour créer un groupe personnalisé, cliquez avec le bouton droit sur le menu situé en haut du volet denavigation, puis cliquez sur Options de navigation.

2. Sous Groupes pour nom de la catégorie, cliquez sur Ajouter un groupe.3. Tapez un nom pour le nouveau groupe et appuyez ensuite sur ENTRÉE.

Renommer un groupe personnalisé

1. Pour renommer un groupe personnalisé, cliquez avec le bouton droit sur le menu situé en haut duvolet de navigation, puis cliquez sur Options de navigation.

2. Sous Groupes pour nom de la catégorie, cliquez sur le groupe personnalisé, puis cliquez surRenommer le groupe.

3. Tapez un nouveau nom pour le groupe et appuyez ensuite sur ENTRÉE.

Après avoir créé un groupe personnalisé dans une catégorie personnalisée, vous ajoutez ou déplacezdes objets, tels que des tables, dans ce groupe.

Ajouter des objets à un groupe personnalisé

Vous pouvez ajouter des objets à un groupe personnalisé de plusieurs manières différentes,notamment en faisant glisser un objet pour créer un raccourci, en effectuant un copier-coller et enimportant des objets à partir de sources externes. Toutefois, si vous choisissez de couper un objet dansun groupe, sachez que cela risque de provoquer des problèmes. Il n'est en effet pas recommandé decouper un objet car une base de données est un ensemble de composants qui fonctionnent demanière interactive, et si vous supprimez un objet de cet ensemble de composants, vous risquez decompromettre une partie ou la totalité des fonctionnalités de la base de données.

Pour ajouter ou déplacer des objets de la base de données dans un groupe personnalisé, cliquez sur laflèche vers le bas située en haut du volet de navigation, puis cliquez sur le groupe personnalisé quevous avez créé.

Sous Objets non attribués, cliquez avec le bouton droit sur l'objet à ajouter ou déplacer. Cliquez sur Ajouter à un groupe dans le menu contextuel, puis cliquez sur le groupe personnalisé

auquel vous souhaitez ajouter l'objet.

Copier et coller des objets

Dans le volet de navigation, cliquez avec le bouton droit sur l'objet à copier, puis cliquez sur Copier. Cliquez avec le bouton droit sur le groupe situé dans le volet de navigation, dans lequel vous

souhaitez coller l'objet, puis cliquez sur Coller. Vous pouvez également coller l'objet dans le volet denavigation d'une autre base de données ouverte dans Office Access 2007.

L'importation de tables provenant d'autres bases de données ou de données provenant d'autresprogrammes (tels que des fichiers texte et des classeurs Microsoft Office Excel) constitue un autre

Page 43: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma43

moyen d'ajouter des objets à votre base de données. Pour plus d'informations sur la manièred'importer des données externes, consultez les liens dans la section Voir aussi de cet article.

Supprimer et restaurer des raccourcis dans les groupes personnalisés

Lorsque vous affichez des objets personnalisés dans le volet de navigation, il s'agit en fait de raccourcisvers ces objets. Une icône d'objet qui contient une petite flèche dans son angle inférieur gauchereprésente un raccourci ou pointeur vers l'objet réel.

Si vous supprimez un raccourci du volet de navigation, vous ne supprimez que le pointeur vers cetobjet et non l'objet en lui-même de la base de données. Lorsque le raccourci d'un objet est suppriméd'un groupe personnalisé dans le volet de navigation, la référence à l'objet est supprimée du groupepersonnalisé et l'objet apparaît dans le groupe Objets non attribués du volet de navigation.

Pour supprimer un raccourci, cliquez avec le bouton droit sur l'objet dans le volet de navigation, puiscliquez sur Supprimer.

Pour rétablir le raccourci de l'objet, faites glisser l'objet depuis le groupe Objets non attribués duvolet de navigation vers le groupe personnalisé.

IMPORTANT Bien qu'il soit possible de supprimer (c'est-à-dire enlever définitivement) des groupesprédéfinis et personnalisés, il n'est pas recommandé de le faire car cela peut engendrer des problèmesdans la base de données. Une base de données est un ensemble de composants qui fonctionnent defaçon interactive, et si vous supprimez un objet dans cet ensemble de composants, vous risquez decompromettre une partie ou la totalité des fonctionnalités de la base de données.

Masquer des objets et des groupes

Il peut s'avérer préférable de masquer un objet ou un groupe, plutôt que de le supprimer, lorsquevous ne l'utilisez pas ou lorsque vous souhaitez en restreindre l'accès. En effet, le fait de masquer unobjet n'altère pas la base de données, tandis que la suppression d'un objet ou d'un groupe (même s'ilsemble être un double) peut compromettre une partie ou la totalité de la base de données.

Pour masquer un objet ou un groupe dans le volet de navigation, procédez de l'une des manièressuivantes :

Pour masquer un objet, cliquez dessus avec le bouton droit, puis cliquez sur Masquer dans cegroupe.

Pour masquer un groupe entier, cliquez dessus avec le bouton droit, puis cliquez sur Masquer.

Page 44: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma44

Pour masquer un objet ou un groupe grisé dans le volet de navigation, procédez comme suit :

1. Cliquez avec le bouton droit sur le menu situé en haut du volet de navigation, puis cliquez surOptions de navigation.

2. Dans la boîte de dialogue Options de navigation, désactivez la case à cocher Afficher les objetsmasqués, puis cliquez sur OK.

Afficher des objets et des groupes

Pour afficher des objets ou groupes masqués sans permettre d'y accéder, procédez comme suit :

Cliquez avec le bouton droit sur le menu situé en haut du volet de navigation, puis cliquez surOptions de navigation.

Dans la boîte de dialogue Options de navigation, activez la case à cocher Afficher les objetsmasqués, puis cliquez sur OK.

Si les objets et groupes masqués sont grisés dans le volet de navigation, ils ne sont pas activés. Pourrendre ces objets ou groupes grisés disponibles à partir du volet de navigation, procédez comme suit :

Pour activer un objet, cliquez dessus avec le bouton droit, puis cliquez sur Afficher dans ce groupe. Pour afficher un groupe, cliquez dessus avec le bouton droit, puis cliquez sur Afficher.

Page 45: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma45

Créer une base de données

Microsoft Office Access 2007 intègre plusieurs améliorations visant à simplifier le processus decréation d'une base de données. Même si vous avez déjà créé une base de données, vous apprécierezcertainement ces fonctionnalités car elles accélèrent le processus de création.

Cet article décrit le processus de base permettant de démarrer Office Access 2007 et de créer une basede données, que ce soit en utilisant un modèle ou en créant une table, un formulaire, un état ou unautre objet de base de données. Elle explique également plusieurs méthodes permettant d'intégrerdes informations dans votre nouvelle base de données.

Présentation de la page Prise en main de Microsoft Office Access Créer une base de données à l'aide d'un modèle Créer une base de données de toutes pièces Copier des données d'une source externe dans une table Access Importer, ajouter ou lier des données issues d'une source externe Ouvrir une base de données Access Créer un modèle vide personnalisé

Page 46: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma46

Présentation de la page Prise en main de Microsoft Office Access

La page Prise en main de Microsoft Office Access s'affiche lors du démarrage initial d'Access oulorsque vous fermez une base de données sans fermer Access.

Cette page constitue le point de départ permettant de créer ou d'ouvrir une base de données, ainsique de consulter le contenu proposé sur Microsoft Office Online.

Créer une base de données à l'aide d'un modèle

Access intègre de nombreux modèles différents qui accélèrent le processus de création d'une base dedonnées. Un modèle est une base de données prête à l'emploi qui contient l'ensemble des tables,requêtes, formulaires et états nécessaires à l'exécution d'une tâche spécifique. Par exemple, vouspouvez utiliser des modèles pour assurer le suivi de problèmes, gérer des contacts ou suivre lesdépenses. Certains modèles contiennent des exemples d'enregistrements afin d'en indiquer l'utilisationpratique. Les modèles de base de données peuvent être utilisés tels quels, mais vous pouvezégalement les personnaliser selon vos préférences.

Si vous trouvez un modèle qui répond à vos besoins, il est vivement recommandé de l'utiliser. En effet,dans la plupart des cas, il s'agit de la méthode la plus rapide pour créer une base de données.Toutefois, si un autre programme contient des données que vous souhaitez importer dans Access, ilpeut s'avérer plus judicieux de créer une base de données sans utiliser de modèle. En effet, dans unmodèle, la structure de données est prédéfinie et l'adaptation de vos données à cette structure risquede prendre un certain temps.

1. Si une base de données est ouverte, cliquez sur le bouton Microsoft Office , puis cliquez sur

Fermer la base de données pour afficher la page Prise en main de Microsoft Office Access.2. Plusieurs modèles proposés s'affichent au centre de la page Prise en main de Microsoft Office

Access. Pour en afficher d'autres, cliquez sur les liens du volet Catégories de modèles. Vous pouvezégalement télécharger des modèles sur le site Web d'Office Online. Pour plus d'informations, voir lasection suivante de cet article.

3. Cliquez sur le modèle à utiliser.

Page 47: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma47

4. Un nom de fichier pour la base de données est proposé par Access dans la zone Nom de fichier. Vouspouvez modifier ce nom, le cas échéant. Pour enregistrer la base de données dans un autre dossier

que celui affiché sous la zone Nom de fichier, cliquez sur , recherchez le dossier dans lequel voussouhaitez l'enregistrer, puis cliquez sur OK. Vous pouvez éventuellement lier la base de données à unsite Windows SharePoint Services 3.0.

5. Cliquez sur Créer (ou sur Télécharger, dans le cas d'un modèle Office Online).

Une fois créée ou téléchargée, la base de données s'ouvre. Un formulaire s'affiche pour vouspermettre d'entrer des données. Si le modèle contient des exemples de données, vous pouvezsupprimer chaque enregistrement en cliquant sur le sélecteur correspondant (la barre ou lazone ombrée située directement à gauche de l'enregistrement), puis en effectuant lesopérations suivantes :

Sous l'onglet Accueil, dans le groupe Enregistrements, cliquez sur Supprimer.

6. Pour entrer des données, cliquez sur la première cellule vide du formulaire, puis tapez les données.Utilisez le volet de navigation pour rechercher d'autres formulaires ou états à utiliser.

Télécharger un modèle à partir de Office Online

Si vous ne trouvez pas de modèle répondant à vos besoins sur la page Prise en main de MicrosoftOffice Access et que vous êtes connecté à Internet, explorez le site Web de Microsoft Office Onlinepour obtenir un choix plus diversifié.

1. Sur la page Prise en main de Microsoft Office Access, sous Informations supplémentaires surOffice Online, cliquez sur Modèles.

La page d'accueil des modèles d'Office Online s'affiche dans une fenêtre de navigateur.

2. À l'aide des outils de navigation et de recherche sur Office Online, recherchez le modèle Access quevous aimeriez utiliser, puis suivez les instructions affichées pour le télécharger. Lorsque voustéléchargez un modèle, un fichier de base de données est téléchargé vers votre ordinateur, puis ouvertdans une nouvelle instance d'Access. Dans la plupart des cas, un formulaire de saisie de donnéess'affiche pour vous permettre d'entrer directement des données.

Créer une base de données sans utiliser de modèle

Si vous ne souhaitez pas utiliser de modèle, vous pouvez créer une base de données en créant destables, des formulaires, des états et d'autres objets de base de données. Dans la plupart des cas, ceprocessus implique l'une et/ou l'autre des opérations suivantes :

Entrée, collage ou importation de données dans la table créée lorsque vous créez une base dedonnées, puis répétition du processus pour les tables créées à l'aide de la commande Table del'onglet Créer.

Importation de données à partir d'autres sources et création de tables au cours du processus.

Pour plus d'informations sur la planification et la conception d'une base de données, ainsi que sur lacréation de relations, de formulaires, d'états ou de requêtes, suivez les liens figurant dans la sectionVoir aussi de cet article.

Créer une base de données vide

Page 48: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma48

1. Sur la page Prise en main de Microsoft Office Access, sous Nouvelle base de données vide, cliquezsur Base de données vide.

2. Dans le volet Base de données vide, tapez un nom de fichier dans la zone Nom de fichier. Si vousn'indiquez pas d'extension de fichier, Access l'ajoute pour vous. Pour modifier l'emplacement du

fichier, cliquez sur Cherchez un emplacement pour votre base de données (en regard de lazone Nom de fichier), recherchez le nouvel emplacement, puis cliquez sur OK.

3. Cliquez sur Créer.

Accès crée la base de données avec la table vide nommée Table1, ouverte en mode Feuille dedonnées. Le curseur est placé dans la première cellule vide de la colonne Ajouter un nouveauchamp.

4. Entrez des données ou collez-en à partir d'une source externe, comme décrit dans la section Copierdes données d'une source externe dans une table Access.

La saisie de données en mode Feuille de données s'apparente à l'utilisation d'une feuille de calculMicrosoft Office Excel 2007. La structure de la table est créée au fur et à mesure que vous entrez desdonnées. Par exemple, lorsque vous ajoutez une colonne à la table, un nouveau champ est défini. Letype de données de chaque champ est défini en fonction des données entrées.

Si vous ne souhaitez pas entrer de données dans la table Table1 pour l'instant, cliquez sur Fermer .Si vous avez modifié la table, Access vous demande alors si vous souhaitez enregistrer lesmodifications apportées. Cliquez sur Oui pour enregistrer les modifications, sur Non pour les annulerou sur Annuler pour laisser la table ouverte.

IMPORTANT Si vous fermez la table Table1 sans l'avoir enregistrée au moins une fois, Accesssupprime toute la table, même si vous y avez entré des données.

Ajouter une table

Vous pouvez ajouter des tables à une base de données à l'aide des commandes du groupe Tables del'onglet Créer.

Créer une table en mode Feuille de données Le mode Feuille de données permet d'entrerdirectement des données. La structure de la table est alors créée en tâche de fond. Les noms deschamps sont attribués dans l'ordre numérique (Champ1, Champ2, etc.) et le type de données dechaque champ est automatiquement défini en fonction des données entrées.

Page 49: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma49

1. Sous l'onglet Créer, dans le groupe Tables, cliquez sur Table.

La table est créée et la première cellule vide de la colonne Ajouter un nouveau champ estsélectionnée.

REMARQUE Si la colonne Ajouter un nouveau champ ne s'affiche pas, vous êtes peut-êtreen mode Création au lieu du mode Feuille de données. Pour basculer en mode Feuille dedonnées, double-cliquez sur la table dans le volet de navigation. Access vous demande alorsd'enregistrer la nouvelle table, puis active le mode Feuille de données.

2. Sous l'onglet Feuille de données, dans le groupe Champs et colonnes, cliquez sur Nouveau champ.

Le volet Modèles de champ s'affiche. Il contient la liste des types de champ les plus courants.Si vous double-cliquez sur l'un de ces champs ou que vous le faites glisser dans la feuille dedonnées, Access ajoute un champ portant ce nom et définit des valeurs de propriétés adaptéesau type de champ. Si nécessaire, vous pouvez modifier ultérieurement les propriétés. Vousdevez faire glisser le champ dans une zone de la feuille de données qui contient des données ;une barre d'insertion verticale s'affiche pour indiquer l'emplacement du champ.

3. Pour ajouter des données, entrez-les dans la première cellule vide ou collez-en à partir d'une sourceexterne, comme décrit dans la section Copier des données d'une source externe dans une tableAccess.

4. Pour renommer une colonne (champ), double-cliquez sur l'en-tête correspondant, puis tapez lenouveau nom.

Il est recommandé d'attribuer un nom significatif à chaque champ afin de pouvoir endéterminer le contenu lorsqu'il s'affiche dans le volet Liste de champs.

5. Pour déplacer une colonne, cliquez sur l'en-tête correspondant pour sélectionner la colonne, puisfaites-la glisser vers l'emplacement de votre choix.

Il est également possible de sélectionner plusieurs colonnes adjacentes pour les faire glisservers un nouvel emplacement. Pour cela, cliquez sur l'en-tête de la première colonne, puis, touten maintenant la touche Maj enfoncée, cliquez sur l'en-tête de la dernière colonne.

Créer une table en mode Création Le mode Création permet de commencer par créer la structurede la nouvelle table. Vous pouvez ensuite entrer des données en mode Feuille de données ou à l'aided'une autre méthode (collage, importation, etc.).

1. Sous l'onglet Créer, dans le groupe Tables, cliquez sur Création de table.

2. Pour chaque champ de la table, tapez un nom dans la colonne Nom de champ, puis sélectionnez untype de données dans la liste Type de données.

REMARQUE Si les colonnes Nom de champ et Type de données ne s'affichent pas, vousêtes peut-être en mode Feuille de données au lieu du mode Création. Pour activer le modeCréation, cliquez avec le bouton droit sur la table dans le volet de navigation, puis cliquez surMode Création. Access vous demande alors d'attribuer un nom à la nouvelle table, puis active

Page 50: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma50

le mode Création . Access vous demande alors d'attribuer un nom à la nouvelle table, puisactive le mode Création.

3. Si vous le souhaitez, vous pouvez taper la description d'un champ dans la colonne Description. Cettedescription s'affiche dans la barre d'état lorsque le curseur est situé dans ce champ en mode Feuille dedonnées. La description fait également office de texte de la barre d'état pour les contrôles d'unformulaire ou d'un état créés en faisant glisser le champ à partir du volet Liste de champs ou pour lescontrôles créés pour ce champ à l'aide de l'Assistant Formulaire ou État.

4. Après avoir ajouté tous les champs, enregistrez la table :

Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez surCtrl+S.

5. Pour taper des données dans la table, activez le mode Feuille de données, puis cliquez sur la premièrecellule vide. Vous pouvez également coller des données issues d'une source externe, comme décritdans la section Copier des données d'une source externe dans une table Access.

Créer une table à l'aide d'un modèle Access intègre des modèles correspondant à des types detables courants. D'un simple clic de souris, vous pouvez créer une structure de table complètecontenant des champs déjà configurés. Si nécessaire, vous pouvez alors ajouter ou supprimer deschamps afin de personnaliser la table en fonction de vos besoins.

1. Sous l'onglet Créer, dans le groupe Tables, cliquez sur Modèles de tables, puis sélectionnez l'un desmodèles disponibles dans la liste.

2. Pour ajouter des données, entrez-les dans la première cellule vide ou collez-en à partir d'une sourceexterne, comme décrit dans la section Copier des données d'une source externe dans une tableAccess.

Pour supprimer une colonne

Cliquez avec le bouton droit sur l'en-tête de colonne, puis cliquez sur Supprimer la

colonne .

Pour ajouter une colonne

Sous l'onglet Feuille de données, dans le groupe Champs et colonnes, cliquez sur

Nouveau champ.

Le volet Modèles de champ s'affiche. Il contient la liste des types de champ les pluscourants. Si vous double-cliquez sur l'un de ces champs ou que vous le faites glisser dansla feuille de données, Access ajoute un champ portant ce nom et définit des valeurs depropriétés adaptées au type de champ. Si nécessaire, vous pouvez modifier ultérieurementles propriétés. Vous devez faire glisser le champ dans une zone de la feuille de donnéesqui contient des données ; une barre d'insertion verticale s'affiche pour indiquerl'emplacement du champ.

3. Enregistrez la table :

Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez surCtrl+S.

Page 51: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma51

Définir les propriétés des champs en mode Création Indépendamment du mode de création de latable, il peut être utile de consulter et de définir les propriétés des champs. Pour cela, vous devezutiliser le mode Création. Pour l'activer, cliquez avec le bouton droit sur la table dans le volet denavigation, puis cliquez sur Mode Création. Pour afficher les propriétés d'un champ, cliquez sur lechamp dans la grille de création. Les propriétés s'affichent sous la grille de création, sous Propriétésdu champ.

Pour consulter la description d'une propriété de champ, cliquez sur la propriété et lisez la descriptionaffichée dans la zone située en regard de la liste de propriétés sous Propriétés du champ. Pourobtenir des informations plus détaillées, appuyez sur F1.

Le tableau ci-dessous décrit les propriétés de champ les plus courantes.

Propriété Description

Taille duchamp

Pour un champ de texte, cette propriété définit le nombre maximal de caractères que lechamp peut contenir. La valeur maximale est de 255 caractères. Pour un champnumérique, cette propriété définit le type de nombre contenu (Entier long, Double, etc.).Pour optimiser le stockage des données, il est recommandé d'allouer le moins d'espacepossible dont vous pensez avoir besoin pour les données. Si nécessaire, vous pouvezmodifier cette valeur ultérieurement en fonction de vos besoins.

Format Cette propriété définit le mode d'affichage des données. Elle n'a aucun impact sur lesdonnées réelles contenues dans le champ. Vous pouvez sélectionner un format prédéfiniou créer un format personnalisé.

Masque desaisie

Cette propriété permet de spécifier le modèle à appliquer à toutes les données entréesdans ce champ. Elle garantit que toutes les données entrées sont correctes et qu'ellescontiennent le nombre de caractères requis. Pour obtenir de l'aide sur la création d'un

masque de saisie, cliquez sur le bouton situé à droite de la zone de propriété.

Valeur pardéfaut

Cette propriété permet de définir la valeur par défaut qui s'affiche dans le champ lorsquevous y ajoutez un nouvel enregistrement. Par exemple, si vous définissez un champDate/Heure devant toujours contenir la date d'ajout de l'enregistrement, vous pouvezentrer « Date() » (sans les guillemets) comme valeur par défaut.

Nullinterdit

Cette propriété permet d'indiquer qu'une valeur doit être entrée dans ce champ. Si vousdéfinissez cette propriété sur Oui, vous ne pouvez ajouter un enregistrement que si vousentrez une valeur dans ce champ.

Copier des données d'une source externe dans une table Access

Si les données sont stockées dans un autre programme, comme Office Excel 2007, vous pouvez lescopier et les coller dans une table Access. En règle générale, pour optimiser cette opération, il estrecommandé que les données soient déjà organisées en colonnes, comme dans le cas d'une feuille decalcul Excel. Si les données sont contenues dans un programme de traitement de texte, il vaut mieuxséparer les colonnes de données à l'aide de tabulations ou convertir les données en tableau dans leprogramme de traitement de texte avant de les copier. Si les données doivent être modifiées oumanipulées (par exemple, fractionner les noms complets en prénoms et noms), il est recommandé dele faire avant de les copier, plus particulièrement si vous n'avez pas l'habitude d'utiliser Access.

Page 52: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma52

Lorsque vous collez des données dans une table vide, le type de données de chaque champ estautomatiquement défini en fonction du type des données collées. Par exemple, si un champ collé necontient que des dates, Access lui applique le type de données Date/Heure. Si le champ collé necontient que les mots « oui » et « non », Access lui applique alors le type de données Oui/Non.

Pour attribuer le nom des champs, Access se base sur le contenu de la première ligne de donnéescollées. Si le type de cette ligne est similaire aux lignes suivantes, Access détermine que la premièreligne fait partie des données et attribue aux champs des noms génériques (F1, F2, etc.). Si la premièreligne de données collées n'est pas similaire aux lignes suivantes, Access détermine qu'elle estconstituée de noms de champs. Les champs sont alors nommés en conséquence et la première lignen'est pas incluse dans les données.

Si Access attribue des noms de champ génériques, renommez les champs dès que possible pour évitertoute confusion. Suivez la procédure ci-dessous :

1. Enregistrez la table.

Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez surCtrl+S.

2. En mode Feuille de données, double-cliquez sur l'en-tête de chaque colonne, puis tapez un nom dechamp valide. Cette opération peut s'apparenter au remplacement de données, mais n'oubliez pasque la ligne d'en-têtes de colonne ne contient pas de données, mais bien des noms de champs.

3. Enregistrez à nouveau la table.

REMARQUE Pour renommer un champ, vous pouvez également activer le mode Création etmodifier le nom du champ. Pour passer en mode Création, cliquez avec le bouton droit sur la tabledans le volet de navigation, puis cliquez sur Mode Création. Pour réactiver le mode Feuille dedonnées, double-cliquez sur la table dans le volet de navigation.

Importer, ajouter ou lier des données issues d'une source externe

Si vous disposez de données enregistrées dans un autre programme, vous pouvez les importer dansune nouvelle table ou les ajouter à une table dans Access. Vous pouvez également utiliser dans Accessles données que vos collaborateurs conservent dans d'autres programmes en créant un lien vers cesdonnées. Quel que soit le cas de figure, la manipulation de données issues d'une source externes'apparente à un jeu d'enfant dans Access. En effet, vous pouvez importer des données à partir d'unefeuille de calcul Excel, d'une table d'une autre base de données Access, d'une liste WindowsSharePoint Services 3.0 ou de nombreuses sources externes. La procédure ci-dessous constitue un bonpoint de départ, même si le processus varie légèrement en fonction de la source utilisée.

1. Dans Access, onglet Données externes, groupe Importer, cliquez sur la commande correspondant autype de fichier à importer.

Page 53: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma53

Par exemple, si vous importez les données d'une feuille de calcul Excel, cliquez sur Excel. Sivous ne trouvez pas le type de programme souhaité, cliquez sur Plus.

REMARQUE Si le type de format approprié ne s'affiche pas dans le groupe Importer,démarrez le programme dans lequel vous avez créé les données, puis utilisez-le pourenregistrer les données dans un format de fichier courant (fichier texte délimité, par exemple)pour pouvoir importer ces données dans Access.

2. Dans la boîte de dialogue Données externes, cliquez sur Parcourir pour rechercher le fichier dedonnées source ou tapez le chemin d'accès complet de ce fichier dans la zone Nom de fichier.

3. Cliquez sur l'option de votre choix (tous les programmes vous permettent d'importer des données,certains permettant également d'en ajouter ou d'en lier) sous Spécifiez le mode et l'emplacementde stockage des données dans la base de données active. Vous pouvez créer une table qui utiliseles données importées, ajouter les données à une table existante (avec certains programmes) ou créerune table liée qui contient un lien vers les données dans le programme source.

4. Si un Assistant démarre, suivez les instructions affichées sur les pages suivantes. Sur la dernière pagede l'Assistant, cliquez sur Terminer .

Si vous importez des objets ou liez des tables d'une base de données Access, la boîte dedialogue Importer des objets ou Attacher les tables s'affiche. Sélectionnez les éléments devotre choix, puis cliquez sur OK.

Le processus exact dépend de l'opération effectuée : importation, ajout ou liaison de données.

5. Access demande si vous voulez enregistrer les détails de l'opération d'importation que vous venezd'effectuer. Si vous pensez que vous réexécuterez ultérieurement cette importation, cliquez surEnregistrer les étapes d'importation, puis entrez les détails. Vous pourrez dès lors répéter

ultérieurement l'opération en toute simplicité en cliquant sur Importations enregistrées dans legroupe Importer de l'onglet Données externes. Si vous ne souhaitez pas enregistrer les détails del'opération, cliquez sur Fermer.

Si vous importez une table, Access importe les données dans une nouvelle table, puis affiche la tabledans le groupe Tables du volet de navigation. Si vous ajoutez des données à une table, celles-ci sontajoutées à la table. Si vous créez un lien vers des données, Access crée une table liée dans le groupeTables du volet de navigation.

Pour plus d'informations sur l'importation des différents types de données dans Access, voir les liensde la section Voir aussi.

Ouvrir une base de données Access

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, recherchez la base de données à ouvrir.3. Exécutez l'une des procédures suivantes :

Double-cliquez sur la base de données pour l'ouvrir dans le mode par défaut spécifié dans laboîte de dialogue Options Access ou dans le mode qui a été défini par une stratégied'administration.

Page 54: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma54

Cliquez sur Ouvrir pour ouvrir la base de données en mode d'accès partagé dans unenvironnement multi-utilisateur. Ce mode octroie des droits de lecture et d'écrituresimultanément à vous et à d'autres utilisateurs.

Cliquez sur la flèche en regard du bouton Ouvrir, puis sur Ouvrir en lecture seule pour ouvrirla base de données en lecture seule afin de pouvoir la consulter mais pas la modifier. Dans cecas, les autres utilisateurs peuvent toujours lire et écrire dans la base de données.

Cliquez sur la flèche en regard du bouton Ouvrir et cliquez sur Ouvrir en exclusif pour ouvrirla base de données en accès exclusif. Dans ce cas, tout autre utilisateur qui tente d'ouvrir labase de données reçoit le message « Fichier en cours d'utilisation ».

Cliquez sur la flèche en regard du bouton Ouvrir et cliquez sur Ouvrir en mode lecture seuleexclusif pour ouvrir la base de données en lecture seule. Dans ce mode, les autres utilisateurspeuvent ouvrir la base de données, mais uniquement en lecture seule.

Si la base de données à ouvrir est introuvable

1. Dans la boîte de dialogue Ouvrir, cliquez sur Poste de travail ou, dans la liste déroulante Regarderdans, cliquez sur Poste de travail.

2. Dans la liste de lecteurs, cliquez avec le bouton droit sur le lecteur contenant la base de données, puiscliquez sur Rechercher.

3. Tapez vos critères de recherche dans la boîte de dialogue Résultats de la recherche, puis cliquez surRechercher pour rechercher la base de données.

4. Si la base de données recherchée s'affiche, double-cliquez dessus pour l'ouvrir.5. Cliquez sur Annuler dans la boîte de dialogue Ouvrir pour pouvoir ouvrir la base de données. Ensuite,

fermez la boîte de dialogue Résultats de la recherche.

REMARQUE Vous pouvez ouvrir directement un fichier de données dans un format de fichierexterne, comme dBASE, Paradox, Microsoft Exchange ou Excel. Vous pouvez également ouvrirdirectement n'importe quelle source de données ODBC, comme Microsoft SQL Server ou MicrosoftFoxPro. Access crée automatiquement une base de données Access dans le même dossier que lefichier de données, puis ajoute des liens vers chaque table de la base de données externe.

Conseils

Pour ouvrir l'une des bases de données récemment ouvertes, cliquez sur le nom du fichiercorrespondant dans la liste Ouvrir une base de données récente de la page Prise en main deMicrosoft Office Access. Access ouvre la base de données en appliquant les mêmes paramètres quelors de la dernière ouverture. Si la liste des fichiers récemment ouverts n'est pas affichée, cliquez sur le

bouton Microsoft Office , puis cliquez sur Options Access. Dans la boîte de dialogue OptionsAccess, cliquez sur Avancé. Sous Afficher, entrez le nombre de documents à afficher dans la liste desdocuments récents (maximum neuf).

Si vous ouvrez une base de données en cliquant sur le bouton Microsoft Office , puis en utilisantla commande Ouvrir, vous pouvez afficher la liste des raccourcis vers les bases de données que vousavez déjà ouvertes en cliquant sur Mes documents récents dans la boîte de dialogue Ouvrir.

Pour plus d'informations sur l'ouverture de bases de données Access existantes, consultez les liens dela section Voir aussi de cet article.

Créer un modèle vide personnalisé

Page 55: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma55

Lors de la création d'une base de données vide, Access ouvre une nouvelle table dans laquelle vouspouvez entrer des données. Aucun autre objet n'est créé dans la base de données. Si vous souhaitezque d'autres objets (formulaires, états, macros ou tables supplémentaires) soient présents dans toutesles bases de données que vous créez, vous pouvez créer un modèle personnalisé vide contenant cesobjets. Par la suite, la prochaine fois que vous créez une base de données, celle-ci contiendra déjà lesobjets souhaités. Outre ces objets, le modèle peut comporter des tables contenant déjà des données,ainsi que des paramètres de configuration spécifiques, des propriétés de base de données, desréférences ou du code à intégrer dans toutes les nouvelles bases de données.

Supposons que vous disposez d'une collection de macros à utiliser dans l'ensemble de vos projets. Sivous créez un modèle vide contenant ces macros, celles-ci sont intégrées dans toutes les bases dedonnées que vous créez.

Vous pouvez créer un modèle vide au format de fichier Office Access 2007, Access 2002-2003 ouAccess 2000. Il doit avoir le nom Vide.accdb (format de fichier Office Access 2007) ou Blank.mdb(formats de fichier antérieurs).

Si le format de fichier Access 2000 ou Access 2002-2003 est défini par défaut, Access utilise le nom defichier Blank.mdb pour le modèle vide. La nouvelle base de données est créée au même format defichier que Blank.mdb. Par exemple, même si le format de fichier par défaut est Access 2000, si lemodèle Blank.mdb est au format Access 2002-2003, les bases de données créées seront au formatAccess 2002-2003.

Si le format de fichier Access 2007 est défini par défaut, Access utilise le nom de fichier Vide.accdbpour le modèle vide.

Comment puis-je modifier le format de fichier par défaut ?

Pour créer un modèle vide, effectuez l'une des opérations suivantes :

Créez une base de données (vous pouvez la nommer Vide ou lui attribuer un nom temporaire), puisimportez ou créez les objets à inclure dans le modèle.

Créez une copie d'une base de données existante qui contient déjà les objets à inclure dans le modèle,puis supprimez les objets dont vous n'avez pas besoin.

Lorsque le modèle contient les objets souhaités, enregistrez-le dans un emplacement spécifique.

1. Cliquez sur le bouton Microsoft Office , puis pointez sur Enregistrer sous.

2. Sous Enregistrer la base de données sous un autre format, cliquez sur le format de fichier requispour le modèle.

3. Dans la boîte de dialogue Enregistrer sous, accédez à l'un des deux dossiers de modèles ci-dessous : Dossier de modèles système Par exemple, C:\Program Files\Microsoft

Office\Templates\1036\Access Dossier de modèles utilisateur Par exemple :

Dans Microsoft Windows Vista c:\Utilisateurs\nom d'utilisateur\Documents Dans Microsoft Windows Server 2003 ou Microsoft Windows XP C:\Documents

and Settings\nom d'utilisateur\Application Data\Microsoft\Modèles

REMARQUE Un modèle vide du dossier de modèles système se substitue aux modèles videscontenus dans les dossiers de modèles utilisateur.

Page 56: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma56

4. Dans la zone Nom de fichier, tapez Vide.accdb (ou Blank.mdb si vous créez un modèle pour uneversion antérieure), puis cliquez sur Enregistrer.

Le nouveau modèle est à présent actif. Ainsi, lorsque vous créez une base de données, les objets dumodèle y sont intégrés par défaut. Access ouvre une nouvelle table en mode Feuille de données, toutcomme lors de la création d'une base de données vide sans l'aide d'un modèle.

Pour arrêter d'utiliser le modèle vide, supprimez ou renommez le fichier Vide.accdb (ou Blank.mdb,pour les versions antérieures d'Access).

Page 57: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma57

Créer des tables dans une base de données

Lorsque vous créez une base de données, vous stockez vos données dans des tables —que ce soit deslistes de lignes et de colonnes basées sur des objets. Par exemple, vous pouvez créer une table decontacts pour stocker une liste de noms, d'adresses et de numéros de téléphone ou une table deproduits pour stocker des informations sur des produits. La création d'une base de données doittoujours débuter par la création de ses tables — avant même de créer les objets de base de données.

Cet article explique comment ajouter des tables. Vous allez apprendre à créer une table, à ajouter deschamps à une table et à définir une clé principale pour une table. Vous apprendrez également ce quesont les types de données et pourrez définir des propriétés de champ et de table.

Avant de créer des tables, vous devez étudier attentivement vos besoins et concevoir votre base dedonnées en fonction des tables nécessaires.

Définition d'une table Création d'une table Création d'une table à partir d'un modèle Importation ou création d'un lien pour créer une table Création d'une table à partir d'une liste SharePoint Ajout de champs à une table en mode Feuille de données Ajout de champs en utilisant des modèles de champ Ajout du champ d'une table existante Définition du type de données d'un champ en mode Feuille de données Enregistrement d'une table Définition de la clé primaire Définition des propriétés de champ Définition des propriétés de table

Page 58: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma58

Définition d'une table

Une table contient des données sur un sujet particulier, tel que des employés ou des produits. Chaqueenregistrement dans une table contient des informations concernant un élément précis, relatives parexemple à un employé en particulier. Un enregistrement est constitué de champs tels que nom,adresse et numéro de téléphone. Un enregistrement est également couramment appelé une ligne etun champ une colonne.

Enregistrement ou ligne

Champ ou colonne

Votre base de données peut contenir plusieurs tables, chacune stockant des informations sur un sujetdifférent. Chaque table peut contenir plusieurs champs de types différents, incluant du texte, desnombres, des dates et des images.

La liste suivante présente des exemples courants de tables que vous pouvez créer.

Une table de clients qui répertorie les clients de votre société et leurs adresses Un catalogue des produits vendus avec les prix et les photos de chaque article Une table de tâches pour suivre les tâches et les dates d'échéance Un inventaire du matériel ou du stock disponible

Il est conseillé de concevoir votre base de données attentivement afin qu'elle soit correcte et la plusprécise possible pour éviter d'avoir à apporter trop de modifications par la suite. Pour plusd'informations sur la planification et la conception d'une base de données, voir l'article Concepts debase sur la conception d'une base de données.

Création d'une table

Une base de données simple, telle qu'une liste de contacts, peut utiliser uniquement une seule table.Beaucoup de bases de données utilisent cependant plusieurs tables. Lorsque vous créez une base dedonnées, vous créez un nouveau fichier sur votre ordinateur qui fait office de conteneur pour tous lesobjets de votre base de données, y compris des tables.

Pour créer une table, vous pouvez créer une nouvelle base de données, insérer une table dans unebase de données existante, importer une table ou lier une table à une autre source de données, tellequ'un classeur Microsoft Office Excel 2007, un document Microsoft Office Word 2007, un fichier texteou une autre base de données. Lorsque vous créez une base de données vide, une nouvelle table videest insérée automatiquement pour vous. Vous pouvez ensuite entrer des données pour commencer àdéfinir des champs.

Création d'une nouvelle table dans une nouvelle base de données

Page 59: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma59

1. Cliquez sur le bouton Microsoft Office , puis cliquez sur Nouveau.

2. Dans la zone Nom de fichier, tapez un nom de fichier. Pour modifier l'emplacement, cliquez surl'icône de dossier pour parcourir l'arborescence.

3. Cliquez sur Créer.

La nouvelle base de données est ouverte et une nouvelle table nommée Table1 est créée etouverte en mode Feuille de données.

Création d'une nouvelle table dans une base de données existante

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Créer, dans le groupe Tables, cliquez sur Table.

Une nouvelle table est insérée dans la base de données et la table est ouverte en mode Feuillede données.

Création d'une table à partir d'un modèle

Pour créer une table Contacts, Tâches, Problèmes, Événements ou Biens, vous pouvez commencer parutiliser les modèles de table pour ces sujets fournis avec Office Access 2007. Les modèles de table, telsqu'ils sont conçus, sont compatibles avec les listes Windows SharePoint Services 3.0 du même nom.

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Créer, dans le groupe Tables, cliquez sur Modèles de tables, puis sélectionnez l'un des

modèles disponibles dans la liste.

Une nouvelle table est insérée et elle est basée sur le modèle de table que vous avez choisi.

Importation ou création d'un lien pour créer une table

Vous pouvez créer une table en important des informations stockées ailleurs ou en établissant un lienà ces informations. Par exemple, vous pouvez importer des informations stockées dans une feuille de

Page 60: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma60

calcul Excel, une liste SharePoint, un fichier XML, une autre base de données Access, un dossierMicrosoft Office Outlook 2007 ou dans n'importe quelle autre source, ou bien établir un lien à cesinformations. Lorsque vous importez des informations, vous créez une copie de ces informations dansune nouvelle table de la base de données active. Inversement, lorsque vous établissez un lien à desinformations, vous créez une table liée dans la base de données active qui représente un lien actif àdes informations existantes stockées ailleurs. Ainsi, lorsque vous modifiez des données dans une tableliée, vous les modifiez également dans la source d'origine (avec quelques exceptions — voir laremarque ci-dessous). Lorsque des informations sont modifiées dans la source d'origine en utilisant unautre programme, ces modifications sont visibles dans la table liée.

REMARQUE Dans certains cas, il n'est pas possible de modifier la source de données via une tableliée, plus particulièrement lorsque la source de données est une feuille Excel.

Création d'une nouvelle table en important des données externes ou en établissant un lien à cesdonnées

1. Pour utiliser une base de données existante, dans le menu Fichier, cliquez sur Ouvrir.2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Pour créer une base de données, dans le menu Fichier, cliquez sur Nouveau.

Dans la zone de texte Nom de fichier, tapez un nom de fichier. Pour modifier l'emplacement,cliquez sur l'icône de dossier.

Cliquez sur Créer.

La nouvelle base de données est ouverte et une nouvelle table nommée Table1 est crééeet ouverte en mode Feuille de données.

4. Sous l'onglet Données externes, dans le groupe Importer, cliquez sur l'une des sources de donnéesdisponibles.

5. Suivez les instructions affichées dans les boîtes de dialogue.

Access crée la nouvelle table et l'affiche dans le volet de navigation.

REMARQUE Vous pouvez également importer une liste SharePoint ou bien y établir un lien enutilisant une commande de l'onglet Créer. Pour plus d'informations, voir la section suivante.

Création d'une table à partir d'une liste SharePoint

Vous pouvez créer une table dans votre base de données qui importe des données d'une listeSharePoint ou qui y établit des liens. Cette liste peut préexister et vous pouvez donc en importer lesdonnées ou y établir un lien. Vous pouvez également créer une nouvelle liste personnalisée ou unenouvelle liste qui est basée sur un modèle prédéfini. Les modèles prédéfinis dans Office Access 2007incluent Contacts, Tâches, Problèmes et Événements.

Ouvrez d'abord la base de données dans laquelle vous souhaitez créer la table.

Page 61: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma61

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Créer, dans le groupe Tables, cliquez sur Listes SharePoint.

Effectuez ensuite l'une des opérations suivantes :

Créer une liste basée sur un modèle

1. Cliquez sur Contacts, Tâches, Problèmes ou Événements.2. Dans la boîte de dialogue Créer une nouvelle liste, tapez l'URL du site SharePoint sur lequel vous

souhaitez que la liste réside. Tapez également le nom de la nouvelle liste SharePoint et sa description.3. Si vous souhaitez que la table liée s'ouvre après sa création, activez la case à cocher Ouvrir la liste une

fois l'opération terminée (elle est activée par défaut). Sinon, désactivez cette case à cocher.4. Cliquez sur OK.

Créer une nouvelle liste personnalisée

1. Cliquez sur Personnalisé.2. Dans la boîte de dialogue Créer une nouvelle liste, tapez l'URL du site SharePoint sur lequel vous

souhaitez que la liste réside. Tapez également le nom de la nouvelle liste SharePoint et sa description.3. Si vous souhaitez que la table liée s'ouvre après sa création, activez la case à cocher Ouvrir la liste une

fois l'opération terminée (elle est activée par défaut). Sinon, désactivez cette case à cocher.4. Cliquez sur OK.

Importer des données dans une liste existante

1. Cliquez sur Liste SharePoint existante.2. Dans la boîte de dialogue Données externes, tapez l'URL du site SharePoint qui contient la liste.3. Cliquez sur Importer les données sources dans une nouvelle table de la base de données active .4. Ensuite, cliquez sur Suivant.5. Activez une case à cocher en regard des listes SharePoint que vous souhaitez importer.6. Cliquez sur OK.

Établir un lien à une liste existante

1. Cliquez sur Liste SharePoint existante.2. Dans la boîte de dialogue Données externes, tapez l'URL du site SharePoint qui contient la liste.3. Cliquez sur Lier à la source de données en créant une table attachée.4. Ensuite, cliquez sur Suivant.5. Activez une case à cocher en regard des listes SharePoint auxquelles vous souhaitez établir un lien.6. Cliquez sur OK.

Ajout de champs à une table en mode Feuille de données

Page 62: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma62

Les champs (également appelés colonnes) permettent de stocker des informations que vous souhaitezsuivre. Par exemple, dans une table Contacts, vous pouvez créer des champs pour y indiquer entreautres, des noms, des prénoms des numéros de téléphone et des adresses. Dans une table Produits,vous pouvez stocker les noms, les ID et les tarifs des produits.

Il est important de choisir les champs avec attention. Par exemple, il n'est pas conseillé de créer unchamp pour y stocker une valeur calculée. Vous pouvez, par contre, demander à Office Access 2007 decalculer des valeurs lorsque cela est nécessaire. Lors du choix des champs, essayez de stocker lesinformations sous leur plus petite forme. Par exemple, au lieu de stocker un nom complet, envisagezde stocker un prénom et un nom. D'une façon générale, si vous devez établir un rapport, faire un tri,effectuer une recherche ou un calcul sur une donnée précise, placez-la séparément dans une colonne.

Un champ est constitué de certaines caractéristiques de définition. Par exemple, chaque champcontient un nom qui l'identifie de manière unique dans une table. En outre, un champ est associé à untype de données sélectionné en fonction des informations qu'il contient. Le type de donnéesdétermine les valeurs que le champ peut contenir et les opérations qui peuvent être effectuées, ainsique la quantité d'espace de stockage réservé pour chaque valeur. Chaque champ est égalementassocié à un groupe de paramètres appelés « propriétés », qui définissent l'aspect ou le comportementdu champ. Par exemple, la propriété Format définit la disposition d'affichage d'un champ, c'est-à-direson format d'affichage.

Lorsque vous créez une nouvelle table, celle-ci s'ouvre en mode Feuille de données. Vous pouvezimmédiatement ajouter un champ en tapant des informations dans la colonne Ajouter un nouveauchamp.

Ajout d'un nouveau champ à une table existante

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Dans le volet de navigation, double-cliquez sur l'une des tables disponibles pour l'ouvrir.4. Tapez vos données dans la cellule sous l'en-tête de colonne Ajouter un nouveau champ.

Ajout d'un nouveau champ dans une nouvelle table

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Créer, dans le groupe Tables, cliquez sur Table.

Page 63: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma63

Access insère une nouvelle table dans la base de données et l'ouvre en mode Feuille dedonnées.

4. Tapez vos données dans la cellule sous l'en-tête de colonne Ajouter un nouveau champ.

Lorsque vous entrez des données dans la nouvelle colonne, Office Access 2007 utilise les informationsque vous tapez pour reconnaître le type de données approprié pour le champ. Par exemple, si voustapez une date dans la colonne, comme 1/1/2006, Office Access 2007 voit les informations entrées,reconnaît qu'il s'agit d'une date et définit le type de données Date/Heure pour le champ. Si Access nedispose pas de suffisamment d'informations pour déterminer le type de données, il le définit sur Texte.

Le tableau suivant montre comment fonctionne la détection automatique du type des données enmode Feuille de données.

Si vous tapez : Office Access 2007 crée unchamp avec le type de données :

Jean Texte

http://www.contoso.com

Vous pouvez utiliser n'importe quel préfixe Internet valide. Parexemple, http://, https:// et mailto: sont des préfixes valides.

Lien hypertexte

50 000 Numérique, entier Long

50 000 Numérique, entier Long

50 000,99 Numérique, réel double

50 000,389 Numérique, réel double

31.12.06

Les formats de date et d'heure reconnus sont ceuxcorrespondants à vos paramètres régionaux.

Date/Heure

31.12.06 Date/Heure

10:50:23 Date/Heure

10:50 Date/Heure

17:50 Date/Heure

$12,50

Le symbole monétaire reconnu est celui correspondant à vosparamètres régionaux.

Monnaie

21,75 Numérique, réel double

Page 64: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma64

123.00 % Numérique, réel double

3.46E+03 Numérique, réel double

En plus de déterminer le type de données, Office Access 2007 peut définir la propriété Format enfonction de ce que vous avez tapé. Par exemple, si vous tapez 10:50, Access définit le type de donnéesDate/Heure et affecte à la propriété Format la valeur Heure réduite.

Si vous souhaitez définir explicitement le type de données et le format d'un champ, remplacez le choixde Office Access 2007. Pour cela, utilisez les commandes du groupe Type de données et mise enforme sous l'onglet Feuille de données.

Définition explicite du type de données

1. Sous l'onglet Feuille de données, dans le groupe Type de données et mise en forme, cliquez surType de données.

2. Sélectionnez le type de données souhaité.

Définition explicite du format

1. Sous l'onglet Feuille de données, dans le groupe Type de données et mise en forme, cliquez surFormat.

2. Sélectionnez le format souhaité.

Lorsque vous ajoutez un champ en tapant des informations dans la cellule située sous l'en-têteAjouter un nouveau champ, Office Access 2007 attribue automatiquement un nom au champ. Lesnoms commencent par Champ1 pour le premier champ, Champ2 pour le deuxième, etc. Il estpréférable d'utiliser des noms de champ les plus descriptifs possible. Pour renommer un champ,cliquez avec le bouton droit sur son en-tête et cliquez sur Renommer la colonne dans le menucontextuel.

Les noms de champs peuvent compter au maximum 64 caractères (lettres ou nombres), y compris lesespaces. Vous devez essayer d'affecter des noms descriptifs pour pouvoir les identifier facilementlorsque vous affichez ou modifiez des enregistrements. Par exemple, vous pouvez utiliser des noms dechamps tels que Nom, Adresse et Téléphone personnel.

Ajout de champs en utilisant des modèles de champ

Il est parfois plus facile de choisir des champs dans une liste prédéfinie plutôt que d'en créermanuellement. Vous pouvez utiliser le volet Office Modèles de champ pour effectuer un choix dansune liste de champs prédéfinis. Office Access 2007 est livré avec un ensemble de modèles de champsqui permettent de gagner beaucoup de temps au moment de la création des champs. Pour créer un

Page 65: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma65

champ en utilisant un modèle, affichez le volet Modèles de champ, faites glisser un ou plusieursmodèles vers la table ouverte en mode Feuille de données.

Un modèle de champ est un ensemble prédéfini de caractéristiques et de propriétés qui décrivent unchamp. La définition d'un modèle de champ inclut un nom de champ, un type de données, unparamètre pour la propriété de mise en forme du champ et un certain nombre d'autres propriétés dechamp qui, lorsqu'elles sont utilisées ensemble, forment un modèle qui sert de base pour créer unnouveau champ.

1. Assurez-vous que la table est en mode Feuille de données.2. Sous l'onglet Feuille de données, dans le groupe Champs et colonnes, cliquez sur Nouveau champ.

Le volet Modèles de champ apparaît.

3. Sélectionnez un ou plusieurs champs dans le volet Modèles de champ et faites-les glisser vers latable. Lorsque la ligne d'insertion apparaît, déposez-les à l'endroit voulu.

Les champs apparaissent en mode Feuille de données.

Les modèles de champ fournissent une base permettant de créer un nouveau champ. Il ne s'agittoutefois pas du seul moyen. Il est en effet possible de créer un champ à partir d'un champ qui existedans une autre table.

Ajout du champ d'une table existante

Si vous utilisez une base de données qui contient plusieurs tables, vous pouvez ajouter un champd'une autre table. En fait, il y a de fortes chances pour que certaines de ces tables soient liées. Dansune base de données relationnelle, les informations sont stockées dans des tables distinctes basées surdes sujets. Vous définissez ensuite des relations pour permettre à votre système de gestion de base dedonnées de rassembler ces informations le cas échéant. Office Access 2007 permet de créer unnouveau champ en utilisant celui d'une autre table liée ou en ajoutant celui d'une autre table pourlaquelle vous n'avez pas créé de relation. Pour ajouter un champ, utilisez la liste des champs quiprésente les champs disponibles dans les autres tables de votre base de données.

Page 66: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma66

Ouverture du volet Liste de champs

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Dans le volet de navigation, double-cliquez sur la table dans laquelle vous voulez ajouter un champ

existant.

La table s'ouvre en mode Feuille de données.

4. Sous l'onglet Feuille de données, dans le groupe Champs et colonnes, cliquez sur Ajouter deschamps existants.

Le volet Liste de champs apparaît.

Page 67: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma67

Le volet Liste de champs présente toutes les tables de votre base de données, groupées parcatégories. Lorsque vous utilisez une table en mode Feuille de données, deux catégories s'affichentdans le volet Liste de champs : Champs disponibles dans les tables associées et Champsdisponibles dans les autres tables. La première catégorie répertorie les tables avec lesquelles la tableouverte possède une relation. La deuxième catégorie répertorie les tables avec lesquelles votre tablen'a aucune relation.

Lorsque vous cliquez sur le signe plus (+) en regard d'une table, la liste des champs disponibles danscette table apparaît. Pour ajouter un champ à votre table, faites glisser le champ souhaité à partir duvolet Liste de champs et déposez-le dans la table en mode Feuille de données.

Ajout d'un champ à partir du volet Liste de champs

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Dans le volet de navigation, double-cliquez sur la table dans laquelle vous voulez ajouter un champ

existant.

La table s'ouvre en mode Feuille de données.

4. Sous l'onglet Feuille de données, dans le groupe Champs et colonnes, cliquez sur Ajouter deschamps existants.

Le volet Liste de champs apparaît.

5. Cliquez sur le signe plus (+) en regard d'une table pour afficher la liste des champs de cette table.6. Faites glisser le champ de votre choix à partir du volet Liste de champs et déposez-le dans la table en

mode Feuille de données.7. Lorsque la ligne d'insertion apparaît, déposez le champ à l'endroit voulu.

L'Assistant Liste de choix démarre.

8. Suivez les instructions qui s'affichent pour terminer les opérations de l'Assistant.

Une fois les opérations de l'Assistant effectuées, le champ apparaît dans la table en modeFeuille de données.

Page 68: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma68

REMARQUE Lorsque vous faites glisser un champ à partir d'une table avec laquelle il n'existe aucunerelation et que vous effectuez les opérations de l'Assistant Liste de choix, une nouvelle relation un-à-plusieurs est créée automatiquement entre la table dans le volet Liste de champs et la table ouverte.

Définition du type de données d'un champ en mode Feuille de données

Office Access 2007 détecte automatiquement les types de données des champs que vous créez enmode Feuille de données. Cependant, vous ne pourrez pas toujours conserver les choix d'Access. Parexemple, vous pouvez avoir des ID produits qui servent à identifier les produits que vous vendez. Sivous tapez un ID numérique, 1003 par exemple, dans une table en mode Feuille de données, lafonction de détection automatique du type de données définit un type de données numérique pour lechamp. Il est toutefois conseillé d'utiliser des données numériques uniquement pour les champsimpliqués dans des calculs arithmétiques. Normalement, les identifiants tels qu'un ID produit doiventêtre stockés avec le type de données Texte.

Si vous souhaitez définir explicitement le type de données et le format d'un champ, remplacez le choixde Office Access 2007. Pour cela, utilisez les commandes du groupe Type de données et mise enforme sous l'onglet Données.

Définition explicite du type de données

1. Sous l'onglet Feuille de données, dans le groupe Type de données et mise en forme, cliquez surType de données.

2. Sélectionnez le type de données souhaité.

Utilisez le tableau suivant pour déterminer le type de données correct.

Définition explicite du format

1. Sous l'onglet Feuille de données, dans le groupe Type de données et mise en forme, cliquez surFormat.

2. Sélectionnez le format souhaité.

Le tableau suivant décrit les types de données disponibles pour des champs dans Office Access 2007.

Type dedonnées

Stockage Taille

Texte Caractères alphanumériques

Utilisés pour le texte ou le texte et les nombres qui nesont pas utilisés dans des calculs (par exemple, l'IDd'un produit).

Jusqu'à 255 caractères.

Page 69: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma69

Mémo Caractères alphanumériques (dépassant 255caractères) ou texte avec une mise en forme de texteenrichi.

Utilisé pour le texte de plus de 255 caractères ou pourle texte qui utilise la mise en forme de texte enrichi.Dans le cas des notes, des descriptions longues etdes paragraphes avec une mise en forme gras ouitalique, il convient d'utiliser un champ Mémo.

1 giga-octet de caractères ou 2giga-octets au maximum destockage (2 octets par caractère)pour lesquels il est possibled'afficher 65 535 caractères dansun contrôle.

Numérique Valeurs numériques (entiers ou valeursfractionnaires).

Permet de stocker des nombres à utiliser dans descalculs, à l'exception des valeurs monétaires (utilisezDevise comme type de données de valeursmonétaires).

1, 2, 4 ou 8 octets, ou 16 octetspour les numéros de réplication.

Date/Heure Dates et heures.

Permet de stocker des valeurs de type date et heure.Notez que chaque valeur stockée inclut un composantdate et un composant heure.

8 octets.

Monnaie Valeurs monétaires.

Permet de stocker des valeurs monétaires (devises).

8 octets.

NuméroAuto Valeur numérique unique qu'Office Access 2007insère automatiquement lors de l'ajout d'unenregistrement.

Permet de générer des valeurs uniques qui peuventêtre utilisées comme clé principale. Notez que leschamps NuméroAuto peuvent être incrémentésséquentiellement, par incréments que vous définissezou par incréments choisis de façon aléatoire.

4 octets ou 16 octets en casd'utilisation pour un numéro deréplication.

Oui/Non Valeurs booléennes.

Utilisées pour les champs Vrai/Faux qui peuventcontenir Oui/Non ou Vrai/Faux par exemple.

1 bit (8 bits = 1 octet).

Objet OLE Objets OLE ou autres données binaires.

Permet de stocker des objets OLE d'autresapplications Microsoft Windows.

Jusqu'à 1 giga-octet.

Pièce jointe Images, fichiers binaires, fichiers Office.

Ce type de données est celui qui convient pourstocker des images numériques et tout type de fichierbinaire.

Pour les pièces jointescompressées, 2 giga-octets.Pour les pièces jointes noncompressées, environ 700 koselon le degré de compressionde la pièce jointe.

Lienhypertexte

Liens hypertexte.

Permet de stocker des liens hypertexte pour fournir unaccès par un clic simple à des pages Web via uneURL (Uniform Resource Locator) ou des fichiers viaun nom au format UNC (Universal NamingConvention). Vous pouvez également établir un lienaux objets Access stockés dans une base dedonnées.

1 giga-octet de caractères ou 2giga-octets au maximum destockage (2 octets par caractère)pour lesquels il est possibled'afficher 65 535 caractères dansun contrôle.

Assistant Il ne s'agit en fait pas d'un type de données. Cela Basé sur une table ou une

Page 70: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma70

Liste de choixpermet d'appeler l'Assistant Liste de choix.

Permet de démarrer l'Assistant Liste de choix afin quevous puissiez créer un champ qui utilise une zone deliste déroulante pour rechercher une valeur dans uneautre table, une requête ou une liste de valeurs.

requête : taille de la colonne liée.

Basée sur une valeur : taille duchamp Texte utilisé pour stockerla valeur.

CONSEIL Pour les numéros de téléphone, les numéros de pièce et d'autres numéros que vousn'envisagez pas d'utiliser pour des calculs mathématiques, sélectionnez le type de données Texte etnon le type de données Nombre.

Pour les types de données Texte et Nombre, vous pouvez définir une taille de champ ou un type dedonnées plus précis en définissant une valeur dans la zone de propriété TailleChamp.

Enregistrement d'une table

Après avoir ajouté des champs à une table, vous devez enregistrer sa conception. Lorsque vousenregistrez une nouvelle table pour la première fois, attribuez-lui un nom qui décrit les informationsqu'elle contient. Vous pouvez utiliser au maximum 64 caractères (lettres ou nombres), y compris desespaces. Par exemple, vous pouvez appeler une table Clients, Stock de pièces ou Produits.

1. Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez sur Ctrl+S.

- ou -

Cliquez avec le bouton droit sur l'onglet de document de la table et choisissez Enregistrer dansle menu contextuel.

- ou -

Cliquez sur Enregistrer dans la Barre d'outils Accès rapide.

2. Si vous enregistrez la table pour la première fois, tapez son nom et cliquez sur OK.

Définition de la clé primaire

La clé primaire d'une table se compose d'un ou plusieurs champs qui identifient de façon uniquechaque ligne stockée dans la table. Les tables contiennent souvent un numéro d'identification unique,tel qu'un numéro d'identification, un numéro de série ou un code, qui sert de clé primaire. Parexemple, vous pouvez avoir une table Clients dans laquelle chaque client possède un numéro de codeclient unique, le champ contenant le numéro de code pouvant être la clé primaire de la table.

Pour pouvoir prétendre au titre de clé primaire, un champ doit posséder plusieurs caractéristiques.Premièrement, il identifie chaque ligne de façon unique. Deuxièmement, il n'est jamais vide et necontient jamais la valeur Null. . Troisièmement, il change rarement (idéalement jamais). Access utilisedes champs de clé primaire pour rassembler rapidement des données issues de plusieurs tables.

Il est conseillé de toujours spécifier une clé primaire pour une table. Access crée automatiquement unindex pour la clé primaire, ce qui accélère l'exécution des requêtes et des autres opérations. Access

Page 71: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma71

s'assure également que chaque enregistrement possède une valeur dans le champ de clé primaire etqu'il est toujours unique.

Lorsque vous créez une table en mode Feuille de données, Access crée automatiquement une cléprimaire pour vous et lui attribue un ID de champ et le type de données NuméroAuto.

Activation du mode Création

1. Cliquez avec le bouton droit sur l'onglet de document et choisissez Mode Création.

- ou -

Cliquez avec le bouton droit sur le nom de table dans le volet de navigation et choisissez ModeCréation.

- ou -

Cliquez sur Mode Création dans la barre d'état Access.

Pour modifier ou supprimer la clé primaire, ou pour définir une clé primaire pour une table qui n'enpossède pas, vous devez utiliser le mode Création.

Définition ou modification de la clé primaire

1. Ouvrez la table en mode Création.2. Sélectionnez le ou les champs que vous souhaitez utiliser en tant que clé primaire.

Pour sélectionner un champ, cliquez sur le sélecteur de ligne correspondant au champ de votrechoix.

Pour sélectionner plusieurs champs, maintenez la touche CTRL enfoncée et cliquez sur lesélecteur de ligne correspondant à chaque champ.

3. Sous l'onglet Création du groupe Outils , cliquez sur Clé primaire.

Un indicateur clé est ajouté à gauche du ou des champs que vous souhaitez définir comme cléprincipale.

Suppression de la clé primaire

1. Ouvrez la table en mode Création.2. Cliquez sur le sélecteur de ligne de la clé primaire active.

Si la clé primaire est composée d'un seul champ, cliquez sur le sélecteur de ligne correspondantà ce champ.

Page 72: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma72

Si la clé primaire est composée de plusieurs champs, cliquez sur le sélecteur de lignecorrespondant au champ de votre choix.

3. Sous l'onglet Création du groupe Outils , cliquez sur Clé primaire.

L'indicateur clé est supprimé du ou des champs précédemment définis comme clé principale.

REMARQUE Lorsque vous enregistrez une nouvelle table sans définir une clé primaire, Access vousdemande d'en créer une. Si vous répondez Oui, Access crée un champ N° qui utilise le type dedonnées NuméroAuto pour fournir une valeur unique à chaque enregistrement. Si votre table contientdéjà un champ NuméroAuto, Access l'utilise comme clé primaire.

Définition des propriétés de champ

Vous pouvez contrôler l'apparence des informations, empêcher la saisie de données incorrectes,spécifier des valeurs par défaut, accélérer les recherches et les tris et contrôler toutes les apparencesou les comportements en définissant des propriétés de champ. Par exemple, vous pouvez mettre enforme les nombres pour faciliter leur lecture ou définir une règle de validation qui doit être respectéepour autoriser la saisie des informations dans un champ.

Le type de données du champ détermine les propriétés que vous pouvez définir. Par exemple, laPropriété AjouterUniquement s'applique seulement à un champ pour lequel le type de donnéesMémo a été défini. Vous ne pouvez pas définir cette propriété pour un champ d'un autre type.

Access utilise les paramètres de propriété de champ lorsque vous visualisez ou modifiez des données.Par exemple, les propriétés Format , MasqueSaisie et Légende modifient la façon dont lesinformations apparaissent dans une table et dans les requêtes Feuille de données. En outre, tous lescontrôles des nouveaux formulaires et des états qui sont basés sur les champs de la table héritent pardéfaut des mêmes paramètres de propriété. Pour définir une valeur par défaut pour un champ ou pourobliger un utilisateur à taper une valeur, vous devez utiliser d'autres propriétés qu'Access appliquechaque fois que vous ajoutez ou modifiez des données dans la table.

Définition d'une propriété de champ dans une table en mode Feuille de données

1. Ouvrez la table en mode Feuille de données.2. Cliquez dans le champ pour lequel vous souhaitez définir la propriété.3. Sous l'onglet Feuille de données, dans le groupe Type de données et mise en forme , sélectionnez

l'une des commandes suivantes :

Page 73: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma73

Unique — Définit la propriété Indexé. Est requis par — Modifie la propriété Requise. Si cette propriété avait la valeur Oui , elle

prend la valeur Non et si elle avait la valeur Non , elle prend la valeur Oui .

Le mode Feuille de données permet de définir peu de propriétés de champ parmi toutesles propriétés disponibles. Pour définir des propriétés de champ supplémentaires, vousdevez ouvrir la table en mode Création.

Pour avoir accès à la liste complète des propriétés de champ et définir des propriétés de champ, vousdevez utiliser le mode Création.

Définition d'une propriété de champ pour une table en mode Conception

1. Ouvrez la table en mode Création.2. Dans la partie supérieure de la grille de création de table, sélectionnez le champ pour lequel vous

voulez définir des propriétés (ou déplacez-vous jusqu'au champ en utilisant les touches de direction).3. Access affiche les propriétés de ce champ dans la partie inférieure de la grille de création de table. Le

type de données du champ détermine les propriétés que vous pouvez définir.4. Dans la partie inférieure de la fenêtre, sous Propriétés du champ, activez la case correspondant à la

propriété de champ que vous souhaitez définir. Vous pouvez également appuyer sur F6 et vousdéplacer ensuite jusqu'à la propriété en utilisant les touches de direction.

5. Tapez un paramètre pour la propriété ou bien, si une flèche apparaît à droite de la zone de propriété,cliquez sur cette flèche pour choisir un paramètre dans la liste.

Le tableau suivant présente les propriétés de champ disponibles.

Utilisez cettepropriétéde champ

Pour

TailleChamp Définir la taille maximale des données stockées sous le type Texte, Nombre ouNuméroAuto.

Format Personnaliser l'apparence d'un champ imprimé ou affiché.

Décimales Spécifier le nombre de décimales à utiliser pour afficher des nombres.

NouvellesValeurs Définir si un champ NuméroAuto est incrémenté ou s'il reçoit une valeuraléatoire.

MasqueSaisie Guider la saisie des données.

Légende Afficher le texte par défaut dans des étiquettes pour les formulaires, les états etles requêtes.

ValeurParDéfaut Attribuer automatiquement une valeur par défaut à un champ lorsque desnouveaux enregistrements sont ajoutés.

ValideSi Fournir une expression qui doit être vraie à chaque fois que vous ajoutez oumodifiez la valeur de ce champ.

Page 74: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma74

MessageSiErreur Taper le texte qui apparaît lorsqu'une valeur viole l'expression ValideSi.

Requise Demander que des données soient saisies pour un champ.

ChaîneVideAutorisée Autoriser une chaîne vide ("") dans un champ Texte ou Mémo (en attribuant lavaleur Oui.

Indexé Accélérer l'accès aux données du champ par la création et l'utilisation d'unindex.

UnicodeCompression Compresser le texte stocké dans ce champ lorsqu' une grande quantité detexte est stocké (plus de 4 096 caractères).

IMEMode Contrôler la conversion des caractères dans une version asiatique de Windows.

ModeFormulationIME Contrôler la conversion des caractères dans une version asiatique de Windows.

SmartTags Associer des balises actives à ce champ.

AjouterUniquement Autoriser le suivi de version (en affectant la valeur Oui) d'un champ Mémo.

FormatTexte Choisir le format Texte enrichi pour stocker du texte au format HTML etautoriser la mise en forme de texte enrichi. Choisir Texte brut pour stocker dutexte uniquement.

AlignerTexte Spécifier l'alignement par défaut du texte dans un contrôle.

Précision Spécifier le nombre total de chiffres autorisés, y compris à droite et à gauchede la virgule.

Échelle Spécifier le nombre maximal de chiffres qui peuvent être stockés à droite de lavirgule.

Si vous souhaitez disposer de davantage de place pour la saisie ou la modification d'unparamètre de propriété dans la zone de propriété, appuyez sur MAJ+F2 pour afficher la zoneZoom. Si vous entrez un masque de saisie ou une expression de validation et souhaitez de

l'aide, cliquez sur en regard de la zone de propriété pour afficher le générateur approprié.

6. Pour enregistrer vos modifications, cliquez sur Enregistrer dans la barre d'outils Accès rapide.

- ou -

Cliquez avec le bouton droit sur l'onglet de document de la table et choisissez Enregistrer dansle menu contextuel.

- ou -

Page 75: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma75

Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez surCtrl+S.

Le tableau suivant fournit des informations supplémentaires sur les propriétés de champ TailleChamp,Format et NouvellesValeurs .

PropriétéTailleChamp

Description

Texte Taper une valeur comprise entre 1 et 255. Les champs de texte peuvent contenirentre 1 et 255 caractères. Pour les champs devant contenir un texte plus long,utiliser le type de données Mémo.

Numérique Sélectionnez l'une des options suivantes :

Octet — Pour les valeurs numériques comprises entre 0 et 255 caractères.Stockage sur un octet.

Entier — Pour les valeurs numériques comprises entre -32 768 et +32 768caractères. Stockage sur deux octets.

Entier long — Pour les valeurs numériques comprises entre -2 147 483,648 et+2 147 483,647 caractères. Stockage sur quatre octets.

CONSEIL Utilisez la propriété Entier long pour stocker sous forme declé étrangère la valeur qui apparaît dans le champ de clé primaireNuméroAuto d'une autre table.

Réel simple — Pour les valeurs numériques à virgule flottante comprises entre -3,4 x 1038 et +3,4 x 1038 avec jusqu'à sept chiffres après la virgule. Stockage surquatre octets.

Réel double — Pour les valeurs numériques à virgule flottante comprises entre -1,797 x 10308 et +1,797 x 10308 avec jusqu'à quinze chiffres après la virgule.Stockage sur huit octets.

N° de réplication — Pour le stockage d'un identificateur unique global requis pourla réplication. Stockage sur seize octets. Notez que la réplication n'est pas priseen charge pour le format de fichier .accdb.

Décimal — Pour les valeurs numériques comprises entre -9,999... x 1027 et+9,999... x 1027. Stockage sur douze octets.

NuméroAuto Sélectionnez l'une des options suivantes :

Entier long — Pour les valeurs numériques uniques comprises entre 1 et+2 147 483 648 lorsque la propriété de champ NouvellesValeurs est définie surIncrément et pour les valeurs comprises entre -2 147 483 648 et +2 147 483 647lorsque la propriété de champ NouvellesValeurs est définie sur Aléatoire.Stockage sur 4 octets.

N° de réplication — Pour le stockage d'un identificateur unique global requis pourla réplication. Stockage sur seize octets. Notez que la réplication n'est pas priseen charge pour le format de fichier .accdb.

Propriété de miseen forme

Texte Vous pouvez définir un format personnalisé. Pour plus d'informations, consultezMettre en forme les données dans des tables, des formulaires et des états.

Page 76: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma76

Numérique Sélectionnez l'une des options suivantes :

Nombre général — Affiche le nombre tel qu'il a été tapé.

Par exemple, 3 456,789 est affiché 3 456,789

Devise — Affiche le nombre utilisant le séparateur de milliers et applique lesparamètres dans les Options régionales et linguistiques du Panneau deconfiguration pour les montants négatifs, les symboles décimaux et monétaires etles décimales.

Par exemple, 3 456,789 est affiché $3,456.789

Euro — Affiche le nombre avec le symbole monétaire Euro, quel que soit lesymbole spécifié dans les Options régionales et linguistiques.

Fixe — Affiche au moins un chiffre et applique les paramètres des Optionsrégionales et linguistiques du Panneau de configuration pour les montantsnégatifs, les symboles décimaux et monétaires, et les décimales.

Par exemple 3 456,789 est affiché 3 456,79

Standard — Affiche le nombre utilisant le séparateur de milliers et applique lesparamètres définis dans les Options régionales et linguistiques du Panneau deconfiguration pour les montants négatifs, les symboles décimaux et lesdécimales. Ce format n'affiche pas de symbole monétaire.

Par exemple, 3 456,789 est affiché 3 456,79

Pourcentage — Multiplie la valeur par 100 et affiche le nombre avec un signe depourcentage à la fin. Applique les paramètres définis dans les Options régionaleset linguistiques du Panneau de configuration pour les montants négatifs, lessymboles décimaux et les décimales.

Par exemple, 0,3456 est affiché 35 %

Scientifique — Affiche la valeur en notation scientifique standard.

Par exemple, 3 456,789 est affiché 3 46E + 03Date/Heure Sélectionnez l'un des formats d'affichage prédéfinis suivants :

Date, général — Affiche la valeur utilisant une combinaison des paramètresDate, abrégé et Heure, complet.

Date, complet — Affiche la valeur utilisant le paramètre Date, complet défini dansles Options régionales et linguistiques du Panneau de configuration.

Date, réduit — Affiche la valeur utilisant le format jj-mmm-aa (14-Jul-06, parexemple).

Date, abrégé — Affiche la valeur utilisant le paramètre Date, abrégé défini dansles Options régionales et linguistiques du Panneau de configuration.

Heure, complet — Affiche la valeur utilisant le paramètre Heure, complet définidans les Options régionales et linguistiques du Panneau de configuration.

Heure, réduit — Affiche la valeur utilisant le format HH:MM PM où HH correspondà l'heure, MM aux minutes et où PM peut être remplacé par AM. L'heure peut êtrecomprise entre 1 et 12 et les minutes entre 0 et 59.

Heure, abrégé — Affiche la valeur utilisant le format HH:MM où HH correspond àl'heure et MM aux minutes. L'heure peut être comprise entre 0 et 23 et lesminutes entre 0 et 59.

Page 77: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma77

Oui/Non Sélectionnez l'une des options suivantes :

Vrai/Faux — Affiche la valeur et indique Vrai ou Faux. Oui/Non — Affiche la valeur et indique Oui ou Non. Actif/Inactif — Affiche la valeur et indique Actif ou Inactif.

REMARQUE Les mentions Actif, Vrai et Oui sont équivalentes ainsi que Faux,Non et Inactifs.

PropriétéNouvellesValeurs

NuméroAuto Sélectionnez l'une des options suivantes (uniquement pour les types de donnéesNuméroAuto) :

Incrément — La valeur de départ est 1 et est incrémentée de 1 pour chaquenouvel enregistrement.

Aléatoire — La valeur de départ est aléatoire et chaque nouvel enregistrementreçoit une valeur aléatoire.

Définition des propriétés de table

En plus des propriétés de champ, vous pouvez définir des propriétés qui s'appliquent à une tableentière et à des enregistrements entiers. Ces propriétés se définissent dans la feuille de propriétés dela table.

Définition d'une propriété de table

1. Ouvrez la table en mode Création.2. Sous l'onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Feuille de propriétés.

La feuille de propriétés de la table est affichée.

3. Activez la case correspondant à la propriété à définir.4. Tapez un paramètre pour cette propriété.

Le tableau suivant présente les propriétés de table disponibles.

Utilisez cette propriété detable

Pour

Description Fournir une description de la table.

AffichParDéfaut Définir les feuilles de données, les tableaux ou les graphiques croisésdynamiques comme vue par défaut lorsque vous ouvrez la table.

Page 78: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma78

ValideSi Fournir une expression qui doit être vraie lorsque vous ajoutez oumodifiez un enregistrement.

MessageSiErreur Taper le texte qui apparaît lorsqu'un enregistrement viole l'expressionValideSi.

Filtre Définir des critères pour afficher uniquement certaines lignes en modeFeuille de données.

TriPar Sélectionner un ou plusieurs champs pour spécifier l'ordre de tri pardéfaut des lignes en mode Feuille de données.

SousFDNom Spécifier si une sous-feuille doit s'afficher en mode Feuille de donnéeset, si oui, la table ou la requête qui doit fournir les lignes dans la sous-feuille.

ChampsFils Répertorier les champs de la table ou de la requête utilisée pour la sous-feuille qui correspondent au(x) champ(s) de clé primaire de cette table.

ChampsPères Répertorier le ou les champs de clé primaire de cette table quicorrespondent aux champs enfants de la sous-feuille.

SousFDHauteur Choisir de développer ou non toutes les lignes de sous-feuilledisponibles (par défaut) à l'ouverture ou bien, définir la hauteur de lafenêtre de la sous-feuille pour qu'elle s'affiche à l'ouverture.

SousFDEtendue Choisir de développer toutes les sous-feuilles lorsque vous ouvrez latable.

Orientation Définir l'orientation de l'affichage en fonction du sens de votre écriture,de gauche à droite ou de droite à gauche.

AfficherVuesSurSharePoint Spécifier si les formulaires et les états associés à cette table doivent êtredisponibles dans le menu Affichage de Windows SharePoint Services sila base de données est publiée sur un site SharePoint.

FiltrerSurchargement Appliquer automatiquement les critères de filtre dans la propriété Filtre(avec la valeur Oui) lorsque la table est ouverte en mode Feuille dedonnées.

TrierParSurchargement Appliquer automatiquement les critères de tri dans la propriété TriPar(avec la valeur Oui) lorsque la table est ouverte en mode Feuille dedonnées.

Si vous souhaitez disposer de davantage de place pour la saisie ou la modification d'unparamètre dans la zone de propriété, appuyez sur MAJ+F2 pour afficher la zone Zoom. Si vous

affectez la propriété ValideSi à une expression et souhaitez obtenir de l'aide, cliquez sur enregard de la zone de propriété ValideSi pour afficher le générateur approprié..

Page 79: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma79

5. Pour enregistrer vos modifications, cliquez sur Enregistrer dans la barre d'outils Accès rapide.

- ou -

Cliquez avec le bouton droit sur l'onglet de document de la table et choisissez Enregistrer dansle menu contextuel.

- ou -

Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez surCtrl+S.

Page 80: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma80

Guide pour les relations entre tables

Une conception appropriée de base de données permet de supprimer les données redondantes(doublons). Pour atteindre cet objectif, vous devez diviser vos données en plusieurs tables en fonctionde leurs sujets, ainsi chaque fait n'est représenté qu'une seule fois. Vous configurez ensuite MicrosoftOffice Access 2007 de manière à rassembler les informations divisées . Pour ce faire, vous insérez leschamps communs des tables liées. Ceci dit, vous effectuerez cette opération correctement après avoirassimilé les relations entre les tables, puis après les avoir spécifiées dans la base de données OfficeAccess 2007.

Introduction Types de relations entre les tables Pourquoi créer des relations entre les tables ? Comprendre l'intégrité référentielle Afficher les relations entre les tables Créer une relation entre les tables Supprimer une relation entre les tables Modifier une relation entre les tables Appliquer l'intégrité référentielle

Page 81: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma81

Introduction

Après la création d'une table pour chaque sujet de la base de données, vous devez permettre à OfficeAccess 2007 de renvoyer ces informations en cas de besoin. Pour ce faire, vous insérez les champscommuns dans les tables liées et vous définissez les relations entre ces tables. Vous pouvez alors créerdes requêtes, des formulaires et des états qui affichent des informations issues de plusieurs tablessimultanément. Par exemple, le formulaire suivant comporte des informations issues de plusieurstables :

Les informations de ce formulaire proviennent de la table Clients...

...de la table Commandes...

...de la table Produits...

...et de la table Détails commande.

Le nom du client dans la zone Facturer à provient de la table Clients, les valeurs Réf commande etDate de commande sont issues de la table Commandes, le nom Produit est issu de la table Produits, etles valeurs Prix unitaire et Quantité sont issues de la table Détails commande. Ces tables sont liéesentre elles de diverses façons pour permettre l'insertion des informations de chacune d'elle dans unformulaire.

Dans l'exemple précédent, les champs de tables doivent être coordonnés pour afficher desinformations sur la même commande. Les relations entre tables rendent cette coordination possible.Une relation entre les tables fonctionne en faisant correspondre les données dans les clés , il estfréquent d'associer un champ au nom identique dans les deux tables. Dans la plupart des cas, ceschamps correspondants constituent la clé primaire issue d'une table, fournissant un identificateurunique pour chaque enregistrement, et une clé étrangère dans l'autre table. Par exemple, lesemployés peuvent être associés aux commandes dont ils sont responsables, en créant une relationentre les tables entre les champs RéfEmployé dans les tables Employés et Commandes.

RéfEmployé apparaît dans les deux tables , comme clé primaire...

... et clé étrangère.

Page 82: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma82

Types de relations entre les tables

Il existe trois types de relations entre les tables.

Relation un-à-plusieurs

Considérez une base de données de suivi des commandes, dotée d'une table Clients et d'unetable Commandes. Un client peut passer toutes les commandes qu'il souhaite. Pour tout clientreprésenté dans la table Clients peuvent correspondre les commandes représentées dans latable Commandes. Ainsi, la relation entre la table Clients et la table Commandes est une relationun-à-plusieurs.

Pour représenter une relation un-à-plusieurs dans la structure de votre base de données, prenezla clé primaire sur le côté « un » de la relation et ajoutez-la comme champ supplémentaire à latable sur le côté « plusieurs » de cette relation. Dans ce cas, par exemple, vous ajoutez unnouveau champ ; le champ Réf de la table Clients , à la table Commandes et vous l'appelez Réfclient. Access peut alors utiliser le numéro de la Réf client dans la table Commandes pourrechercher le client approprié pour chaque commande.

Relation plusieurs-à-plusieurs

Considérez la relation entre une table Produits et une table Commandes. Une commande peutcomprendre plusieurs produits. En revanche, un produit peut apparaître dans plusieurscommandes. Ainsi, vous pouvez avoir plusieurs enregistrements dans la table Produits pourchaque enregistrement de la table Commandes. En outre, vous pouvez avoir plusieursenregistrements dans la table Commandes pour chaque enregistrement dans la table Produits.Ce type de relation est appelée relation plusieurs-à-plusieurs car vous pouvez avoir plusieursenregistrements pour tout produit, et plusieurs produits pour toute commande. Vous pouvezdétecter les relations plusieurs-à-plusieurs existantes entre les tables si vous prenez enconsidération les deux côtés de la relation.

Pour représenter une relation plusieurs-à-plusieurs, vous devez créer une troisième table,souvent appelée une table de jonction, qui décompose la relation plusieurs-à-plusieurs dansdeux relations un-à-plusieurs. Vous devez ajouter la clé primaire de chacune des deux tablesdans la troisième table. Par conséquent, la troisième table enregistre chaque occurrence ouinstance de cette relation. Par exemple, la table Commandes et la table Produits ont unerelation plusieurs-à-plusieurs qui est définie en créant deux relations un-à-plusieurs avec latable Détails commande. Une commande peut porter sur plusieurs produits et chaque produitpeut apparaître dans plusieurs commandes.

Relation un-à-un

Dans une relation un-à-un, chaque enregistrement de la première table ne comporte qu'un seulenregistrement correspondant dans la deuxième table, et chaque enregistrement de cettedeuxième table ne comporte qu'un seul enregistrement correspondant dans la première table.Ce type de relation n'est pas courant sachant que les informations ainsi liées sont en généralstockées dans la même table. Vous pouvez utiliser une relation un-à-un pour diviser une table àplusieurs champs, pour isoler une partie d'une table pour des raisons de sécurité, ou pourstocker des informations ne s'appliquant qu'à un sous-ensemble de la table principale. Lorsquevous identifiez une telle relation, les deux tables doivent partager un champ commun.

Pourquoi créer des relations entre les tables ?

Page 83: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma83

Vous pouvez explicitement créer des relations entre tables en utilisant la fenêtre Relations, ou enfaisant glisser un champ depuis le volet Liste de champs. Office Access 2007 a recours aux relationsentre les tables pour joindre les tables dont vous avez besoin dans un objet de base de données. Ilexiste plusieurs raisons pour créer des relations entre tables avant de créer d'autres objets de base dedonnées, tels que des formulaires, des requêtes et des états.

Les relations entre tables renseignent les structures de requêtes

Pour utiliser des enregistrements issus de plusieurs tables, vous devez souvent créer unerequête qui joint les tables. La requête fonctionne en faisant correspondre les valeurs de la cléprimaire dans la première table avec une clé étrangère dans la deuxième table. Par exemple,pour renvoyer les lignes qui répertorient toutes les commandes pour chaque client, vous devezcréer une requête qui joint la table Clients à la table Commandes en fonction du champ Réfclient. Dans la fenêtre Relations, vous pouvez préciser manuellement les champs à joindre.Néanmoins, si la relation est déjà définie entre les tables, Office Access 2007 fournit la jointurepar défaut, en fonction de la relation existante entre tables. En outre, si vous utilisez l'un desAssistants Requête, Access exploite les informations des relations entre tables que vous avezdéjà définies pour vous proposer plusieurs choix pertinents et pour renseigner au préalable lesparamètres de propriété avec les valeurs par défaut appropriées.

Les relations entre tables renseignent les structures de formulaires et d'états

Lorsque vous concevez un formulaire ou un état, Office Access 2007 exploite les informationsdes relations entre tables que vous avez déjà définies pour vous proposer plusieurs choixpertinents et pour renseigner au préalable les paramètres de propriété avec les valeurs pardéfaut appropriées.

Les relations entre tables vous permettent d'appliquer l'intégrité référentielle pour éviter lesenregistrements orphelins dans votre base de données. Un enregistrement orphelin est unenregistrement qui fait référence à un autre enregistrement qui n'existe pas ; par exemple unenregistrement de commande qui fait référence à un enregistrement de client non existant.

Lorsque vous créez une base de données, vous divisez les informations entre plusieurs tables,dont chacune comporte une clé primaire. Vous ajoutez alors des clés étrangères aux tables liéesqui font référence à ces clés primaires. Ces paires de clés représentent la base des relationsentre tables et des requêtes à plusieurs tables. Par conséquent, il est important que cesréférences de clés primaires-étrangères demeurent synchronisées. L'intégrité référentiellepermet de synchroniser les références ; elle dépend des relations entre tables.

Comprendre l'intégrité référentielle

Lorsque vous créez une base de données, vous divisez vos informations en plusieurs tables en fonctionde leurs sujets pour réduire la redondance de données. Vous configurez alors Office Access 2007 demanière à rassembler les données en plaçant les champs courants dans les tables liées. Par exemple,pour représenter une relation un-à-plusieurs, vous prenez la clé primaire de la table « une », et vousl'ajoutez comme champ supplémentaire à la table « plusieurs ». Pour rassembler les données, Accessprend la valeur de la table « plusieurs » et recherche la valeur correspondante dans la table « une ».Ainsi, les valeurs de la table « plusieurs » font référence aux valeurs correspondantes dans la table« une ».

Imaginons que vous ayez une relation un-à-plusieurs entre les tables Expéditeurs et Commandes etque vous souhaitiez supprimer une table Expéditeur. Si l'expéditeur à supprimer comporte des

Page 84: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma84

commandes dans la table Commandes, celles-ci deviennent « orphelines » dès lors que voussupprimez l'enregistrement Expéditeur. Ceci dit, les commandes comprennent une référence del'expéditeur, sans qu'elle ne soit valide pour autant, car l'enregistrement référencé n'existe plus.

L'intégrité référentielle consiste à empêcher les orphelins et à synchroniser les références pour éviterque cette situation hypothétique ne se produise.

Vous appliquez l'intégrité référentielle en l'activant pour une relation entre tables (voir Appliquerl'intégrité référentielle pour obtenir des instructions détaillées). Une fois cette intégrité appliquée,Access bloque toute opération susceptible de l'enfreindre. En d'autres termes, Access bloque les misesà jour qui modifient la cible d'une référence, et les suppressions qui l'éliminent. Cependant, unemodification de clé primaire pour un expéditeur dans la table Commandes peut s'avérer totalementjustifiée. Dans ces cas de figure, vous souhaitez qu'Access mette automatiquement à jour toutes leslignes concernées dans le cadre d'une seule opération. Ainsi, Access assure une mise à jour complèteévitant toute incohérence dans votre base de données, avec certaines lignes mises à jour et d'autrespas. Pour cette raison, Access prend en charge l'option Mettre à jour en cascade les champscorrespondants. Lorsque vous appliquez l'intégrité référentielle, que vous choisissez l'option Mettre àjour en cascade les champs correspondants, et que vous mettez à jour une clé primaire, Access metautomatiquement à jour tous les champs qui référencent la clé primaire.

Il se peut que vous ayez besoin de supprimer une ligne et tous ses enregistrements associés ; parexemple, un enregistrement Expéditeur et toutes ses commandes associées. C'est pourquoi, Accessprend en charge l'option Effacer en cascade les enregistrements correspondants. Lorsque vousappliquez l'intégrité référentielle, que vous choisissez l'option Effacer en cascade les enregistrementscorrespondants, que vous supprimez un enregistrement sur le côté de la clé primaire de la relation,Access supprime automatiquement tous les enregistrements qui référencent la clé primaire.

Afficher les relations entre les tables

Pour afficher les relations entre tables, cliquez sur Relations dans l'onglet Outils de base de données.La fenêtre Relations s'ouvre et affiche toutes les relations existantes. Si aucune relation entre tables n'aencore été définie et si vous ouvrez la fenêtre Relations pour la première fois, Access vous invite àajouter une table ou une requête à cette fenêtre.

Ouvrir la fenêtre Relations

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.

4. Si la base de données contient des relations, la fenêtre Relations apparaît. Si la base de données necontient aucune relation et si vous ouvrez la fenêtre Relations pour la première fois, la boîte dedialogue Afficher la table apparaît. Cliquez sur Fermer pour fermer la boîte de dialogue.

5. Sous l'onglet Créer, dans le groupe Relations, cliquez sur Afficher toutes les relations.

Page 85: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma85

C'est ainsi que sont affichées toutes les relations définies dans la base de données. Notez queles tables masquées (tables dont la case à cocher Masqué dans la boîte de dialogue Propriétésde la table est activée) et leurs relations ne sont pas affichées, à moins que la case à cocherAfficher les objets masqués ne soit activée dans la boîte de dialogue Options de navigation.

Pour plus d'informations sur l'option Afficher les objets masqués, voir l'article Guide pour lesrelations entre tables.

Clé primaire

Cette ligne représente la relation

Clé étrangère

Une relation entre tables est représentée par une ligne de relation tracée entre les tables dans lafenêtre Relations. Une relation, qui n'applique pas d'intégrité référentielle, s'affiche tel un trait fin entreles champs communs prenant en charge la relation. Lorsque vous sélectionnez la relation en cliquantsur son trait, celui-ci s'épaissit pour indiquer qu'il est sélectionné. Si vous appliquez l'intégritéréférentielle pour cette relation, le trait s'épaissit à chaque extrémité. En outre, le chiffre 1 s'affiche surla section épaisse du trait sur un côté de la relation, alors que le symbole infini (∞) s'affiche au-dessusde la partie épaisse du trait de l'autre côté.

Lorsque la fenêtre Relations est active, vous pouvez sélectionner les commandes suivantes dans leruban qui fait partie de l'Interface utilisateur Microsoft Office Fluent:

Dans l'onglet Créer, du groupe Outils :

Modifier des relations Ouvre la boîte de dialogue Modifier des relations. Lorsque voussélectionnez une ligne de relation, vous pouvez cliquer sur Modifier des relations pour modifier larelation entre tables. Vous pouvez également double-cliquer sur la ligne de relation.

Effacer la mise en page Supprime l'affichage de toutes les tables et relations dans la fenêtreRelations. Notez que cette commande ne masque que les tables et les relations ; elle ne les supprimepas.

Rapport de relations Crée un rapport qui affiche les tables et les relations dans la base de données.Ce rapport n'affiche que les tables et les relations qui ne sont pas masquées dans la fenêtre Relations.

Dans l'onglet Créer, du groupe Relations :

Afficher la table Ouvre la boîte de dialogue Afficher la table afin que vous puissiez sélectionnerdes tables et des requêtes pour un affichage dans la fenêtre Relations.

Page 86: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma86

Masquer la table Masque la table sélectionnée dans la fenêtre Relations. Afficher les relations directes Affiche toutes les relations et les tables liées pour la table

sélectionnée dans la fenêtre Relations, si elle ne sont pas déjà affichées. Toutes les relations Affiche toutes les relations et les tables liées dans la base de données pour la

fenêtre Relations. Notez que les tables masquées (tables dont la case à cocher Masqué dans la boîtede dialogue Propriétés de la table est activée) et leurs relations ne sont pas affichées, à moins que lacase à cocher Afficher les objets masqués ne soit activée dans la boîte de dialogue Options denavigation.

Fermer Ferme la fenêtre Relations. Si vous avez apporté des modifications à la mise en page de lafenêtre Relations, le système vous invite à les enregistrer.

Créer une relation entre tables

Vous pouvez créer une relation entre tables en utilisant la fenêtre Relations, ou en faisant glisser unchamp sur une feuille de données depuis le volet Liste de champs. Lorsque vous créez une relationentre tables, les champs communs ne portent pas obligatoirement le même nom, bien qu'il en soitsouvent ainsi. En revanche, les champs communs doivent avoir le même type de données. Cependant,si le champ de clé primaire est un champ NuméroAuto, le champ de clé étrangère peut également êtreun champ numérique, si la propriété TailleChamp des deux champs est identique. Par exemple, vouspouvez faire correspondre un champ NuméroAuto avec un champ numérique si la valeur de lapropriété TailleChamp des deux champs est Entier long. Lorsque les deux champs communs sont deschamps de type numérique, ils doivent avoir le même paramétrage de propriété TailleChamp.

Créer une relation entre tables avec la fenêtre Relations

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.

4. Si vous n'avez encore défini de relations, la boîte de dialogue Afficher la table s'afficheautomatiquement. Si tel n'est pas le cas, sous l'onglet Créer, du groupe Relations, cliquez sur Afficherla table.

La boîte de dialogue Afficher la table affiche toutes les tables et requêtes de la base dedonnées. Pour n'afficher que les tables, cliquez sur Tables. Pour n'afficher que les requêtes,cliquez sur Requêtes. Pour afficher les tables et les requêtes, cliquez sur Les deux.

5. Sélectionnez plusieurs tables ou requêtes, puis cliquez sur Ajouter. Après avoir ajouté les tables et lesrequêtes à la fenêtre Relations, cliquez sur Fermer.

6. Faites glisser un champ (généralement une clé primaire) d'une table au champ commun (clé étrangère)dans l'autre table. Pour faire glisser plusieurs champs, appuyez sur CTRL, cliquez sur chaque champ,puis faites-les glisser.

Page 87: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma87

La boîte de dialogue Modifier des relations s'affiche.

7. Vérifiez que les noms de champ affichés sont des champs communs pour la relation. Si un nom dechamp est incorrect, cliquez sur le nom du champ et sélectionnez un nouveau champ dans la liste.

Pour appliquer l'intégrité référentielle pour cette relation, activez la case à cocher Appliquerl'intégrité référentielle. Pour plus d'informations sur l'intégrité référentielle, voir les sectionsComprendre l'intégrité référentielle et Appliquer l'intégrité référentielle.

8. Cliquez sur Créer.

La ligne de relation est tracée entre les deux tables. Si vous avez activé la case à cocherAppliquer l'intégrité référentielle, le trait s'épaissit à chaque extrémité. En outre, à conditiond'avoir coché la case à cocher Appliquer l'intégrité référentielle, le chiffre 1 s'affiche sur lasection épaisse du trait sur un côté de la relation, alors que le symbole infini (∞) s'affiche au-dessus de la partie épaisse du trait de l'autre côté.

REMARQUES

Pour créer une relation un-à-un Les deux champs communs (généralement, la clé primaire et la cléétrangère) doivent comporter un index unique. En d'autres termes, la propriété Indexé de ces champsdoit être définie sur la valeur Oui (sans doublon). Si ces deux champs ont un index unique, Accesscrée une relation un-à-un.

Pour créer une relation un-à-plusieurs Le champ sur le côté « un » (généralement la clé primaire)de la relation doit comporter un index unique. En d'autres termes, la propriété Indexé de ce champdoit être définie sur la valeur Oui (sans doublon). Le champ sur le côté « plusieurs » ne doit pas avoird'index unique. Il peut avoir un index, mais les doublons doivent être autorisés. En d'autres termes, lapropriété Indexé de ce champ doit être définie sur la valeur Non, ou Oui (avec doublons). Lorsqu'unchamp a un index unique et que l'autre n'en a pas, Access crée une relation un-à-plusieurs.

Créer une relation entre tables avec le volet Liste de champs

Dans Office Access 2007, vous pouvez ajouter un champ à une table existante ouverte en mode Feuillede données, en le faisant glisser depuis le volet Liste de champs. Le volet Liste de champs affiche leschamps disponibles dans les tables liées, ainsi que les champs disponibles dans d'autres tables.Lorsque vous faites glisser un champ depuis une « autre » table (non liée) et que vous exécutez

Page 88: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma88

l'Assistant Liste de choix, Access crée automatiquement une nouvelle relation un-à-plusieurs entre latable du volet Liste de champs et la table cible du champ. Cette relation n'applique pas l'intégritéréférentielle par défaut. Pour ce faire, vous devez modifier la relation. Pour plus d'informations, voir lasection Modifier une relation entre tables.

Ouvrir une table en mode Feuille de données

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Dans le volet de navigation, cliquez avec le bouton droit sur la table à laquelle vous souhaitez ajouter

le champ, créez la relation, puis cliquez sur Mode Feuille de données dans le menu contextuel.

Ouvrir le volet Liste de champs

Sous l'onglet Feuille de données, dans le groupe Champs et colonnes, cliquez sur Ajouter deschamps existants.

Le volet Liste de champs apparaît.

Le volet Liste de champs affiche toutes les autres tables de la base de données, regroupées encatégories. Lorsque vous ouvrez une table en mode Feuille de données, les champs de l'une des deuxcatégories suivantes s'affichent dans le volet Liste de champs : Champs disponibles dans les tablesassociées et Champs disponibles dans les autres tables. La première catégorie fournit la liste detoutes les tables en relation avec la table en cours d'utilisation, tandis que la seconde fournit la liste detoutes les tables qui ne sont pas liées à votre table.

Dans le volet Liste de champs, cliquez sur le signe plus (+) en regard du nom d'une table pour afficherla liste des champs disponibles. Pour ajouter un champ à la table, faites glisser le champ du volet Listede champs vers la table en mode Feuille de données.

Ajouter un champ et créer une relation dans le volet Liste de champs

1. Sous l'onglet Feuille de données, dans le groupe Champs et colonnes, cliquez sur Ajouter deschamps existants.

Le volet Liste de champs apparaît.

Page 89: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma89

2. Sous Champs disponibles dans les autres tables, cliquez sur le signe plus (+) en regard d'un nom detable pour y afficher la liste des champs.

3. Faites glisser le champ de votre choix du volet Liste de champs vers la table ouverte en mode Feuillede données.

4. Lorsque la ligne d'insertion apparaît, déposez le champ à l'endroit voulu.

L'Assistant Liste de choix démarre.

5. Suivez les instructions pour exécuter l'Assistant Liste de choix.

Le champ apparaît dans la table en mode Feuille de données.

Lorsque vous faites glisser un champ depuis une « autre » table (non liée) et que vous exécutezl'Assistant Liste de choix, Access crée automatiquement une nouvelle relation un-à-plusieurs entre latable du volet Liste de champs et la table cible du champ. Cette relation n'applique pas l'intégritéréférentielle par défaut. Pour ce faire, vous devez modifier la relation. Pour plus d'informations, voir lasection Modifier une relation entre les tables.

Supprimer une relation entre les tables

Pour supprimer une relation entre les tables, vous devez supprimer la ligne de relation dans la fenêtreRelations. Positionnez avec soin le curseur de sorte qu'il pointe sur la ligne de relation, puis cliquez surla ligne. Cette ligne de relation est plus épaisse lorsqu'elle est sélectionnée. Une fois la ligne de relationsélectionnée, appuyez sur SUPPR. Notez que lorsque vous supprimez une relation, vous supprimezégalement la prise en charge de l'intégrité référentielle pour cette relation si elle est activée. Parconséquent, Access n'empêchera plus automatiquement la création d'enregistrements orphelins sur lecôté « plusieurs » d'une relation.

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.

La fenêtre Relations s'affiche.

Si vous n'avez encore défini de relation et si vous ouvrez la fenêtre Relations pour la premièrefois, la boîte de dialogue Afficher la table apparaît. Si la boîte de dialogue s'affiche, cliquez surFermer.

4. Sous l'onglet Créer, dans le groupe Relations, cliquez sur Afficher toutes les relations.

Toutes les tables avec des relations sont affichées, elles illustrent des lignes de relation.

5. Cliquez sur la ligne de relation pour la relation à supprimer. Cette ligne de relation est plus épaisselorsqu'elle est sélectionnée.

Page 90: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma90

6. Appuyez sur la touche SUPPR.

- ou -

Cliquez avec le bouton droit, puis cliquez sur SUPPR.

7. Access peut afficher le message suivant : Êtes-vous sûr de vouloir supprimer la relationsélectionnée dans votre base de données de manière permanente ?. Si ce message de confirmations'affiche, cliquez sur Oui.

REMARQUE Si l'une des tables dans la relation est utilisée, soit par une autre personne ou un autreprocessus, soit dans un objet de base de données ouvert (tel qu'un formulaire), vous ne pouvez passupprimer la relation. Vous devez d'abord fermer tous les objets ouverts qui utilisent ces tables avantde supprimer la relation.

Modifier une relation entre les tables

Vous modifiez une relation entre les tables en la sélectionnant au préalable dans la fenêtre Relations.Positionnez avec soin le curseur de sorte qu'il pointe sur la ligne de relation, puis cliquez sur la ligne.Cette ligne de relation est plus épaisse lorsqu'elle est sélectionnée. Une fois la ligne de relationsélectionnée, double-cliquez dessus ou cliquez sur Modifier des relations dans le groupe Outils del'onglet Créer. La boîte de dialogue Modifier des relations s'affiche.

Apporter vos modifications dans la boîte de dialogue Modifier des relations

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.

La fenêtre Relations s'affiche.

Si vous n'avez encore défini de relation et si vous ouvrez la fenêtre Relations pour la premièrefois, la boîte de dialogue Afficher la table apparaît. Si la boîte de dialogue s'affiche, cliquez surFermer.

4. Sous l'onglet Créer, dans le groupe Relations, cliquez sur Afficher toutes les relations.

Toutes les tables avec des relations sont affichées, elles illustrent des lignes de relation. Notezque les tables masquées (tables pour lesquelles la case à cocher Masqué est activée dans laboîte de dialogue Propriétés de la table) et leurs relations ne sont pas affichées à moins desélectionner l'option Afficher les objets masqués dans la boîte de dialogue Options denavigation.

Page 91: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma91

Pour plus d'informations sur l'option Afficher les objets masqués, voir l'article Guide pour levolet de navigation.

5. Cliquez sur la ligne de relation pour la relation à modifier. Cette ligne de relation est plus épaisselorsqu'elle est sélectionnée.

6. Double-cliquez sur la ligne de relation.

- ou -

Sous l'onglet Créer, dans le groupe Outils, cliquez sur Modifier des relations.

La boîte de dialogue Modifier des relations s'affiche.

7. Apportez vos modifications, puis cliquez sur OK.

La boîte de dialogue Modifier des relations vous permet de modifier une relation entre tables.Vous pouvez en particulier modifier les tables, requêtes ou champs de chaque côté de larelation. Vous pouvez également définir le type de jointure ou appliquer l'intégrité référentielle,et choisir une option en cascade. Pour plus d'informations sur le type de jointure et son moded'affichage, voir la section Définir le type de jointure. Pour plus d'informations sur le moded'application de l'intégrité référentielle et le choix d'une option en cascade, voir la sectionAppliquer l'intégrité référentielle.

Définir le type de jointure

Lorsque vous définissez une relation entre tables, les faits sur la relation renseignent les structures dela requête. Par exemple, si vous définissez une relation entre deux tables, avant de créer une requêteutilisant ces tables, Access sélectionne automatiquement les champs correspondants par défaut enfonction des champs spécifiés dans la relation. Vous pouvez remplacer ces valeurs initiales par défautdans la requête, mais les valeurs fournies par la relation s'avèrent souvent être les bonnes. Étant donnéque la correspondance et la collecte de données depuis plusieurs tables sont des opérationsfréquentes sur toutes les bases de données à l'exception des plus simples, la définition des valeurs pardéfaut reposant sur la création de relations peut être vous faire gagner du temps et économiser del'argent.

Page 92: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma92

Une requête de plusieurs tables combine des informations issues de plusieurs tables en faisantcorrespondre les valeurs dans les champs communs. La jointure consiste à faire correspondre etcombiner les valeurs. Imaginons, par exemple, que vous souhaitiez afficher des commandes clients.Vous créez une requête qui joint la table Clients et la table Commandes dans le champ Référenceclient. Le résultat de requête contient les informations sur les clients et les commandes uniquementpour les lignes dotées d'une valeur correspondante.

Le type de jointure est l'une des valeurs que vous pouvez spécifier pour chaque relation. Le type dejointure renseigne Access sur les enregistrements à inclure dans un résultat de requête. Par exemple,prenez en considération une requête qui joint la table Clients à la table Commandes sur les champscommuns qui représentent la Réf client. Si vous utilisez le type de jointure par défaut (appelé jointureinterne), la requête renvoie uniquement les lignes Client et Commande pour lesquelles les champscommuns (également appelés champs joints) sont égaux.

Ceci dit, vous pouvez inclure tous les clients , même ceux qui n'ont pas encore passé de commandes.Pour ce faire, vous devez modifier le type de jointure d'une jointure interne en jointure externe gauche.Une jointure externe gauche renvoie toutes les lignes de gauche et les lignes correspondantes sur latable de droite. Une jointure externe droite renvoie toutes les lignes de droite et les valeurscorrespondantes sur le côté gauche.

REMARQUE Dans ce cas de figure, « gauche » et « droite » se réfèrent à l'emplacement des tablesdans la boîte de dialogue Modifier des relations, et non dans la fenêtre Relations.

Considérez le résultat que vous souhaitez le plus souvent obtenir d'une requête, qui joint les tablesdans cette relation, puis définissez le type de jointure en connaissance de cause.

Définir le type de jointure

1. Dans la boîte de dialogue Modifier des relations, cliquez sur Type jointure.

La boîte de dialogue Propriétés de la jointure apparaît.

2. Cliquez sur votre choix, puis cliquez sur OK.

Le tableau suivant (contenant les tables Clients et Commandes) répertorie les trois choix affichés dansla boîte de dialogue Propriétés de la jointure, le type de jointure utilisé et indique si toutes les lignesou lignes correspondantes sont comprises pour chaque table.

Choix Jointurerelationnelle

Table de gauche Table de droite

1. Inclure seulement les lignes des deux tablespour lesquelles les champs joints sont égaux.

Jointure interne Lignescorrespondantes

Lignescorrespondantes

2. Inclure TOUS les enregistrements de la tableClients et seulement ceux de la tableCommandes pour lesquels les champs jointssont égaux.

Jointureexterne gauche

Toutes les lignes Lignescorrespondantes

3. Inclure TOUS les enregistrements de la tableCommandes et seulement ceux de la table

Jointure Lignes Toutes les lignes

Page 93: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma93

Clients pour lesquels les champs joints sontégaux.

externe droite correspondantes

Lorsque votre choix porte sur la deuxième ou troisième option de cette liste, une flèche s'affiche sur laligne de relation. Cette flèche pointe sur le côté de la relation qui n'affiche que les lignescorrespondantes.

Apporter les modifications dans la boîte de dialogue Propriétés de la jointure

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.

La fenêtre Relations s'affiche.

Si vous n'avez encore défini de relation et si vous ouvrez la fenêtre Relations pour la premièrefois, la boîte de dialogue Afficher la table apparaît. Si la boîte de dialogue s'affiche, cliquez surFermer.

4. Sous l'onglet Créer, dans le groupe Relations, cliquez sur Afficher toutes les relations.

Toutes les tables avec des relations sont affichées, elles illustrent des lignes de relation. Notezque les tables masquées (tables pour lesquelles la case à cocher Masqué est activée dans laboîte de dialogue Propriétés de la table) et leurs relations ne sont pas affichées à moins desélectionner l'option Afficher les objets masqués dans la boîte de dialogue Options denavigation.

Pour plus d'informations sur l'option Afficher les objets masqués, voir l'article Guide pour levolet de navigation.

5. Cliquez sur la ligne de relation pour la relation à modifier. Cette ligne de relation est plus épaisselorsqu'elle est sélectionnée.

6. Double-cliquez sur la ligne de relation.

- ou -

Sous l'onglet Créer, dans le groupe Outils, cliquez sur Modifier des relations.

La boîte de dialogue Modifier des relations s'affiche.

7. Cliquez sur Type jointure8. Dans la boîte de dialogue Propriétés de la jointure, cliquez sur une option, puis cliquez sur OK.

Page 94: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma94

9. Effectuez les modifications supplémentaires dans la relation, puis cliquez sur OK.

Appliquer l'intégrité référentielle

L'intégrité référentielle permet d'éviter les enregistrements orphelins et de synchroniser les référencespour éviter les enregistrements qui en référencent d'autres qui n'existent plus. Vous appliquezl'intégrité référentielle en l'activant pour une relation entre tables. Une fois cette intégrité appliquée,Access bloque toute opération susceptible de l'enfreindre. En d'autres termes, Access bloque les misesà jour qui modifient la cible d'une référence, et les suppressions qui l'éliminent. Pour qu'Accesspropage les mises à jour et les suppressions référentielles, afin que toutes les lignes liées soientmodifiées en conséquence, voir la section Définir les options en cascade.

Activer ou désactiver l'intégrité référentielle

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.

La fenêtre Relations s'affiche.

Si vous n'avez encore défini de relation et si vous ouvrez la fenêtre Relations pour la premièrefois, la boîte de dialogue Afficher la table apparaît. Si la boîte de dialogue s'affiche, cliquez surFermer.

4. Sous l'onglet Créer, dans le groupe Relations, cliquez sur Afficher toutes les relations.

Toutes les tables avec des relations sont affichées, elles illustrent des lignes de relation. Notezque les tables masquées (tables pour lesquelles la case à cocher Masqué est activée dans laboîte de dialogue Propriétés de la table) et leurs relations ne sont pas affichées à moins desélectionner l'option Afficher les objets masqués dans la boîte de dialogue Options denavigation.

Page 95: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma95

Pour plus d'informations sur l'option Afficher les objets masqués, voir l'article Guide pour levolet de navigation.

5. Cliquez sur la ligne de relation pour la relation à modifier. Cette ligne de relation est plus épaisselorsqu'elle est sélectionnée.

6. Double-cliquez sur la ligne de relation.

- ou -

Sous l'onglet Créer, dans le groupe Outils, cliquez sur Modifier des relations.

La boîte de dialogue Modifier des relations s'affiche.

7. Activez la case à cocher Appliquer l'intégrité référentielle.8. Effectuez les modifications supplémentaires dans la relation, puis cliquez sur OK.

Après avoir appliqué l'intégrité référentielle, les règles suivantes s'appliquent :

Vous ne pouvez pas entrer de valeur dans un champ de clé étrangère pour une table liée si cettevaleur n'existe pas dans le champ de clé primaire de la table primaire , cette opération revient à créerdes enregistrements orphelins.

Vous ne pouvez pas supprimer d'enregistrements dans une table primaire si les enregistrementscorrespondants existent dans une table associée. Par exemple, vous ne pouvez pas supprimerl'enregistrement d'un employé dans la table Employés si des commandes lui sont affectées dans latable Commandes. En revanche, vous pouvez supprimer un enregistrement primaire et tous lesenregistrements correspondants en une seule fois, si vous activez la case à cocher Effacer en cascadeles enregistrements correspondants.

Vous ne pouvez pas modifier une valeur de clé primaire dans la table primaire si cette opération sesolde par des enregistrements orphelins. Par exemple, vous ne pouvez pas modifier un numéro decommande dans la table Commandes si des éléments de ligne sont affectés à Commande dans latable Détails commande. En revanche, vous pouvez mettre à jour un enregistrement primaire et tousles enregistrements correspondants en une seule fois, si vous activez la case à cocher Mettre à jour encascade les champs correspondants.

REMARQUES

Si l'application de l'intégrité référentielle vous pose des problèmes, notez que vous devez respecter lesconditions suivantes :

Le champ commun de la table primaire doit être une clé primaire ou posséder un index unique. Les champs communs ont le même type de données, à l'exception du champ NuméroAuto que vous

pouvez lier à un champ numérique dont le paramétrage de propriété TailleChamp est Entier long. Les deux tables doivent exister dans la même base de données Access. Vous ne pouvez pas appliquer

l'intégrité référentielle sur des tables liées. Cependant, si le format des tables source est Access, vouspouvez ouvrir la base de données, où ces tables sont stockées, et y appliquer l'intégrité référentielle.

Définir les options en cascade

Il est probable qu'une modification de la valeur sur le côté « un » de la relation soit totalementjustifiée. Dans ce cas de figure, vous souhaitez qu'Access mette automatiquement à jour toutes leslignes concernées dans le cadre d'une seule opération. Ainsi, Access assure une mise à jour complète

Page 96: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma96

évitant toute incohérence dans votre base de données , avec certaines lignes mises à jour et d'autrespas. Access vous permet de contourner ce problème en mettant à votre disposition l'option Mettre àjour en cascade les champs correspondants. Lorsque vous appliquez l'intégrité référentielle, lorsquevous choisissez l'option Mettre à jour en cascade les champs correspondants et lorsque vous mettez àjour une clé primaire, Access met automatiquement à jour tous les champs qui référencent la cléprimaire.

Il se peut que vous ayez besoin de supprimer une ligne et tous ses enregistrements associés ; parexemple, un enregistrement Expéditeur et toutes ses commandes associées. C'est pourquoi, Accessprend en charge l'option Effacer en cascade les enregistrements correspondants. Lorsque vousappliquez l'intégrité référentielle, que vous choisissez l'option Effacer en cascade les enregistrementscorrespondants, que vous supprimez un enregistrement sur le côté de la clé primaire de la relation,Access supprime automatiquement tous les enregistrements qui référencent la clé primaire.

Activer ou désactiver la mise à jour en cascade et/ou la suppression en cascade

1. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

2. Dans la boîte de dialogue Ouvrir, sélectionnez et ouvrez la base de données.3. Sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.

La fenêtre Relations s'affiche.

Si vous n'avez encore défini de relation et si vous ouvrez la fenêtre Relations pour la premièrefois, la boîte de dialogue Afficher la table apparaît. Si la boîte de dialogue s'affiche, cliquez surFermer.

4. Sous l'onglet Créer, dans le groupe Relations, cliquez sur Afficher toutes les relations.

Toutes les tables avec des relations sont affichées, elles illustrent des lignes de relation. Notezque les tables masquées (tables pour lesquelles la case à cocher Masqué est activée dans laboîte de dialogue Propriétés de la table) et leurs relations ne sont pas affichées à moins desélectionner l'option Afficher les objets masqués dans la boîte de dialogue Options denavigation.

Pour plus d'informations sur l'option Afficher les objets masqués, voir Guide pour le volet denavigation.

5. Cliquez sur la ligne de relation pour la relation à modifier. Cette ligne de relation est plus épaisselorsqu'elle est sélectionnée.

6. Double-cliquez sur la ligne de relation.

- ou -

Sous l'onglet Créer, dans le groupe Outils, cliquez sur Modifier des relations.

Page 97: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma97

La boîte de dialogue Modifier des relations s'affiche.

7. Activez la case à cocher Appliquer l'intégrité référentielle.8. Activez la case à cocher Mettre à jour en cascade les champs correspondants ou Effacer en

cascade les enregistrements correspondants, ou activez les deux.9. Effectuez les modifications supplémentaires dans la relation, puis cliquez sur OK.

REMARQUE Si la clé primaire est un champ de type NuméroAuto, il est inutile d'activer la case àcocher Mettre à jour en cascade les champs correspondants car il est impossible de changer lesvaleurs d'un champ de type NuméroAuto.

Page 98: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma98

Créer une requête Sélection simple

Une requête Sélection permet de créer des sous-ensembles de données que vous pouvez utiliser pourrépondre à des questions spécifiques. Vous pouvez également vous en servir pour fournir des donnéesà d'autres objets de base de données. N'hésitez pas à y recourir quand vous en avez besoin.

Cet article explique comment créer une requête Sélection simple pour rechercher des données dansune table. Vous apprendrez également à améliorer votre requête en définissant des critèresd'enregistrement et en ajoutant des valeurs calculées.

Introduction Créer une requête Ajouter des critères à la requête Ajouter des calculs à la requête Synthétiser les valeurs de la requête

Page 99: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma99

Introduction

Une requête Sélection est un type d'objet de base de données qui affiche des informations en modeFeuille de données. Les données d'une requête proviennent d'une ou de plusieurs tables, de requêtesou d'une combinaison des deux. Les tables ou requêtes à partir desquelles une requête obtient sesdonnées constituent sa « source d'enregistrement ».

Que vous créiez des requêtes Sélection simples à l'aide d'un Assistant ou à partir du mode Création,les étapes sont essentiellement les mêmes. Il suffit de choisir la source d'enregistrement à utiliser, ainsique les champs à inclure dans la requête . Vous pouvez également spécifier des critères pour affinerles résultats.

Une fois la requête Sélection créée, exécutez-la pour vérifier qu'elle fonctionne correctement. Pourcela, ouvrez-la en mode Création . Vous pouvez ensuite la réutiliser à tout moment, comme sourced'enregistrement d'un formulaire, d'un état ou d'une autre requête, par exemple.

Access propose plusieurs types de requête pour vous permettre d'exécuter différentes opérations. Parexemple, la requête Sélection affiche des données, la requête Action modifie les données dans sasource de données, ou crée une table. La requête Paramètre vous demande d'entrer des critèreslorsque vous l'exécutez, etc. Cet article traite uniquement des requêtes Sélection.

REMARQUE Cette rubrique décrit comment créer les requêtes Sélection qui renvoient des donnéesd'une table unique. Si vous souhaitez créer les requêtes qui renvoient des données d'au moins deuxtables, voir l'article Créer une requête basée sur plusieurs tables.

Créer une requête

Dans cet exercice, vous allez créer une requête Sélection intitulée « Contacts à Paris ». Pour cela, vouspouvez travailler en mode Création ou démarrer un Assistant. Si vous savez rédiger desinstructions SQL, vous pouvez créer une requête en mode SQL en écrivant une instruction SELECTsimple.

Avant de commencer, vous avez besoin d'une table avec des données. Les données exemple sontfournies sous le formulaire de table HTML.

RéfClient

Société Adresse Ville DépartementOuRégion

CodePostal

PaysOuRégion

Tél.

Coordonnées

DateNaissance

1 BaldwinMuseum ofScience

7, placeBeaubernard

Beaune Côte d'Or 21203 France 0380203130

StéphaneRogert

03.12.45

2 BlueYonderAirways

52avenuedesanémones

Valenciennes

Nord 59300 France (201)555-012

PatriceDupont-Roc

21.03.59

Page 100: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma100

3

3 CohoWinery

31 ruedu soleil

Poitiers Vienne 86201 France 0549413201

GillesFabrouque

01.04.73

4 ContosoPharmaceuticals

1Impassedesvallées

Paris 75003 France 0185041235

FabriceGrand

16.06.67

5 FourthCoffee

Paris 75201 France 0115561063

JulienDupré

09.08.71

6 ConsolidatedMessenger

23 ruede laposte

Rennes Ille-et-Vilaine 35031 France 0223621010

ChristineHuguette

27.05.48

7 GraphicDesignInstitute

151 ruede laplage

Cannes 06400 France 0493391171

DeniseBarré

12.08.61

8 Litware,Inc.

3 avenuede lavictoire

BordeauxGironde 33080 France 0556201201

JeanAimée

01.09.75

9 TailspinToys

22 ruedel'église

Paris 74301 France FrançoisParrèche

15.02.53

10 WoodgroveBank

37Granderue

Paris 75056 France 0115561063

MartinGorbot

25.09.38

Vous pouvez soit entrer les données dans cette table exemple manuellement, soit copier cette tablevers un tableur, tel que Microsoft Office Excel 2007, puis importer la feuille de calcul vers une tabledans Microsoft Office Access 2007.

Page 101: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma101

Entrer les données exemple manuellement

Copiez la table vers un tableur, puis importez-la vers Access

Créez la requête.

Pour commencer, vous allez utiliser un Assistant pour créer la requête, en fonction de l'exemple detable que vous venez de créer. Vous allez ensuite l'améliorer en mode Création. Vous pouvez vérifierl'instruction SQL générée automatiquement au fur et à mesure de chaque étape.

1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Assistant Requête.

2. Dans la boîte de dialogue Nouvelle requête, cliquez sur Assistant Requête simple, puis sur OK.3. Sous Tables/Requêtes, cliquez sur la table contenant les données à utiliser. Dans cet exemple, cliquez

sur Table : Clients. Une requête peut également utiliser une autre requête comme sourced'enregistrement.

4. Sous Champs disponibles, double-cliquez sur les champs Contact, Adresse, Téléphone et Ville. C'estainsi que vous les ajoutez à la liste Champs sélectionnés. Une fois les quatre champs ajoutés, cliquezsur Suivant.

5. Nommez la requête « Contacts à Paris », puis cliquez sur Terminer.

Access affiche tous les enregistrements de contact en mode Feuille de données. Les résultatsaffichent tous les enregistrements, mais uniquement les quatre champs que vous avez spécifiésdans l'Assistant de requête.

Vérifiez l'instruction SQL d'origine

6. Fermez la requête. Access l'enregistre automatiquement.

Ajouter des critères à la requête

Pour limiter le nombre d'enregistrements obtenus, vous pouvez spécifier un ou plusieurs critères.

Un critère de requête ressemble à une condition que vous appliquez à un champ. Le critère définit unecondition, en fonction des valeurs de champ, exprimant ce que vous souhaitez ajouter à la requête, parexemple « afficher uniquement les enregistrements dont le champ Ville est Paris ».

Ouvrez la requête en mode Création. Vous ajoutez un critère au champ Ville, afin d'afficheruniquement les contacts parisiens, tels qu'ils ont été spécifiés par les résultats de recherche. Vousajoutez également ces critères au champ Adresse et au champ Téléphone, pour affiner vos résultats derecherche.

1. Dans la ligne Critères du champ Ville, tapez Paris.

Ajoutez deux autres critères pour obtenir des résultats plus parlants. Par exemple, vous nesouhaitez obtenir que les enregistrements qui contiennent l'adresse, et le numéro de téléphonedu contact.

Page 102: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma102

2. Dans la ligne Critères du champ Adresse, tapez Est Pas Null AND <>"". Faites de même pour lechamp Téléphone dans la ligne Critères.

REMARQUE Le critère Est Pas Null AND <>"" est vrai lorsqu'une valeur connue, non videexiste pour le champ avec un critère. Il est faux lorsqu'il n'existe pas de valeur connue (Null), oulorsque la valeur est vide (""). Vous pouvez utiliser cette expression pour vérifier un champ pourune valeur connue et non vide.

3. Basculez en mode Feuille de données pour afficher les résultats.

Vérifiez l'instruction SQL avec des critères

Que faire si vous ne voulez pas combiner les conditions à l'aide de l'opérateur AND ? En d'autrestermes, comment spécifier deux critères ou plus en incluant uniquement les enregistrements quiremplissent l'une ou les deux conditions ?

Spécifiez d'autres jeux de critères en utilisant l'opérateur OR

Supposons que vous souhaitiez afficher tous les enregistrements dont la Ville est Paris et contenant aumoins une information de contact (l'adresse ou le numéro de téléphone , par exemple). Voussouhaitez combiner les critères en utilisant l'opérateur OR, comme suit :

Pour spécifier des critères de substitution, complétez les lignes Critères et Ou dans la grille decréation. Tous les enregistrements qui répondent aux critères définis dans la ligne Critères ou Ou fontpartie des résultats.

Vous allez maintenant modifier la requête en entrant des critères de substitution dans les lignesCritères et Ou.

1. Basculez de nouveau en mode Création.2. Supprimez la chaîne Est Pas Null AND <>"" de la ligne Critères du champ Téléphone.3. Dans la ligne Ou du champ Téléphone, tapez Est Pas Null AND <>"".4. Dans la ligne Ou du champ Ville, tapez Paris.5. Basculez en mode Feuille de données pour afficher les résultats. Tous les enregistrements contenant

une adresse, un numéro de téléphone, ou les deux, et dont la ville est Paris sont affichés dans lesrésultats de la requête.

REMARQUE Pour spécifier deux jeux de critères de substitution ou plus, complétez les lignesen dessous de la ligne Ou. Chaque ligne représente un jeu de critères indépendant.

Vérifiez l'instruction SQL avec des critères révisés

Pour en savoir plus sur la spécification de critères de plusieurs types de champs, voir l'article Exemplesde critères de requête.

Ajouter des calculs à la requête

Si vous avez bien conçu votre base de données, les tables ne devraient pas contenir de calculs simples.Par exemple, la date de naissance d'une personne, mais pas son âge, pourrait être enregistrée dans

Page 103: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma103

une table. En effet, si vous connaissez la date du jour et la date de naissance de la personne, vouspouvez calculer son âge. Par conséquent, il est inutile de stocker cette donnée dans la table. Il vautmieux créer une requête qui calcule et affiche la valeur pertinente. Les calculs sont actualisés à chaqueexécution de la requête pour tenir compte des éventuelles modifications des données sous-jacentes.

Dans cet exercice, vous allez modifier la requête « Contacts à Paris » de sorte que la date de naissanceet l'âge de chaque individu soient affichés.

1. Ouvrez la requête en mode Création.2. Dans la fenêtre de la table Clients, faites glisser le champ DateNaissance vers la première colonne vide

de la grille de création. Vous pouvez également double-cliquer sur le nom du champ pour l'ajouterautomatiquement à la première colonne vide.

3. Dans la colonne suivante, sur la ligne Champ, tapez l'expression qui permettra de calculer l'âge dechaque contact. Tapez Âge: DiffDate ("aaaa", [DateNaissance], Date()).

Âge est le nom que vous utilisez pour le champ calculé. Si vous n'entrez pas de nom, Accessutilise un nom générique, par exemple EXPR1. La chaîne qui se trouve après les deux-points (:)est l'expression qui fournit les valeurs de chaque enregistrement. La fonction DiffDate calcule ladifférence entre deux dates et renvoie le résultat au format spécifié. Le format aaaa affiche lerésultat en années et les éléments [DateNaissance] et Date() de l'expression indique les deuxvaleurs de date. La fonction Date renvoie la date du jour et [DateNaissance] fait référence auchamp DateNaissance de la table sous-jacente.

REMARQUE Le calcul utilisé pour Âge dans cet exemple est une approximation qui risqued'être légèrement inexacte, selon le mois en cours.

Basculez en mode Feuille de données. Le résultat inclut deux champs supplémentaires :DateNaissance et Âge.

Vérifiez l'instruction SQL avec des calculs

Pour plus d'informations sur le mode d'écriture des expressions calculant les valeurs d'une requête,voir l'article Créer une expression.

Synthétiser les valeurs de la requête

Il est plus facile de synthétiser les colonnes d'une requête dans Office Access 2007 que dans lesversions précédentes d'Access. Vous pouvez ajouter, compter ou calculer d'autres valeurs d'agrégat,puis les afficher sur une ligne spéciale (appelée « ligne Totaux ») qui apparaît sous la ligne marquéed'un astérisque (*) en mode Feuille de données.

Vous pouvez utiliser une fonction d'agrégat différente pour chaque colonne ou choisir de ne passynthétiser une colonne.

Dans cet exercice, vous allez modifier la requête « Contacts à Paris » de sorte que la ligne Total soitaffichée.

1. Ouvrez la requête en mode Feuille de données.2. Sous l'onglet Accueil, dans le groupe Enregistrements, cliquez sur Totaux.

Page 104: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma104

3. Cliquez sur la ligne Total dans la colonne Contact.

Dans la liste déroulante, sélectionnez Aucun ou Nombre. Comme la colonne Nom du contactaffiche des valeurs textuelles, les fonctions telles que Somme et Moyenne ne sont d'aucuneutilité, et par conséquent, ne sont pas disponibles.

4. Sélectionnez Nombre pour compter le nombre de contacts obtenus.

Le chiffre 5 est affiché sur la ligne Total.

5. Dans le champ Âge, sélectionnez Moyenne. Comme le champ Âge renvoie un nombre, les fonctionsSomme, Moyenne, Nombre, Maximum, Minimum, Écart type et Variance sont disponibles.

Access affiche l'âge moyen dans la ligne Total.

Pour effacer le total d'une colonne, cliquez dans la ligne Total sous la colonne en question etsélectionnez Aucun dans la liste déroulante. Pour masquer la ligne Total, sous l'onglet Accueil, dans legroupe Type de données et mise en forme, cliquez sur Totaux.

REMARQUE L'utilisation de la ligne Total ne modifie pas l'instruction SQL sous-jacente.

Page 105: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma105

Créer une requête basée sur plusieurs tables

Parfois, pour créer et utiliser des requêtes, il suffit de sélectionner des champs dans une table,d'appliquer éventuellement certains critères et d'afficher les résultats. Mais, comment faut-il procéderquand, et c'est souvent le cas, les données dont vous avez besoin se trouvent dans plusieurs tables ?Heureusement, il est possible de créer une requête qui combine des informations de plusieurs sources.À cet égard, cette rubrique présente quelques scénarios dans lesquels des données sont extraites deplusieurs tables et vous indique comment procéder.

Utiliser les données d'une table liée pour compléter les informations dans une requête Connecter les données dans deux tables en utilisant leurs relations avec une troisième table Afficher tous les enregistrements de deux tables similaires

Page 106: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma106

Utiliser les données d'une table liée pour compléter les informations dans une requête

Dans certains cas, une requête basée sur une table vous fournit les informations dont vous avezbesoin, mais extraire des données d'une autre table peut rendre les résultats plus faciles à interpréteret plus utiles. Par exemple, supposons que vous disposez d'une liste des identificateurs des employésqui apparaissent dans les résultats de la requête. Vous réalisez alors qu'il serait plus utile de voir lenom des employés dans les résultats, mais ces noms se trouvent dans une autre table. Pour que lenom des employés apparaisse dans les résultats de la requête, vous devez donc inclure les deux tablesdans la requête.

Utiliser l'Assistant Requête pour créer une requête à partir d'une table principale et d'une tableliée à celle-ci

1. Vérifiez que la relation des tables est définie dans la fenêtre Relations.

Procédure

2. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Assistant Requête.

3. Dans la boîte de dialogue Nouvelle requête, cliquez sur Assistant Requête simple, puis sur OK.4. Dans la zone de liste déroulante Tables/Requêtes, cliquez sur la table qui contient les informations

essentielles à inclure dans la requête.5. Dans la liste Champs disponibles, cliquez sur le premier champ à inclure dans la requête, puis cliquez

sur la flèche vers la droite pour déplacer ce champ dans la liste Champs sélectionnés. Procédez de lamême manière pour chaque champ de cette table à inclure dans la requête. Il peut s'agir de champsque vous souhaitez voir apparaître dans les résultats de la requête ou de champs que vous voulezutiliser pour limiter les lignes dans les résultats en appliquant des critères.

6. Dans la zone de liste déroulante Tables/Requêtes, cliquez sur la table qui contient les donnéesconnexes à utiliser pour que la requête renvoie des résultats plus précis.

7. Ajoutez les champs que vous voulez utiliser pour affiner les résultats de la requête à la liste Champssélectionnés, puis cliquez sur Suivant.

8. Sous Souhaitez-vous une requête détaillée ou une synthèse ?, cliquez sur Détaillée ou Synthèse.

Si vous ne voulez pas que votre requête exécute des fonctions d'agrégation (Somme, Moy,Min, Max, Total, EcartType ou Var), choisissez une requête détaillée. Dans le cas contraire,choisissez une requête de synthèse. Lorsque vous avez choisi, cliquez sur Suivant.

9. Cliquez sur Terminer pour afficher les résultats.

Exemple avec la base de données Comptoirs

Dans l'exemple suivant, vous devez utiliser l'Assistant Requête pour créer une requête qui affiche uneliste de commandes avec les frais d'expédition et le nom de l'employé qui a traité chaque commande.

REMARQUE Dans cet exemple, la base de données Comptoirs doit être modifiée. Avant d'aller plusloin, il peut être judicieux de créer une copie de sauvegarde de cette base de données et d'utiliser lacopie pour l'exemple.

Utiliser l'Assistant Requête pour créer la requête

1. Ouvrez la base de données exemple Comptoirs. Fermez le formulaire d'ouverture.

Page 107: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma107

2. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Assistant Requête.

3. Dans la boîte de dialogue Nouvelle requête, cliquez sur Assistant Requête simple, puis sur OK.4. Dans la zone de liste déroulanteTables/Requêtes, cliquez sur Table : Commandes.5. Dans la liste Champs disponibles, double-cliquez sur RéfCommande pour déplacer ce champ dans la

liste Champs sélectionnés. Double-cliquez sur Frais d'expédition pour déplacer ce champ dans laliste Champs sélectionnés.

6. Dans la liste de zone déroulante Tables/Requêtes, cliquez sur Table : Employés.7. Dans la liste Champs disponibles, double-cliquez sur Prénom pour déplacer ce champ dans la liste

Champs sélectionnés. Double-cliquez sur NomFamille pour déplacer ce champ dans la liste Champssélectionnés. Cliquez sur Suivant.

8. Étant donné que vous créez une liste de toutes les commandes, il est préférable d'utiliser une requêtedétaillée. Si vous voulez obtenir une synthèse des frais d'expédition sur les commandes par employéou effectuer une autre fonction d'agrégation, utilisez une requête de synthèse. Cliquez sur Détaillée(affiche chaque champ de tous les enregistrements), puis sur Suivant.

9. Cliquez sur Terminer pour afficher les résultats.

La requête renvoie une liste des commandes, avec pour chaque commande, les frais d'expédition ainsique les prénom et nom de l'employé qui l'a traitée.

Connecter les données dans deux tables en utilisant leurs relations avec une troisième table

Il arrive souvent que les données de deux tables soient reliées entre elles par l'intermédiaire d'unetroisième table. C'est en général le cas lorsque les données des deux premières tables sont liées dansune relation plusieurs-à-plusieurs. Dans une base de données, il est souvent préférable de séparer unerelation plusieurs-à-plusieurs entre deux tables en deux relations un-à-plusieurs impliquant troistables. Pour cela, vous devez créer une troisième table, appelée table de jointure ou table de relationqui comporte une clé primaire et une clé étrangère pour chacune des deux autres tables. Une relationun-à-plusieurs est alors créée entre chaque clé étrangère dans la table de jointure et la clé primairecorrespondante d'une des deux autres tables. Dans ce type de situation, vous devez inclure les troistables dans votre requête, même si vous ne voulez extraire les données que de deux d'entre elles.

Créer une requête de sélection à partir de deux tables comportant une relation plusieurs-à-plusieurs

1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création de requête.

La boîte de dialogue Afficher la table s'ouvre.

2. Dans la boîte de dialogue Afficher la table, double-cliquez sur les deux tables qui contiennent lesdonnées que vous voulez inclure dans votre requête et sur la table de jointure qui les relie, puis cliquezsur Fermer.

Les trois tables apparaissent dans l'espace de création de la requête, jointes par les champsappropriés.

3. Double-cliquez sur chacun des champs que vous voulez utiliser dans les résultats de la requête.Chaque champ apparaît dans la grille de création de la requête.

Page 108: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma108

4. Dans la grille de création, utilisez la ligne Critères pour entrer des critères de champ. Pour utiliser uncritère de champ sans afficher le champ dans les résultats de la requête, désactivez la case à cocherdans la ligne Afficher pour ce champ.

5. Pour trier les résultats à partir des valeurs d'un champ, dans la grille de création de la requête, cliquezsur Croissant ou Décroissant (en fonction du sens dans lequel vous voulez trier les enregistrements)dans la ligne Trier de ce champ.

6. Sous l'onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.

Access affiche les résultats de la requête en mode Feuille de données.

Exemple avec la base de données Comptoirs

REMARQUE Dans cet exemple, la base de données Comptoirs doit être modifiée. Avant d'aller plusloin, il peut être judicieux de créer une copie de sauvegarde de cette base de données et d'utiliser lacopie pour l'exemple.

Si vous avez une nouvelle opportunité, à savoir un fournisseur à Rio de Janeiro qui a trouvé votre siteWeb et qui souhaite traiter avec vous. Cepedant, ce fournisseur n'opère qu'avec des contacts basé àRio et près de Sao Paulo. Il fournit chaque catégorie de produit alimentaire qui vous intéresse. Ilreprésente une société d'une taille relativement importante et il veut que vous lui garantissiezsuffisamment de ventes potentielles pour rendre cette affaire intéressante : au moins 20 000,00 R$(soit environ 9 300,00 USD) par an. Pouvez-vous lui procurer le marché qu'il recherche ?

Les données nécessaires pour répondre à cette question se trouvent dans deux tables différente : latable Clients et la table Détails commande. Ces tables sont liées l'une à l'autre par une tableCommandes. Les relations entre les tables ont déjà été définies. Dans la table Commandes, chaquecommande ne peut avoir qu'un seul client, associé à la table Clients par le champ RéfClient. Chaqueenregistrement de la table Détails des commandes est associé à une commande unique dans la tableCommandes, dans le champ RéfCommande. Par conséquent, un client donné peut avoir plusieurscommandes, chacune comportant plusieurs détails de commande.

Dans cet exemple, vous allez créer une requête analyse croisée qui affiche le total des ventes par an,dans les villes de Rio de Janeiro et Sao Paulo.

Créer la requête en mode Création

1. Ouvrez la base de données Comptoirs. Fermez le formulaire d'ouverture.2. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création de requête.

La boîte de dialogue Afficher la table s'affiche.

3. Dans la boîte de dialogue Afficher la table, double-cliquez sur Clients, Commandes, et Détailscommande, puis cliquez sur Fermer.

Les trois tables apparaissent dans l'espace de création de la requête.

4. Dans la table Clients, double-cliquez sur le champ Ville pour l'ajouter dans la grille de création derequête.

5. Dans la grille de création de requête, dans la colonne Ville, dans la ligne Critères, tapez In ("Rio deJaneiro","Sao Paulo") . Seuls les enregistrements, dont le client se trouve dans l'une des deux villes,sont inclus dans la requête.

Page 109: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma109

6. Dans la table Détails commande, double-cliquez sur les champs DateExpédition et PrixUnitaire.

Les deux champs sont ajoutés à la grille de création de la requête.

7. Dans la colonne DateExpédition de la grille de création de requête, sélectionnez la ligne Champ.Remplacez [DateExpédition] par Année : Format([DateExpédition],"aaaa"). C'est ainsi qu'est crééun alias de champ, Année, qui vous permet d'utiliser la section année de la valeur dans le champDateExpédition.

8. Dans la colonne PrixUnitaire de la grille de création de requête, sélectionnez la ligne Champ .Remplacez [PrixUnitaire] par : Ventes : [Détails commande].[PrixUnitaire]*[Quantité]-[Détailscommande].[PrixUnitaire]*[Quantité]*[Remise] . C'est ainsi qu'est créé un alias de champ, Ventes,qui calcule les ventes pour chaque enregistrement.

9. Sous l'onglet Création, dans le groupe Type de requête, cliquez sur Analyse croisée.

Les deux nouvelles lignes suivantes : Total et Analyse croisée apparaissent dans la grille decréation de requête.

10. Dans la colonne Ville de la grille de création de requête, cliquez sur la ligne Analyse croisée, puiscliquez sur En-tête de ligne.

C'est ainsi que sont affichées les villes comme des en-têtes de ligne (en d'autres termes, larequête renvoie une ligne par ville).

11. Dans la colonne Année, cliquez sur la ligne Analyse croisée, puis cliquez sur En-tête de colonne.

C'est ainsi que sont affichées les années comme des en-têtes de colonne (en d'autres termes, larequête renvoie une colonne par année).

12. Dans la colonne Ventes, cliquez sur la ligne Analyse croisée, puis cliquez sur Valeur.

C'est ainsi que sont affichées les ventes à l'intersection des lignes et des colonnes (en d'autrestermes, la requête renvoie les ventes pour chaque combinaison de ville et d'année).

13. Dans la colonne Ventes, cliquez sur la ligne Totaux, puis cliquez sur Additionner.

C'est ainsi que la requête additionne les valeurs de cette colonne.

Vous pouvez définir la ligne Totaux pour les deux autres colonnes sur la valeur par défautGrouper par, car vous souhaitez afficher chaque valeur pour ces colonnes, et non les valeursd'agrégation.

14. Sous l'onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.

Votre requête renvoie dorénavant le total des ventes enregistré par an à Rio de Janeiro et Sao Paulo.

Afficher tous les enregistrements de deux tables similaires

Il arrive parfois que vous deviez combiner des données de deux tables ayant une structure identiquemais se trouvant dans des bases de données différentes. Considérez le scénario suivant.

Page 110: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma110

Supposons que vous êtes un analyste qui travaille avec des données concernant les élèves d'une école.Vous voulez mettre sur pied un partage de données entre votre école et une autre pour que les deuxétablissements puissent améliorer leurs programmes. Pour certaines des questions que vous voulezexaminer, il peut être plus judicieux d'étudier les données des deux écoles ensemble que séparément.

Vous pourriez importer les données de l'autre école dans de nouvelles tables de votre base dedonnées. Dans ce cas, si les données de l'autre école devaient changer, les modifications ne seraientpas reflétées dans votre base de données. Une meilleure solution consiste à lier vos tables à celles del'autre école, puis à créer des requêtes qui combinent les données lorsque vous les exécutez. Vousserez alors en mesure d'analyser un seul ensemble de données, au lieu d'effectuer deux analyses etd'essayer de les interpréter comme si elles n'en formaient qu'une seule.

Pour afficher tous les enregistrements de deux tables aveca une structure identique, utilisez unerequête union.

Les requêtes union ne peuvent pas être affichées en mode Création. Vous devez les créer à l'aide decommandes SQL que vous entrez dans un onglet d'objet dumode SQL.

Créer une requête union à partir de deux tables

1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création de requête.

Une nouvelle grille de création de requête s'ouvre et la boîte de dialogue Afficher la tableapparaît.

2. Dans la boîte de dialogue Afficher la table, cliquez sur Fermer.3. Sous l'onglet Créer, dans le groupe Type de requête, cliquez sur Union.

La requête bascule du mode Création au mode SQL. L'onglet d'objet du mode SQL est pourl'instant vide.

4. En mode SQL, tapez SELECT suivi de la liste des champs de la première table à inclure dans la requête.Le nom des champs doit être placé entre crochets et séparé par des virgules. Une fois que vous aveztapé ces noms, appuyez sur Entrée. Le curseur se déplace d'une ligne vers le bas dans le mode SQL.

5. Tapez FROM suivi du nom de la première table à inclure dans la requête. Appuyez sur ENTRÉE.6. Si vous voulez spécifier un critère pour un champ de la première table, tapez WHERE, suivi du nom du

champ, un opérateur de comparaison (en général, un signe égal (=)) et le critère. Vous pouvez ajouterdes critères supplémentaires à la fin de la clause WHERE, en utilisant le mot clé AND et la mêmesyntaxe que celle du premier critère ; par exemple, WHERE [NiveauClasse]="100" AND[HeuresCrédit]>2. Une fois que vous avez spécifié les critères, appuyez sur Entrée.

7. Tapez UNION, puis appuyez sur Entrée.8. Tapez SELECT suivi d'une liste des champs de la seconde table à inclure dans la requête. Vous devez

inclure les mêmes champs que ceux de la première table et dans le même ordre. Le nom des champsdoit être placé entre crochets et séparé par des virgules. Une fois que vous avez tapé ces noms,appuyez sur Entrée.

9. Tapez FROM suivi du nom de la seconde table à inclure dans la requête. Appuyez sur ENTRÉE.10. Si vous le souhaitez, ajoutez une clause WHERE, comme indiqué à l'étape 6 de cette procédure.11. Tapez un point-virgule (;) pour indiquer la fin de votre requête.12. Sous l'onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.

Les résultats apparaissent en mode Feuille de données.

Page 111: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma111

Page 112: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma112

Créer un formulaire

Un formulaire est un objet de base de données qui permet d'entrer, de modifier ou d'afficher lesdonnées d'une table ou d'une requête. Les formulaires permettent également de contrôler l'accès auxdonnées en n'affichant, par exemple, que certains champs ou lignes de données. Par exemple, il estpossible que certains utilisateurs n'aient besoin d'afficher que certains champs d'une table constituéed'une multitude de champs. En leur proposant un formulaire qui ne contient que ces champs, il leursera plus facile d'utiliser la base de données. Vous pouvez également ajouter des boutons et d'autresfonctionnalités à un formulaire afin d'automatiser les opérations fréquemment effectuées.

Les formulaires peuvent être comparés à des fenêtres à travers lesquelles les personnes voient etatteignent votre base de données. Un formulaire efficace permet d'accélérer l'utilisation d'une base dedonnées dans la mesure où les personnes n'ont pas besoin de rechercher les éléments dont elles ontbesoin. Un formulaire d'aspect agréable améliore non seulement la convivialité et l'efficacité de la basede données, mais il permet également d'éviter la saisie de données incorrectes. Microsoft OfficeAccess 2007 contient de nouveaux outils destinés à simplifier la création de formulaires, et propose denouveaux types de formulaires et de nouvelles fonctionnalités qui améliorent la facilité d'emploi devotre base de données.

Créer un formulaire à l'aide de l'outil Formulaire Créer un formulaire double affichage à l'aide de l'outil Formulaire double affichage Créer un formulaire affichant plusieurs enregistrements à l'aide de l'outil Plusieurs éléments Créer un formulaire à l'aide de l'Assistant Formulaire Créer un formulaire à l'aide de l'outil Vide Présentation des contrôles Présentation des dispositions de contrôle Présentation des modes Page et Création Ajuster votre formulaire en mode Page Ajuster votre formulaire en mode Création Ajouter des contrôles à votre formulaire Enregistrer votre travail

Page 113: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma113

Créer un formulaire à l'aide de l'outil Formulaire

L'outil Formulaire permet de créer facilement et rapidement un formulaire. Lorsque vous utilisez cetoutil, tous les champs de la source de données sous-jacente sont placés dans le formulaire. Vouspouvez commencer à utiliser le nouveau formulaire immédiatement, comme vous pouvez le modifieren mode Page ou Création pour l'adapter à vos besoins.

Utiliser l'outil Formulaire pour créer un formulaire

1. Dans le volet de navigation, cliquez sur la table ou la requête qui contient les données que voussouhaitez faire figurer dans le formulaire.

2. Sous l'onglet Créer, dans le groupe Formulaires, cliquez sur Formulaire.

Access crée le formulaire et l'affiche en mode Page. Ce mode vous permet d'apporter desmodifications à la conception du formulaire tout en ayant les données affichées. Par exemple, vouspouvez ajuster la taille des zones de texte en fonction des données à afficher, si nécessaire. Pour plusd'informations sur les modes d'affichage de formulaires, voir la section Présentation des modes Pageet Création.

Si Access détermine que seule une table a une relation un-à-plusieurs avec la table ou la requête qui aservi à la création du formulaire, Access ajoute une feuille de données au formulaire, basée sur la tableou la requête associée. Par exemple, si vous créez un formulaire standard à partir de la table Employés,et qu'une relation un-à-plusieurs est définie entre la table Employés et la table Commandes, la feuillede données affiche tous les enregistrements de la table Commandes se rapportant à l'enregistrementEmployé actif. Vous pouvez supprimer la feuille de données du formulaire si vous jugez ne pas en avoirbesoin. S'il existe plusieurs tables liées par une relation un-à-plusieurs avec la table qui a servi à créerle formulaire, Access n'ajoute pas de feuilles de données au formulaire.

Créer un formulaire double affichage à l'aide de l'outil Formulaire double affichage

Le formulaire double affichage est une nouvelle fonctionnalité de Microsoft Office Access 2007 quioffre deux affichages simultanés des données : un affichage Formulaire et un affichage Feuille dedonnées.

Page 114: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma114

Ces deux affichages sont rattachés à la même source de données et sont toujours synchronisés. Ainsi,si vous sélectionnez un champ dans une partie du formulaire, le même champ est sélectionné dansl'autre partie du formulaire. Vous pouvez ajouter, modifier ou supprimer des données dans chacunedes parties, comme en modifier ou en supprimer (à condition que la source d'enregistrement soitmodifiable et que vous n'ayez pas configuré le formulaire de façon à empêcher ces opérations).

L'utilisation de formulaires double affichage offre les avantages de deux types de formulaires dans unseul et même formulaire. Par exemple, vous pouvez utiliser la partie feuille de données du formulairepour retrouver rapidement un enregistrement, et utiliser ensuite la partie formulaire pour consulter oumodifier l'enregistrement.

Pour créer un formulaire double affichage à l'aide de l'outil Formulaire double affichage :

1. Dans le volet de navigation, cliquez sur la table ou la requête qui contient les données que voussouhaitez faire figurer dans le formulaire. Vous pouvez également ouvrir la table ou la requête enmode Feuille de données.

2. Sous l'onglet Créer, dans le groupe Formulaires, cliquez sur Formulaire double affichage.

Access crée le formulaire et l'affiche en mode Page. Ce mode vous permet d'apporter desmodifications à la conception du formulaire tout en ayant les données affichées. Par exemple, vouspouvez ajuster la taille des zones de texte en fonction des données à afficher, si nécessaire. Pour plusd'informations sur les modes d'affichage de formulaires, voir la section Présentation des modes Pageet Création.

Pour plus d'informations sur la création et l'utilisation d'un formulaire double affichage, voir l'articleCréer un formulaire double affichage.

Page 115: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma115

Créer un formulaire affichant plusieurs enregistrements à l'aide de l'outil Plusieurs éléments

Lorsque vous créez un formulaire à l'aide de l'outil Formulaire standard, le formulaire créé par Accessaffiche un seul enregistrement à la fois. Si vous avez besoin d'un formulaire qui affiche plusieursenregistrements tout en offrant davantage de possibilités en termes de personnalisation qu'une feuillede données, vous pouvez utiliser l'outil Plusieurs éléments.

1. Dans le volet de navigation, cliquez sur la table ou la requête qui contient les données que voussouhaitez faire figurer dans le formulaire.

2. Sous l'onglet Créer, dans le groupe Formulaires, cliquez sur Plusieurs éléments.

Access crée le formulaire et l'affiche en mode Page. Ce mode vous permet d'apporter desmodifications à la conception du formulaire tout en ayant les données affichées. Par exemple, vouspouvez adapter la taille des zones de texte en fonction des données à afficher. Pour plusd'informations sur les modes d'affichage des formulaires, voir la section Présentation des modes Pageet Création.

Lorsque vous utilisez l'outil Plusieurs éléments, le formulaire créé par Access ressemble à une feuille dedonnées. Les données sont disposées dans des lignes et des colonnes, et vous voyez plusieursenregistrements à la fois. Toutefois, un formulaire Plusieurs éléments offre davantage d'options depersonnalisation qu'une feuille de données, avec notamment la possibilité d'ajouter des élémentsgraphiques, des boutons et d'autres contrôles. Pour plus d'informations sur la personnalisation devotre formulaire, voir les sections Ajuster votre formulaire en mode Page, Ajuster votre formulaire enmode Création et Ajouter des contrôles à votre formulaire.

Créer un formulaire à l'aide de l'Assistant Formulaire

Pour être plus sélectif quant aux champs à faire figurer sur votre formulaire, vous pouvez utiliserl'Assistant Formulaire à la place des divers outils de création de formulaires mentionnésprécédemment. Vous pouvez également définir la façon dont les données sont regroupées et triées, etvous pouvez utiliser les champs de plusieurs tables ou requêtes, si tant est que vous ayezpréalablement spécifié les relations entre les tables et les requêtes. Pour plus d'informations sur lacréation de relations, voir les liens situés dans la section Voir aussi de cet article.

1. Sous l’onglet Créer, dans le groupe Formulaires, cliquez sur Plus de formulaires, puis sur Assistant

Formulaire .

2. Suivez les instructions fournies dans les pages de l'Assistant Formulaire.

REMARQUE Si vous souhaitez inclure des champs de plusieurs tables ou requêtes dans votreformulaire, ne cliquez pas sur Suivant ou sur Terminer après avoir sélectionné les champs de lapremière table ou requête dans la première page de l'Assistant Formulaire. Au lieu de cela,répétez les étapes afin de sélectionner une table ou une requête, puis cliquez sur les champssupplémentaires que vous souhaitez inclure dans le formulaire. Cliquez ensuite sur Suivant ousur Terminer pour continuer.

3. Dans la dernière page de l'Assistant, cliquez sur Terminer.

Page 116: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma116

Créer un formulaire à l'aide de l'outil Vide

Si l'Assistant ou les outils de création de formulaires ne répondent pas à vos besoins, vous pouvezutiliser l'outil Vide pour créer un formulaire. Celui-ci permet de créer un formulaire en peu de temps,surtout si vous prévoyez de placer un nombre limité de champs dans votre formulaire.

1. Sous l'onglet Créer, dans le groupe Formulaires, cliquez sur Formulaire vierge.

Access ouvre un formulaire vide en mode Page et affiche le volet Liste de champs.

2. Dans le volet Liste de champs, cliquez sur le signe plus (+) en regard de la ou des tables contenant leschamps que vous souhaitez faire figurer sur le formulaire.

3. Pour ajouter un champ au formulaire, double-cliquez dessus ou faites-le glisser vers le formulaire. Pourajouter plusieurs champs à la fois, maintenez la touche Ctrl enfoncée, cliquez sur plusieurs champs,puis faites-les glisser simultanément vers le formulaire.

REMARQUE L'ordre des tables dans le volet de Liste de champs peut varier selon la partie duformulaire actuellement sélectionnée. Si vous ne pouvez pas ajouter un champ au formulaire,

Page 117: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma117

sélectionnez une autre partie du formulaire et réessayez d'ajouter le champ. Pour plusd'informations sur l'utilisation du volet Liste de champs, consultez l'article Ajouter un champ àun formulaire ou un état.

4. Pour ajouter un logo, un titre, des numéros de page ou la date et l'heure au formulaire, utilisez lesoutils figurant dans le groupe Contrôles, sous l'onglet Mise en forme.

5. Si vous souhaitez ajouter une plus grande variété de contrôles au formulaire, passez en mode Création

en cliquant avec le bouton droit sur le formulaire, puis en cliquant sur Mode Création . Vouspourrez dès lors utiliser les outils figurant dans le groupe Contrôles, sous l'onglet Création.

Présentation des contrôles

Les contrôles sont des objets qui affichent des données, exécutent des actions et permettent d'afficheret utiliser des informations qui améliorent l'interface utilisateur, telles que les étiquettes et les images.Outre la zone de texte, qui est le contrôle le plus couramment utilisé, les étiquettes, les cases à cocheret les contrôles de sous-formulaire/sous-état comptent parmi les autres contrôles.

Les contrôles peuvent être dépendants, indépendants ou calculés :

Contrôle dépendant Un contrôle dont la source de données est un champ de table ou de requêteest appelé « contrôle dépendant ». Les contrôles dépendants servent à afficher des valeurs issues dechamps d'une base de données. Ces valeurs peuvent consister en du texte, des dates, des valeursnumériques, des valeurs Oui/Non, des images ou des graphiques. Par exemple, une zone de texte deformulaire qui présente le nom d'un employé peut tirer cette information du champ Nom de la tableEmployés.

Contrôle indépendant Un contrôle qui n'a pas de source de données (comme un champ ou uneexpression) est appelé « contrôle indépendant ». Les contrôles indépendants s'avèrentparticulièrement utiles pour afficher des informations, des lignes, des rectangles et des images. Parexemple, une étiquette qui affiche le titre d'un formulaire est un contrôle indépendant.

Contrôle calculé Un contrôle dont la source de données est une expression, et non un champ, estappelé « contrôle calculé ». C'est vous qui spécifiez la valeur à utiliser comme source de données ducontrôle en définissant une expression. Une expression peut être une combinaison d'opérateurs (telsque = et + ), de noms de contrôles, de noms de champs, de fonctions renvoyant une valeur unique etde valeurs de constante. Par exemple, l'expression suivante calcule le prix d'un article avec une remisede 25 % en multipliant la valeur figurant dans le champ Prix unitaire par une valeur de constante (0,75).

=[Prix unitaire] * 0,75

Page 118: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma118

Une expression peut utiliser les données d'un champ de la table ou de la requête sous-jacentedu formulaire, ou encore les données d'un autre contrôle du formulaire.

Pour plus d'informations sur les expressions, voir les liens de la section Voir aussi.

Lorsque vous créez un formulaire, il est sans doute plus judicieux de commencer par ajouter etdisposer tous les contrôles dépendants, surtout s'ils forment la majorité des contrôles du formulaire.Vous pouvez ensuite ajouter les contrôles indépendants et calculés qui complètent la structure à l'aidedes outils du groupe Contrôles, sous l'onglet Créer du mode Création.

Pour lier un contrôle à un champ, vous devez identifier le champ à partir duquel le contrôle obtient sesdonnées. Vous pouvez créer un contrôle lié au champ sélectionné en faisant glisser le champ du voletListe de champs vers le formulaire. Le volet Liste de champs contient les champs de la table ou de larequête sous-jacente du formulaire. Pour afficher le volet Liste de champs, appuyez sur Alt+F8 ou,sous l'onglet Créer, dans le groupe Outils, cliquez sur Ajouter des champs existants. Lorsque vousdouble-cliquez sur un champ dans le volet Liste de champs, Access ajoute le type de contrôlecorrespondant à ce champ dans le formulaire.

Vous pouvez également lier un champ à un contrôle en tapant le nom du champ dans le contrôleproprement dit ou dans la zone de saisie de la propriété Source contrôle qui se trouve dans la feuillede propriétés du contrôle. La feuille de propriétés définit les caractéristiques du contrôle, à savoir, sonnom, la source de ses données et son format. Pour ouvrir la feuille de propriétés, appuyez sur F4.

Le meilleur moyen de créer un contrôle dépendant est d'utiliser le volet Liste de champs, et ce pourdeux raisons :

Access complète automatiquement l'étiquette attachée au contrôle en y insérant le nom du champ (oude la légende définie pour ce champ dans la table ou la requête sous-jacente). Vous n'avez donc pasbesoin de taper vous-même l'intitulé du contrôle.

Access attribue automatiquement à la plupart des propriétés du contrôle des valeurs adéquates quitiennent compte des propriétés du champ de la table ou de la requête sous-jacente (comme lespropriétés Format, Nombre de décimales et Masque de saisie).

Si vous avez déjà créé un contrôle indépendant et souhaitez le lier à un champ, entrez le nom de cechamp dans la zone de la propriété Source contrôle du contrôle. Pour plus d'informations sur lapropriété Source contrôle, appuyez sur F1 lorsque le curseur se trouve dans la liste déroulante de lapropriété.

Présentation des mises en forme de contrôle

Les mises en forme de contrôle sont des guides qui alignent horizontalement et verticalement voscontrôles pour donner une apparence uniforme à votre formulaire. Vous pouvez considérer unedisposition de contrôle comme un tableau dont chaque cellule contient un contrôle. Les procéduressuivantes vous indiquent comment ajouter, supprimer ou réorganiser des contrôles dans les mises enforme de contrôle.

Les mises en forme de contrôle sont de deux types : tabulaire et empilé.

Dans les mises en forme de contrôle tabulaires, les contrôles sont disposés en lignes et en colonnes àla manière d'une feuille de calcul, avec des étiquettes en haut. Les mises en forme de contrôle

Page 119: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma119

tabulaires s'étendent toujours sur deux sections d'un formulaire : quelle que soit la section où setrouvent les contrôles, les étiquettes figurent dans la section précédente.

Dans les mises en forme empilées, les contrôles sont disposés verticalement à la manière d'unformulaire papier, avec une étiquette à gauche de chaque contrôle. Les mises en forme empiléesfigurent toujours dans une même section de formulaire.

Vous pouvez avoir plusieurs mises en forme de contrôle de type quelconque sur un formulaire. Vouspouvez par exemple avoir une disposition tabulaire pour créer une ligne de données pour chaqueenregistrement et une ou plusieurs mises en forme empilées au-dessous, qui contiennent davantaged'informations pour le même enregistrement .

Créer une nouvelle disposition de contrôle

Access crée automatiquement des mises en forme de contrôle empilées dans l'une des circonstancessuivantes :

Vous créez un nouveau formulaire en cliquant sur Formulaire dans le groupe Formulaires de l'ongletCréer.

Vous créez un nouveau formulaire en cliquant sur Formulaire vierge dans le groupe Formulaires del'onglet Créer, puis en faisant glisser un champ du volet Liste de champs vers le formulaire.

Sur un formulaire existant, vous pouvez créer une nouvelle disposition de contrôle en procédantcomme suit :

1. Sélectionnez un contrôle que vous voulez ajouter à la disposition.2. Si vous voulez ajouter d'autres contrôles à la même disposition, maintenez la touche Maj enfoncée

tout en sélectionnant ces contrôles.3. Effectuez l'une des opérations suivantes :

Page 120: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma120

Sur l'onglet Réorganiser, dans le groupe Contrôler la disposition, cliquez sur Tabulaire

ou Empilé . Cliquez avec le bouton droit sur le ou les contrôles sélectionnés, pointez sur Disposition, puis

cliquez sur Tabulaire ou Empilé .

Access crée la disposition du contrôle et lui ajoute les contrôles sélectionnés.

Basculer d'une disposition de contrôle tabulaire à empilée et inversement

Pour basculer la totalité d'une disposition d'un type à un autre :

Sélectionnez la disposition de contrôle en cliquant sur le sélecteur orange de disposition dans le coinsupérieur gauche de la disposition. Toutes les cellules de la disposition sont sélectionnées.

Effectuez l'une des opérations suivantes :Sur l'onglet Réorganiser, dans le groupe Contrôler la disposition, cliquez sur le type de

disposition souhaité (Tabulaire ou Empilé .Cliquez avec le bouton droit sur la disposition de contrôle, pointez sur Disposition et cliquezsur le type de disposition souhaité.

Accès réorganise les contrôles dans le type de disposition souhaité.

Fractionner une disposition de contrôle en deux dispositions

Vous pouvez fractionner une disposition de contrôle en deux dispositions en procédant comme suit :

1. Maintenez la touche Maj enfoncée et cliquez sur les contrôles que vous souhaitez déplacer vers lanouvelle disposition de contrôle.

2. Effectuez l'une des opérations suivantes : Sur l'onglet Réorganiser, dans le groupe Contrôler la disposition, cliquez sur le type de

disposition souhaité pour la nouvelle disposition (Tabulaire ou Empilé . Cliquez avec le bouton droit sur les contrôles sélectionnés, pointez sur Disposition, puis

cliquez sur le type souhaité pour la nouvelle disposition.

Access crée une nouvelle disposition de contrôle et lui ajoute les contrôles sélectionnés.

Réorganiser les contrôles d'une disposition de contrôle

Vous pouvez déplacer un contrôle d'une disposition de contrôle en le faisant glisser jusqu'àl'emplacement souhaité. En faisant glisser le champ, une barre horizontale ou verticale indique où ilsera placé lorsque vous relâchez le bouton de la souris.

Vous pouvez déplacer un contrôle d'une mise en page de contrôle vers une autre du même type. Vouspouvez par exemple faire glisser un contrôle d'une disposition empilée vers une autre dispositionempilée, mais pas vers une disposition tabulaire.

Ajouter des contrôles à une disposition de contrôle

Pour ajouter un champ du volet Liste de champs à une disposition de contrôle existante

Page 121: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma121

Faites glisser le champ du volet Liste des champs vers la disposition. Une barre horizontale ouverticale indique où le champ sera placé lorsque vous relâchez le bouton de la souris.

Pour ajouter des contrôles existants à une disposition de contrôle existante

1. Sélectionnez le premier contrôle que vous voulez ajouter à la disposition de contrôle.2. Si vous voulez ajouter d'autres contrôles à la même disposition, maintenez la touche Maj enfoncée

tout en sélectionnant ces contrôles. Vous pouvez sélectionner des contrôles d'autres mises en formede contrôle.

3. Effectuez l'une des opérations suivantes : Si le formulaire est ouvert en mode Création, faites glisser les champs sélectionnés vers la

disposition. Une barre horizontale ou verticale indique où les champs seront placés lorsquevous relâchez le bouton de la souris.

Si le formulaire est ouvert en mode Page :1. Sous l'onglet Réorganiser, dans le groupe Contrôler la disposition, cliquez sur le

type de disposition auquel vous ajoutez les contrôles. Si vous ajoutez des contrôles à

une disposition tabulaire, cliquez sur Tabulaire . Si vous ajoutez des contrôles à

une disposition empilée, cliquez sur Empilé .

Access crée une nouvelle disposition et lui ajoute les contrôles sélectionnés.

2. Faites glisser la nouvelle disposition vers la disposition existante. Une barre horizontale ouverticale indique où les champs seront placés lorsque vous relâchez le bouton de la souris.

Supprimer des contrôles d'une disposition de contrôle

La suppression d'un contrôle d'une disposition de contrôle vous permet de le placer n'importe où surle formulaire sans incidence sur la position des autres contrôles.

Sélectionnez le contrôle à supprimer de la disposition. Pour sélectionner plusieurs contrôles,maintenez la touche Maj enfoncée tout en cliquant sur les contrôles à supprimer. Pour sélectionnertous les contrôles de la disposition, cliquez sur la zone du sélecteur de disposition dans le coinsupérieur gauche de la disposition.

Effectuez l'une des opérations suivantes :Sous l'onglet Réorganiser, dans le groupe Contrôler la disposition, cliquez sur Supprimer

.Cliquez avec le bouton droit sur l'un des contrôles sélectionnés, pointez sur Disposition, puis

cliquez sur Supprimer .

Accès supprime les contrôles sélectionnés de la disposition.

Présentation des modes Page et Création

Mode Page Le mode Page est l'affichage le plus intuitif lorsqu'il s'agit de modifier un formulaire.Vous pouvez y effectuer pratiquement toutes les modifications qu'il est possible d'apporter à unformulaire dans Office Access 2007. En mode Page, le formulaire est bel et bien en cours d'exécution,si bien que vous pouvez voir vos données telles qu'elles apparaîtront en mode Formulaire. Néanmoins,ce mode vous permet également d'apporter des modifications à la conception du formulaire. Étant

Page 122: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma122

donné que les données sont visibles pendant que vous modifiez le formulaire, il s'agit d'un mode trèspratique pour définir la taille des contrôles ou pour effectuer presque toutes les autres tâches qui ontune incidence sur l'aspect et l'utilisation du formulaire.

Certaines tâches ne peuvent pas être effectuées en mode Page et nécessitent de passer en modeCréation. Dans certaines situations, Access affiche un message vous indiquant que vous devez passeren mode Création pour effectuer une modification particulière.

Mode Création Le mode Création offre une vue plus détaillée de la structure de votre formulaire,avec une décomposition des sections En-tête, Détail et Pied de page du formulaire. Le formulaire n'estpas réellement en cours d'exécution lorsqu'il est affiché en mode Création, si bien que vous ne pouvezpas voir les données sous-jacentes pendant que vous apportez des modifications à la structure ;toutefois, certaines tâches s'effectuent plus facilement en mode Création qu'en mode Page. En effet,vous pouvez :

ajouter une plus grande diversité de contrôles à votre formulaire, notamment des étiquettes, desimages, des lignes et des rectangles ;

modifier la source des contrôles Zone de texte dans les zones de texte elles-mêmes, sans passer par lafeuille de propriétés ;

Redimensionnez des sections de formulaire, comme la section En-tête de formulaire ou Détail. modifier certaines propriétés de formulaire qui ne peuvent pas l'être en mode Page (comme les

propriétés Affichage par défaut et Autoriser le mode Formulaire).

Ajuster votre formulaire en mode Page

Une fois que vous avez créé un formulaire, vous pouvez ajuster facilement sa conception en travaillanten mode Page. En vous basant sur les données réelles du formulaire, vous pouvez réorganiser lescontrôles et ajuster leur taille. Vous pouvez placer de nouveaux contrôles dans le formulaire et définirles propriétés de ce dernier et des contrôles qu'il contient.

Pour passer au mode Page, cliquez avec le bouton droit sur le nom du formulaire dans le volet de

navigation, puis cliquez sur Mode Page. .

Access affiche le formulaire en mode Page.

Vous pouvez utiliser la feuille de propriétés pour modifier les propriétés du formulaire et des contrôleset des sections qu'il contient. Pour afficher la feuille de propriétés, appuyez sur F4.

Vous pouvez utiliser le volet Liste de champs pour ajouter des champs de la table ou de la requêtesous-jacente à la structure de votre formulaire. Pour afficher le volet Liste de champs, effectuez l'unedes actions suivantes :

Sous l'onglet Création, dans le groupe Outils, cliquez sur Ajouter des champs existants.

Appuyez sur Alt+F8.

Vous pouvez ensuite faire glisser les champs directement du volet Liste de champs vers votreformulaire.

Page 123: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma123

Pour ajouter un champ unique, double-cliquez dessus ou faites-le glisser du volet Liste de champsvers la section du formulaire où vous souhaitez le faire apparaître.

Pour ajouter plusieurs champs à la fois, maintenez la touche Ctrl enfoncée, puis cliquez sur les champsque vous souhaitez ajouter. Faites ensuite glisser les champs sélectionnés vers le formulaire.

Ajuster votre formulaire en mode Création

Vous pouvez également ajuster la structure de votre formulaire en mode Création. Vous pouvezajouter de nouveaux contrôles et champs au formulaire en les ajoutant à la grille de création. La feuillede propriétés vous donne accès à un grand nombre de propriétés que vous pouvez définir en vue depersonnaliser votre formulaire.

Pour passer au mode Création, cliquez avec le bouton droit sur le nom du formulaire dans le volet de

navigation, puis cliquez sur Mode Création .

Access affiche le formulaire en mode Création.

Vous pouvez utiliser la feuille de propriétés pour modifier les propriétés du formulaire et des contrôleset des sections qu'il contient. Pour afficher la feuille de propriétés, appuyez sur F4.

Vous pouvez utiliser le volet Liste de champs pour ajouter des champs de la table ou de la requêtesous-jacente à la structure de votre formulaire. Pour afficher le volet Liste de champs, effectuez l'unedes actions suivantes :

Sous l'onglet Création, dans le groupe Outils, cliquez sur Ajouter des champs existants.

Appuyez sur Alt+F8.

Vous pouvez ensuite faire glisser les champs directement du volet Liste de champs vers votreformulaire.

Pour ajouter un champ unique, double-cliquez dessus ou faites-le glisser du volet Liste de champsvers la section du formulaire où vous souhaitez le faire apparaître.

Pour ajouter plusieurs champs à la fois, maintenez la touche Ctrl enfoncée, puis cliquez sur les champsque vous souhaitez ajouter. Faites ensuite glisser les champs sélectionnés vers le formulaire.

Pour ajouter un champ unique, double-cliquez dessus ou faites-le glisser du volet Liste de champsvers la section du formulaire où vous souhaitez le faire apparaître.

Pour ajouter plusieurs champs à la fois, maintenez la touche Ctrl enfoncée, puis cliquez sur les champsque vous souhaitez ajouter. Faites ensuite glisser les champs sélectionnés vers le formulaire.

Ajouter des contrôles à votre formulaire

Certains contrôles sont créés automatiquement, comme le contrôle dépendant qui est créé lorsquevous ajoutez un champ du volet Liste de champs au formulaire. De nombreux autres contrôlespeuvent être créés en mode Création à l'aide des outils du groupe Contrôles, sous l'onglet Créer.

Page 124: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma124

REMARQUE Plusieurs outils du groupe Contrôles ne sont accessibles que lorsque votre formulaireest ouvert en mode Création. Pour passer au mode Création, cliquez avec le bouton droit sur le nom

du formulaire dans le volet de navigation, puis cliquez sur Mode Création .

Déterminer le nom d'un outil

Placez le pointeur de la souris sur l'outil.

Access affiche le nom de l'outil.

Utiliser les Assistants Contrôle

Vous pouvez utiliser les Assistants pour créer des boutons de commande, des zones de liste, des sous-formulaires, des zones de liste déroulante et des groupes d'options. Sous l'onglet Créer, dans legroupe Contrôles, si l'option Utiliser les Assistants contrôle n'est pas activée, cliquez dessus pourl'activer.

Si vous préférez créer des contrôles sans l'aide de l'Assistant, cliquez sur l'option Utiliser lesAssistants contrôle pour la désactiver.

Créer un contrôle à l'aide des outils du groupe Contrôles

1. Cliquez sur l'outil correspondant au type de contrôle que vous souhaitez ajouter. Par exemple, pourcréer une case à cocher, cliquez sur l'outil Case à cocher.

2. Cliquez dans la grille de création de formulaire à l'endroit où vous souhaitez positionner le coinsupérieur gauche du contrôle. Cliquez une fois pour créer un contrôle de taille standard, ou cliquez surl'outil et faites glisser le pointeur de la souris dans la grille de création de formulaire pour créer uncontrôle de taille personnalisée.

3. Si vous avez activé l'option Utiliser les Assistants contrôle et que le contrôle que vous souhaitezplacer est associé à un Assistant, celui-ci démarre et vous guide tout au long du processus deparamétrage du contrôle.

4. Si vous ne positionnez pas parfaitement le contrôle, vous pouvez le déplacer en procédant commesuit :

1. Cliquez sur le contrôle pour le sélectionner.2. Placez le pointeur de la souris sur le contrôle pour qu'il se transforme en flèche cruciforme .3. Cliquez sur le contrôle et faites-le glisser jusqu'à l'emplacement souhaité.

Si vous utilisez un Assistant Contrôle, il est possible qu'il contienne une procédure pour lier le contrôleà un champ. À défaut, cette procédure crée un contrôle indépendant. Si, de par son type, le contrôleest en mesure d'afficher des données (par exemple, une zone de texte ou une case à cocher), vous

Page 125: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma125

devez entrer le nom d'un champ ou une expression dans la zone de la propriété Source contrôle ducontrôle pour que ce dernier puisse afficher des données. Pour afficher les propriétés d'un contrôle,sélectionnez le contrôle et appuyez sur F4.

Enregistrer votre travail

Dès lors que vous enregistrez la structure de votre formulaire, vous pouvez exécuter le formulaire aussisouvent que vous le souhaitez. Si la structure ne change pas, les données sont actualisées chaque foisque vous affichez le formulaire. Si vos besoins évoluent, vous pouvez modifier la structure duformulaire, voire créer un nouveau formulaire basé sur l'original.

Enregistrer la structure d'un formulaire

1. Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez sur Ctrl+S.

Cliquez sur Enregistrer dans la Barre d'outils Accès rapide ou appuyez sur Ctrl+S.

2. Si le formulaire est sans titre, tapez un nom dans la zone Nom de formulaire, puis cliquez sur OK.

Enregistrer la structure d'un formulaire sous un nouveau nom

1. Cliquez sur le bouton Microsoft Office , puis sur Enregistrer sous.

2. Dans la boîte de dialogue Enregistrer sous, tapez un nom dans la zone Enregistrer le formulairedans, sélectionnez Formulaire dans la liste En tant que, puis cliquez sur OK.

Page 126: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma126

Créer un formulaire contenant un sous-formulaire (formulaireun-à-plusieurs)

Lorsque vous utilisez des données relationnelles (données liées stockées dans des tables distinctes), ilest souvent nécessaire d'afficher les données de plusieurs tables ou requêtes dans le même formulaire.Par exemple, il est possible que vous souhaitiez consulter les données d'un client en même temps queles détails concernant les commandes de celui-ci. Le sous-formulaire est un outil pratique qui permetde réaliser cette opération. Microsoft Office Access 2007 propose plusieurs méthodes pour créerrapidement des sous-formulaires.

Présentation des sous-formulaires Créer un formulaire contenant un sous-formulaire en utilisant l'Assistant Formulaire Créer un sous-formulaire en faisant glisser un formulaire sur un autre Créer un formulaire contenant deux sous-formulaires Créer un formulaire contenant des sous-formulaires imbriqués

Page 127: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma127

Présentation des sous-formulaires

Un sous-formulaire est un formulaire inséré dans un autre formulaire. Le formulaire de base est appeléformulaire principal et le formulaire qu'il contient, sous-formulaire. Une combinaison formulaire/sous-formulaire est parfois appelée formulaire hiérarchique ou formulaire père/fils.

Les sous-formulaires s'avèrent particulièrement utiles lorsque vous souhaitez afficher les données detables ou de requêtes qui ont une relation un-à-plusieurs.. Par exemple, vous pouvez créer unformulaire contenant un sous-formulaire pour afficher les données d'une table Catégories et cellesd'une table Produits. Les données de la table Catégories représentent le côté « un » de la relation,tandis que les données de la table Produits représentent le côté « plusieurs » de la relation. Autrementdit, chaque catégorie peut avoir plusieurs produits.

Le formulaire principal affiche les données du côté « un » de la relation.

Le sous-formulaire affiche les données du côté « plusieurs » de la relation.

Dans ce type de formulaire, le formulaire principal et le sous-formulaire sont liés, si bien que le sous-formulaire ne présente que les enregistrements associés à l'enregistrement actif du formulaireprincipal. Ainsi, lorsque le formulaire principal présente la catégorie Boissons, le sous-formulaireprésente uniquement les produits de cette catégorie. Si le formulaire et le sous-formulaire n'étaientpas liés, le sous-formulaire présenterait tous les produits, et pas seulement ceux de la catégorieBoissons.

Le tableau suivant définit quelques termes relatifs aux sous-formulaires. Même si Access traite laplupart des détails liés à l'utilisation des procédures décrites , il est utile de savoir ce qui se passe « encoulisses » pour apporter des modifications ultérieures.

Terme Définition

Contrôle desous-formulaire

Contrôle qui permet d'incorporer un formulaire dans un autre formulaire. Vous pouvezcomparer le contrôle de sous-formulaire à une « vue » d'un autre objet de votre basede données, qu'il s'agisse d'un autre formulaire, d'une table ou d'une requête. Lecontrôle de sous-formulaire possède des propriétés qui vous permettent de lier lesdonnées affichées dans le contrôle aux données du formulaire principal.

Propriété Objetsource

Propriété du contrôle de sous-formulaire qui indique l'objet qui s'affiche dans lecontrôle.

Feuille de Affichage simple de données sous forme de lignes et de colonnes, à la manière d'unefeuille de calcul. Le contrôle de sous-formulaire affiche une feuille de données lorsque

Page 128: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma128

données son objet source est une table ou une requête, ou encore un formulaire dont lapropriété Affichage par défaut est définie sur Feuille de données. Dans ces cas, lesous-formulaire est parfois appelé feuille de données et non sous-formulaire.

Propriété Lierles champsenfants

Propriété du contrôle de sous-formulaire qui indique le ou les champs du sous-formulaire qui sont liés au formulaire principal.

Propriété Lierles champspères

Propriété du contrôle de sous-formulaire qui indique le ou les champs du formulaireprincipal qui sont liés au sous-formulaire.

Pour optimiser les résultats, commencez par établir toutes les relations. Access peut ainsi créerautomatiquement les liens entre les sous-formulaires et les formulaires principaux. Pour afficher oumodifier les relations existantes entre les tables de votre base de données ou pour en créer denouvelles, sous l'onglet Outils avancés, dans le groupe Analyser, cliquez sur Relations. Pour plusd'informations sur la création de relations, voir les liens de la section Voir aussi.

Lorsqu'un contrôle de sous-formulaire a pour objet source un formulaire, il contient les champs quevous placez dans ce formulaire, et il peut être affiché en tant que formulaire standard, formulairecontinu ou feuille de données. Baser un sous-formulaire sur un objet de formulaire vous permetd'ajouter des champs calculés au sous-formulaire, par exemple, [Quantité] * [Prix unitaire].

Vous pouvez également insérer une feuille de données dans un formulaire en créant un contrôle desous-formulaire dont l'objet source est une table ou une requête. Une feuille de données ne peut pasêtre personnalisée comme un sous-formulaire ; par exemple, vous ne pouvez pas ajouter un champcalculé à une feuille de données. En revanche, vous pouvez créer un sous-formulaire basé sur unformulaire qui contient un champ calculé, puis définir la propriété Affichage par défaut de ceformulaire sur Feuille de données. Vous obtenez ainsi un sous-formulaire de type feuille de donnéesqui contient un champ calculé.

Créer un formulaire contenant sous-formulaire à l'aide de l'Assistant Formulaire

Cette procédure permet de créer une combinaison formulaire/sous-formulaire à l'aide de l'AssistantFormulaire.

1. Sous l’onglet Créer, dans le groupe Formulaires, cliquez sur Plus de formulaires, puis sur Assistant

Formulaire .

Si l'Assistant ne démarre pas

2. Dans la liste déroulante Tables/Requêtes de la première page de l'Assistant, sélectionnez une table ouune requête. Dans le cadre de cet exemple, pour créer un formulaire Catégories qui présente lesproduits de chaque catégorie dans un sous-formulaire, sélectionnez Table : Catégories (le côté « un »de la relation un-à-plusieurs).

REMARQUE Peu importe la table ou la requête que vous choisissez en premier.

Page 129: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma129

3. Double-cliquez sur les champs de cette table ou requête que vous souhaitez inclure.4. Dans la même page de l'Assistant, sélectionnez une autre table ou requête dans la liste déroulante

Tables/Requêtes. Pour cet exemple, sélectionnez la table Produits (le côté « plusieurs » de la relationun-à-plusieurs).

5. Double-cliquez sur les champs de cette table ou requête que vous souhaitez inclure.6. Lorsque vous cliquez sur Suivant, à supposer que vous ayez correctement configuré les relations avant

de démarrer l'Assistant, celui-ci vous pose la question suivante : Comment souhaitez-vous affichervos données ? (c'est-à-dire, en fonction de quelle table ou requête). Dans le cadre de cet exemple,pour créer le formulaire Catégories, cliquez sur par Catégories. L'Assistant affiche une image réduitedu formulaire. La zone dans la partie inférieure du formulaire représente le sous-formulaire.

7. En bas de la page de l'Assistant, sélectionnez l'option Formulaire avec sous-formulaire(s) et puis surSuivant.

8. Dans la page Quelle disposition souhaitez-vous pour votre sous-formulaire ? de l'Assistant, cliquezsur Tabulaire ou Feuille de données selon la disposition souhaitée pour votre sous-formulaire. Lesdeux styles dispose les données du sous-formulaire sous forme de lignes et de colonnes, mais ladisposition tabulaire est plus personnalisable. Vous pouvez ajouter de la couleur, des graphiques etd'autres éléments de mise en forme, tandis qu'une feuille de données est plus compact, tout comme lemode Feuille de données d'une table. Lorsque vous avez effectué votre sélection, cliquez sur Suivant.

9. Dans la page Quel style souhaitez-vous ? de l'Assistant, sélectionnez un style de mise en forme pourle formulaire. Si vous avez choisi Tabulaire à la page précédente, le style de mise en forme choisi estégalement appliqué au sous-formulaire. Une fois votre sélection effectuée, cliquez sur Suivant.

10. À la dernière page de l'Assistant, entrez les titres des formulaires. Access nomme les formulaires enfonction des titres entrés et crée l'étiquette du sous-formulaire en fonction du titre attribué à celui-ci.

Indiquez également dans cette page si vous souhaitez ouvrir le formulaire en mode Formulaireafin de pouvoir afficher ou modifier les informations ou si vous souhaitez l'ouvrir en modeCréation afin de modifier sa conception. Une fois votre sélection effectuée, cliquez surTerminer.

Access crée deux formulaires : un pour le formulaire principal comprenant le contrôle de sous-formulaire et un pour le sous-formulaire proprement dit.

Créer un sous-formulaire en faisant glisser un formulaire sur un autre

Suivez cette procédure si vous disposez de deux formulaires existants et que vous souhaitez en utiliserun comme sous-formulaire de l'autre formulaire.

1. En mode Création, ouvrez le formulaire que vous souhaitez utiliser comme formulaire principal.2. Dans le groupe Contrôles de l'onglet Créer, si l'outil Utiliser les Assistants contrôle est sélectionné,

cliquez dessus pour le sélectionner.

3. Faites glisser un formulaire du volet de navigation vers le formulaire principal.

Access ajoute un contrôle de sous-formulaire au formulaire principal et lie le contrôle au formulaireque vous avez fait glisser depuis le volet de navigation. Access tente également de lier le sous-formulaire au formulaire principal, en fonction des relations qui ont été définies dans votre base dedonnées. Si Access n'est pas en mesure de lier le sous-formulaire au formulaire principal, les propriétés

Page 130: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma130

Lier les champs enfants et Lier les champs pères du contrôle de sous-formulaire sont vides, et vousdevez les définir manuellement en procédant comme suit :

1. Cliquez avec le bouton droit sur le formulaire principal dans le volet de navigation, puis cliquez sur

Mode Création .2. Cliquez sur le contrôle de sous-formulaire pour le sélectionner.3. Si la feuille de propriétés n'est pas déjà affichée, appuyez sur F4 pour l'afficher.

4. Dans l'onglet Données de la feuille des propriétés, cliquez sur en regard de la boîte des propriétésLier les champs fils.

La boîte de dialogue Éditeur de liens des champs des sous-formulaires apparaît.

5. Dans les listes déroulantes Champs pères et Champs enfants, sélectionnez les champs auxquels voussouhaitez lier les formulaires. Si vous hésitez quant aux champs à choisir, cliquez sur Suggérer pourqu'Access tente de déterminer les champs de liaison. Lorsque vous avez terminé, cliquez sur OK.

Si vous ne voyez pas le champ que vous souhaitez utiliser pour lier les formulaires, vous devrezpeut-être modifier la source d'enregistrement du formulaire fils ou du formulaire enfant desorte que le champ de liaison s'y trouve. Par exemple, si le formulaire est basé sur une requête,vous devez vous assurer que le champ de liaison est présent dans les résultats de la requête.

6. Enregistrez le formulaire principal et passez en mode Formulaire pour vérifier que le formulairefonctionne comme prévu.

Ouvrir un sous-formulaire dans une nouvelle fenêtre en mode Création

Si vous souhaitez apporter des modifications à la structure d'un sous-formulaire alors que vous utilisezson formulaire principal en mode Création, vous pouvez ouvrir le sous-formulaire dans sa proprefenêtre :

1. Cliquez sur le sous-formulaire pour le sélectionner.2. Sous l’onglet Création, dans le groupe Outils, cliquez sur Sous-formulaire dans une nouvelle

fenêtre .

Créer un formulaire contenant deux sous-formulaires

Cette procédure permet de créer un formulaire et deux sous-formulaires présentant lescaractéristiques suivantes :

Le formulaire principal a une relation un-à-plusieurs avec le premier sous-formulaire. Le premier sous-formulaire a une relation un-à-plusieurs avec le deuxième sous-formulaire. Le formulaire principal contient les deux contrôles de sous-formulaire.

Créer le formulaire

1. Sous l’onglet Créer, dans le groupe Formulaires, cliquez sur Plus de formulaires, puis sur Assistant

Formulaire .

Page 131: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma131

Si l'Assistant ne démarre pas

2. Dans la liste déroulante Tables/Requêtes de la première page de l'Assistant, sélectionnez la table oula requête pour le formulaire principal. Par exemple, supposons que vous souhaitiez créer unformulaire Clients intégrant deux sous-formulaires (un sous-formulaire Commandes et un sous-formulaire Détails des commandes). Sélectionnez la table Clients (le côté « un » de la première relationun-à-plusieurs).

REMARQUE Peu importe la table ou la requête que vous choisissez en premier.

3. Double-cliquez sur les champs de cette table ou requête que vous souhaitez inclure.4. Dans la même page de l'Assistant, sélectionnez la table ou la requête pour le premier sous-formulaire

dans la liste déroulante Tables/Requêtes. Pour cet exemple, cliquez sur la table Commandes (le côté« plusieurs » de la première relation un-à-plusieurs), puis double-cliquez sur les champs de cette tableou requête que vous souhaitez inclure.

5. Dans la même page de l'Assistant, sélectionnez la table ou la requête pour le deuxième sous-formulaire dans la liste déroulante Tables/Requêtes. Pour cet exemple, cliquez sur la table Détails descommandes (le côté « plusieurs » de la deuxième relation un-à-plusieurs), puis double-cliquez sur leschamps de cette table ou requête que vous souhaitez inclure.

6. Lorsque vous cliquez sur Suivant, à supposer que vous ayez correctement configuré les relations avantde démarrer l'Assistant, celui-ci vous pose la question suivante : Comment souhaitez-vous affichervos données ? (c'est-à-dire, en fonction de quelle table ou requête). Dans le cadre de cet exemple,pour créer le formulaire Clients, cliquez sur Par Clients.

7. Sélectionnez l'option Formulaire avec sous-formulaire(s).8. Suivez les instructions fournies dans les pages restantes de l'Assistant. Dès lors que vous cliquez sur

Terminer, Access crée d'une part un formulaire principal qui contient deux contrôles de sous-formulaire et d'autre part deux autres objets de formulaire (un pour chaque sous-formulaire).

Créer un formulaire contenant des sous-formulaires imbriqués

Cette procédure permet de créer un formulaire et deux sous-formulaires présentant lescaractéristiques suivantes :

Le formulaire principal a une relation un-à-plusieurs avec le premier sous-formulaire. Le premier sous-formulaire a une relation un-à-plusieurs avec le deuxième sous-formulaire. Le premier sous-formulaire contient le deuxième sous-formulaire.

REMARQUE Cette procédure crée deux niveaux de sous-formulaires, mais vous pouvez la répéter defaçon à créer jusqu'à sept niveaux.

1. Créez un formulaire contenant un sous-formulaire. Pour obtenir davantage d'informations, voir lasection Créer un formulaire contenant un sous-formulaire au moyen de l'Assisant Formulaire.

2. Ouvrez le formulaire principal en mode Création.3. Cliquez sur le sous-formulaire pour le sélectionner.4. Sous l’onglet Création, dans le groupe Outils, cliquez sur Sous-formulaire dans une nouvelle

fenêtre .

Access ouvre le sous-formulaire dans une nouvelle fenêtre.

Page 132: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma132

5. Faites glisser un formulaire, une table ou une requête du volet de navigation vers le sous-formulaire.Access crée un autre sous-formulaire à l'intérieur du premier sous-formulaire, ainsi qu'un formulairepour le sous-formulaire.

Access ajoute un contrôle de sous-formulaire au sous-formulaire et lie ce dernier au formulaire quevous avez fait glisser depuis le volet de navigation. Access tente également de lier les sous-formulaires,en fonction des relations qui ont été définies dans votre base de données. Si Access n'est pas enmesure d'effectuer la liaison, les propriétés Lier les champs enfants et Lier les champs pères ducontrôle de sous-formulaire sont vides, et vous devez les définir manuellement en procédant commesuit :

1. Cliquez une fois sur le contrôle de sous-formulaire pour le sélectionner.2. Si la feuille de propriétés n'est pas déjà affichée, appuyez sur F4 pour l'afficher.

3. Dans l'onglet Données de la feuille des propriétés, cliquez sur en regard de la boîte des propriétésLier les champs fils.

La boîte de dialogue Gestionnaire de liaisons du sous-formulaire s'affiche.

4. Dans les listes déroulantes Champs pères et Champs enfants, sélectionnez les champs auxquels voussouhaitez lier les formulaires. Si vous hésitez quant aux champs à choisir, cliquez sur Suggérer pourqu'Access tente de déterminer les champs de liaison. Lorsque vous avez terminé, cliquez sur OK.

Si vous ne voyez pas le champ que vous souhaitez utiliser pour lier les formulaires, vous devrezpeut-être modifier la source d'enregistrement du formulaire fils ou du formulaire enfant desorte que le champ de liaison s'y trouve. Par exemple, si le formulaire est basé sur une requête,vous devez vous assurer que le champ de liaison est présent dans les résultats de la requête.

5. Enregistrez les formulaires et passez en mode Formulaire pour vérifier que le formulaire fonctionnecomme prévu.

Page 133: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma133

Créer un état simple

Vous pouvez créer un grand nombre d'états différents dans Microsoft Office Access 2007, du plussimple au plus complexe. Pour commencer, penchez-vous sur la source d'enregistrements de votreétat. Si votre état est constitué d'une simple liste d'enregistrements ou d'un état des ventes dans unerégion, vous devez d'abord définir les champs qui contiendront les données à afficher dans l'état, ainsique les tables ou les requêtes dans lesquelles elles seront stockées.

Après avoir choisi votre source d'enregistrement, vous trouverez généralement plus facile de créervotre état en utilisant l'Assistant État. L'Assistant État est une fonctionnalité Access qui vous guide, viaune série de questions, et génère ensuite un état basé sur vos réponses.

Choisir une source d'enregistrements Créer un état à l'aide de l'Assistant État Créer un état à l'aide de l'Assistant État Créer un état en utilisant l'outil État vide Présentation des sections d'un état Présentation des contrôles Affiner la présentation de votre état en mode Page Affiner la présentation de votre état en mode Création Ajouter des contrôles à l'état Enregistrer votre travail Afficher, ou envoyer votre état sous forme de message électronique

Page 134: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma134

Choisir une source d'enregistrement

Un état est constitué d'informations provenant de tables ou de requêtes, ainsi que d'informationsstockées dans la structure même de l'état, telles que des étiquettes, des en-têtes et des graphiques.Les tables et les requêtes contenant les données sous-jacentes sont également appelées « sourced'enregistrement de l'état ». Si les champs à inclure sont tous stockés dans une seule table, utilisezcette table comme source d'enregistrement. Si les champs proviennent de plusieurs tables, vous devezutiliser une ou plusieurs requêtes comme source d'enregistrement. Dans certains cas, ces requêtesexistent déjà dans la base de données. Dans d'autres cas, vous devez créer de nouvelles requêtes, enfonction des besoins de l'état. La section Voir aussi contient des liens vers des informationscomplémentaires.

Créer un état à l'aide de l'Assistant État

L'outil État est le moyen de création d'état le plus rapide, car la génération d'état est automatique, sansdemande d'informations. L'état affiche tous les champs provenant de la table ou de la requête sous-jacente. L'outil État ne peut créer le produit finalisé, mais il est très pratique pour donner un aperçurapide des données sous-jacentes. Vous pouvez enregistrer l'état en mode Page ou en mode Création,en fonction de vos besoins.

1. Dans le volet de navigation, cliquez sur la table sur laquelle vous voulez baser le rapport ou la requête.

2. Sous l'onglet Créer, dans le groupe États, cliquez sur État.

Access crée et affiche l'état en mode Page.

3. La section Afficher, ou envoyer votre état sous forme de message électronique contient plusd'informations sur l'affichage et l'impression de votre état.

Une fois l'état affiché, vous pouvez l'enregistrer, puis fermer, soit l'état et les données sous-jacentes,soit la requête utilisée comme source d'enregistrement. À la prochaine ouverture de l'état, Accessaffichera les données les plus récentes de la source d'enregistrement.

Créer un état en utilisant l'Assistant État

Vous pouvez utiliser l'Assistant État pour affiner la sélection des champs constitutifs de votre état.Vous pouvez également spécifier le mode de regroupement et de tri des données, et utiliser deschamps provenant de plusieurs tables ou requêtes, à condition d'avoir défini au préalable les relationsentre les tables et les requêtes. La section Voir aussi contient plus d'informations sur la création desrelations.

1. Sous l'onglet Créer, dans le groupe États, cliquez sur Assistant État.

2. Suivez les instructions de l'Assistant État. Sur la dernière page de l'Assistant, cliquez sur Terminer.

Sur l'aperçu de l'état, vous apercevez l'état tel qu'il apparaîtra à l'impression. Vous pouvezégalement augmenter le grossissement en utilisant la fonction zoom pour un aperçu détaillé. La

Page 135: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma135

section Visualiser, ou envoyer votre état sous la forme d'un courrier électronique contient plusd'informations sur l'affichage et l'impression de votre état.

REMARQUE Si vous souhaitez inclure des champs provenant de plusieurs tables et requêtes dansvotre état, ne cliquez pas sur Suivant ou Terminer après la sélection des champs de la première tableou requête, dans l'Assistant État. Répétez les étapes de sélection d'une table ou d'une requête, etcliquez sur les champs supplémentaires à inclure dans l'état. Cliquez ensuite sur Suivant ou surTerminer pour continuer.

Créer des étiquettes par le biais de l'Assistant Étiquette

L'Assistant Étiquette permet de créer facilement des étiquettes, pour un grand nombre de taillesd'étiquette standard.

1. Dans le volet de navigation, double-cliquez sur la table ou la requête qui servira de sourced'enregistrement pour l'ouvrir.

2. Sous l'onglet Créer, dans le groupe États, cliquez sur Étiquettes.3. Suivez les instructions de l'Assistant Étiquette. Sur la dernière page de l'Assistant, cliquez sur

Terminer.

Access affiche vos étiquettes en mode Aperçu avant impression, de façon à les afficher telles qu'ellesapparaîtront à impression. Le contrôle de curseur dans la barre d'état vous permet d'agrandir lesdétails. La section Visualiser, ou envoyer votre état sous la forme d'un courrier électronique contientplus d'informations sur l'affichage et l'impression de votre état.

REMARQUE Aperçu avant impression est la seule vue que vous pouvez utiliser pour afficherplusieurs colonnes, toutes les autres vues affichent les données dans une seule colonne.

Créer un état en utilisant l'outil État vide

Si vous ne souhaitez pas utiliser l'outil État ou l'Assistant État, vous pouvez utiliser l'outil État vide pourcréer un état vide. Il s'agit d'un moyen très rapide de créer un état, en particulier si vous envisagez den'insérer que quelques champs dans votre état. Pour utiliser l'outil État vide, procédez comme suit :

1. Sous l'onglet Créer, dans le groupe États, cliquez sur État vide.

Un état vide s'affiche, en mode Page, et la Liste des champs s'affiche sur la partie droite de lafenêtre Access.

2. Dans la Liste des champs, cliquez sur le signe plus affiché en regard de la ou des tables contenant leschamps à afficher dans l'état.

3. Faites glisser les champs un à un dans l'état ou, tout en maintenant la touche CTRL enfoncée,sélectionnez plusieurs champs et faites-les glisser simultanément dans l'état.

4. Utilisez les outils du groupe Contrôles, sous l'onglet Mise en forme , pour ajouter le logo, le titre, lesnuméros de page, la date et l'heure à l'état.

Page 136: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma136

Pour plus d'informations sur l'ajout de fonctionnalités à votre état, suivez les liens de la section Voiraussi.

Présentation des sections d'un état

La structure d'un état Access est divisée en sections. Affichez votre état en mode Création pour afficherces sections. Pour créer des états performants, il est important de comprendre le fonctionnement dechaque section. Par exemple, la section dans laquelle vous placerez un contrôle calculé détermine lemode de calcul des résultats dans Access. La liste suivante présente la synthèse des types de sections,et leur utilisation respective :

En-tête d'état L'en-tête est imprimé une seule fois, dans la partie supérieure de l'état. En règlegénérale, l'en-tête d'un état regroupe les informations habituelles d'une page de garde, telles quelogo, titre ou date. Lorsque vous placez un contrôle calculé qui utilise la fonction de regroupementSomme dans l'en-tête d'état, la somme est calculée pour l'état entier. L'en-tête d'état est impriméavant l'en-tête de page.

En-tête de page Cette section est imprimée en haut de chaque page. Par exemple, utilisez un en-tête de page pour répéter le titre d'un état sur chaque page.

En-tête de groupe L'en-tête de groupe est imprimé au début de chaque nouveau grouped'enregistrements. Cet en-tête de groupe permet d' le nom du groupe. Par exemple, dans un état oùles éléments sont regroupés par produit, utilisez l'en-tête de groupe pour le nom du produit. Lorsquevous placez un contrôle calculé utilisant la fonction de regroupement Somme dans l'entête degroupe, la somme est calculée pour le groupe actif.

Détail Le détail est imprimé une seule fois, pour chaque ligne de la source d'enregistrement.L'emplacement des contrôles constitue le corps de l'état.

Pied de page de groupe Imprimé au bas de chaque groupe d'enregistrements. Utilisez un pied depage pour un résumé des informations d'un groupe.

Pied de page Imprimé au bas de chaque page. Utilisez un pied de page pour les numéros de pageou des informations sur les pages.

Pied d'état Imprimé une seule fois, au bas de l'état. Le pied d'état permet d' le total des états, oud'autres informations de synthèse relatives à l'ensemble de l'état.

REMARQUE En mode Création, le pied d'états'affiche sous le pied de page. Notez toutefoisque lors de l'impression, ou en mode Aperçu avant impression, le pied d'état s'affiche sous lepied de page, juste après le dernier pied de groupe ou la ligne de détail de la dernière page.

Présentation des contrôles

Les contrôles sont des objets qui affichent des données, effectuent des actions et vous permettentd'afficher et d'utiliser des informations susceptibles d'améliorer l'interface utilisateur, telles que desétiquettes et des images. Accès prend en charge trois types de contrôles : dépendants, indépendantset calculés :

Page 137: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma137

Contrôle dépendant Un contrôle dont la source de données est un champ de table ou de requêteest un contrôle dépendant. Les contrôles dépendants permettent d'afficher des valeurs provenant deschamps de votre base de données. Ces valeurs peuvent être de natures diverses : texte, dates,nombres, valeurs Oui/Non, images ou graphiques. Les contrôles dépendants sont généralementconstitués de zones de texte. Par exemple, une zone de texte d'un formulaire affichant le nom d'unemployé peut extraire cette information du champ Nom de la table Employés.

Contrôle indépendant Un contrôle qui n'est pas lié à une source de données (champ ouexpression) est un contrôle indépendant. Utilisez les contrôles indépendants pour afficher desinformations, des lignes, des rectangles et des images. Par exemple, une étiquette affichant le titred'un état est un contrôle indépendant.

Contrôle calculé Un contrôle dont la source de données est une expression, et non un champ, estun contrôle calculé. Vous pouvez définir la valeur de votre choix pour le contrôle en définissant uneexpression comme source de données pour le contrôle. Une expression est une combinaisond'opérateurs (tels que = et + ), des noms de contrôles, des noms de champs, des fonctions renvoyantune valeur unique et des valeurs constantes. Par exemple, l'expression suivante calcule le prix d'unarticle avec une remise de 25 pourcent en multipliant la valeur du champ Prix unitaire par une valeurconstante (0,75).

= [Prix unitaire] * 0,75

Une expression peut utiliser des données provenant d'un champ de la table ou de la requêtesous-jacente, ou d'un contrôle de l'état.

Pour plus d'informations sur les expressions, suivez les liens de la section Voir aussi.

Lors de la création d'un état, il est recommandé d'ajouter et d'organiser d'abord tous les contrôlesdépendants, surtout s'ils constituent la majeure partie de l'état. Vous pouvez ensuite ajouter lescontrôles indépendants et calculés qui complètent la conception avec les outils du groupe Contrôlesde l'ongletCréation.

Vous pouvez lier un contrôle de zone de texte à un champ en identifiant le champ d'où proviennentles données du contrôle. Vous pouvez créer un contrôle lié au champ sélectionné en faisant glisser lechamp depuis la zone Liste de champs sur l'état. La Liste de champs affiche les champs provenant dela table ou de la requête sous-jacente de l'état. Pour afficher la Liste de champs, sousl'ongletCréation, dans le groupe Contrôles, cliquez sur Ajouter des champs existants.

Vous pouvez également lier un champ à un contrôle en tapant le nom de champ, directement dans lecontrôle ou dans la zone de la valeur SourceContrôle dans la feuille de propriétés du contrôle. Lafeuille de propriétés permet de définir les caractéristiques du contrôle, par exemple son nom, la sourcede ses données et son format.

La Liste de champs constitue le meilleur moyen de créer un contrôle, pour deux raisons :

Un contrôle dépendant possède un libellé attaché, qui porte systématiquement le nom du champ (oude la légende définie pour ce champ dans la table ou requête sous-jacente), de sorte que vous nedevez pas taper le nom de la légende manuellement.

Un contrôle dépendante hérite de la plupart des paramètres du champ de la table sous-jacente, tellesque les propriétés Format, Décimales et MasqueSaisie). Vous pouvez donc vous assurer que cespropriétés de champ resteront les mêmes à chaque création d'une zone de texte liée à ce champ.

Page 138: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma138

Si vous avez déjà créé un contrôle indépendant que vous voulez lier à un champ, définissez lapropriétéSourceContrôlesur le nom du champ. Pour plus d'informations sur la propriétéSourceContrôle, lancez une recherche du terme « SourceContrôle » dans l'aide en ligne.

Affiner la présentation de votre état en mode Page

Après avoir créé un état, vous pouvez facilement affiner sa présentation en utilisant le moded'affichage Page. En vous basant sur les données de l'état actif, vous pouvez ajuster la largeur descolonnes et les réorganiser, et ajouter des niveaux de regroupement et de totaux. Vous pouvez placerde nouveaux champs dans l'état, et définir les propriétés pour l'état et les contrôles correspondants.

Pour basculer en mode Page, cliquez avec le bouton droit sur le nom de l'état dans le volet de

navigation, puis cliquez sur Mode Page ..

Access affiche l'état en mode Page.

La feuille de propriétés permet de modifier les propriétés de l'état, ainsi que ses contrôles et sessections. Pour afficher la feuille de propriétés, appuyez sur F4.

Le volet Liste des champs permet d'ajouter des champs de la table ou de la requête sous-jacente à laprésentation de votre état. Pour afficher le volet Liste des champs, effectuez l'une des opérationssuivantes :

Sous l'onglet Création, dans le groupe Outils, cliquez sur Ajouter des champs existants.

Appuyez sur Alt+F8.

Vous pouvez alors ajouter des champs en les faisant glisser du volet Liste des champs dans l'état.

Affiner la présentation de votre état en mode Création

Vous pouvez également affiner la présentation de votre état en travaillant en mode Création. Vouspouvez ajouter de nouveaux contrôles et champs dans votre état, en les ajoutant à la grille de création.La feuille de propriétés vous permet d'accéder à un grand nombre de propriétés que vous pouvezdéfinir pour personnaliser votre état.

Pour basculer en mode Création, cliquez avec le bouton droit sur le nom de l'état dans le volet de

navigation, puis cliquez sur Mode Création. .

Access affiche l'état en mode Création.

La feuille de propriétés permet de modifier les propriétés de l'état, ainsi que ses contrôles et sessections. Pour afficher la feuille de propriétés, appuyez sur F4.

Page 139: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma139

Le volet Liste des champs permet d'ajouter des champs de la table ou de la requête sous-jacente à laprésentation de votre état. Pour afficher le volet Liste des champs, effectuez l'une des opérationssuivantes :

Sous l'onglet Création, dans le groupe Outils, cliquez sur Ajouter des champs existants.

Appuyez sur Alt+F8.

Vous pouvez alors ajouter des champs en les faisant glisser du volet Liste des champs dans l'état.

Ajouter des champs du volet Liste des champs

Pour ajouter un seul champ, faites glisser le champ de la Liste des champs vers la section danslaquelle il doit s'afficher dans l'état.

Pour ajouter plusieurs champs en même temps, maintenez la touche CTRL enfoncée et cliquez sur leschamps de votre choix. Faites glisser les champs sélectionnés dans l'état.

Lorsque vous placez les champs dans une section d'état, Access crée automatiquement une zone detexte dépendante pour chaque champ et insère un contrôle d'étiquette en regard de chaque champ.

Ajouter des contrôles à l'état

Certains contrôles sont automatiquement créés, comme le contrôle lié de zone de texte, crééautomatiquement lors de l'ajout d'un champ depuis la Liste des champs dans l'état Vous pouvez créerun grand nombre d'autres contrôles en mode Création, en utilisant les outils du groupe Contrôles,sous l'onglet Création.

Afficher le nom d'un outil

Déplacez le curseur au-dessus de l'outil.

Access affiche le nom de l'outil.

Créer un contrôle à l'aide des outils du groupe Contrôles

1. Cliquez sur l'outil du type de contrôle que vous ajoutez. Par exemple pour créer une case à cocher,

cliquez sur l'outil Case à cocher .2. Cliquez dans la grille de création de l'état, à l'emplacement souhaité pour le coin supérieur droit du

contrôle. Cliquez une fois pour créer un contrôle dont la taille est définie par défaut, ou cliquez surl'outil et faites-le glisser dans la grille de création d'état pour créer un contrôle de la taille de votrechoix.

Page 140: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma140

3. Si vous ne positionnez pas le contrôle parfaitement à la première tentative, vous pourrez le déplacerultérieurement, en procédant comme suit :

1. Cliquez sur le contrôle pour le sélectionner.2. Positionnez le pointeur de la souris sur le bord du contrôle jusqu'à ce que ce pointeur

devienne une flèche à quatre pointes .3. Cliquez et faites glisser le contrôle à l'emplacement souhaité.

Cette procédure crée un contrôle « indépendant ». Si le type du contrôle permet d'afficher desdonnées (une zone de texte ou une case à cocher, par exemple), vous devez taper un nom de champou une expression dans la propriété Source contrôle pour paramétrer l'affichage des données. Pourplus d'informations, consultez la section Présentation des contrôles dans cette rubrique.

Afficher la feuille de propriétés

Pour afficher la feuille de propriétés en mode Création, procédez comme suit :

Sous l'onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Feuille de propriétés.

Appuyez sur F4.

Enregistrer votre travail

Après avoir enregistré la structure de votre état, vous pouvez l'exécuter aussi souvent que vous lesouhaitez. La structure de l'état reste inchangée, mais vous accéderez aux données actuelles à chaqueimpression de l'état. En cas de modification des besoins, vous pouvez modifier la structure de l'état, oucréer un nouvel état similaire, basé sur l'original.

Enregistrer la structure de votre état

1. Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez sur Ctrl+S.

Vous pouvez également cliquer sur Enregistrer dans la barre d'outils Accès rapide.

2. Si l'état ne possède pas de titre, tapez un nom dans la zone Nom de l'état, puis cliquez sur OK .

Enregistrer votre structure d'état sous un nouveau nom

1. Cliquez sur le bouton Microsoft Office , puis sur Enregistrer sous.

2. Dans la boîte de dialogue Enregistrer sous, tapez un nom dans la zone Enregistrer l'état sous,sélectionnez État dans la zoneSous , et cliquez sur OK.

Afficher, ou envoyer votre état sous forme de message électronique

Page 141: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma141

Après avoir enregistré votre structure d'état, vous pouvez l'utiliser autant de fois que nécessaire. Lastructure reste inchangée, mais vous accéderez aux données actuelles à chaque affichage ouimpression de l'état. Si vos besoins changent, vous pouvez modifier la structure de l'état et en créer unautre, similaire à l'original.

Afficher votre état

Il existe plusieurs façons d'afficher un état. Le mode d'affichage choisi doit dépendre de l'utilisation àlaquelle votre état et ses données sont destinés :

Si vous souhaitez apporter des modifications temporaires aux données affichées sur l'état avant de l',ou si vous souhaitez copier certaines données de l'état dans le Presse-papiers, utilisez le modeAffichage de l'état.

Ce mode d'affichage vous permet de pouvoir changer la structure de l'état, tout en gardant lesdonnées affichées.

Si vous souhaitez simplement afficher l'état tel qu'il sera imprimé, utilisez le mode d'affichage Aperçuavant impression.

REMARQUE Si votre état est composé de plusieurs colonnes, vous ne pouvez voir la disposition descolonnes que dans dans l'aperçu avant impression. La vue Page et la vue État affichent l'état sous laforme d'une colonne simple.

Afficher votre état en mode Affichage de l'état

Ce mode d'affichage est utilisé par défaut lorsque vous double-cliquez sur un état dans le volet denavigation. Si l'état n'est pas ouvert, double-cliquez dessus dans le volet de navigation pour l'afficheren mode Affichage de l'état.

Si l'état est déjà ouvert, cliquez avec le bouton droit sur le nom de l'état dans le volet de navigation,puis cliquez surAffichage de l'état.

Utiliser vos données en mode Affichage de l'état

En mode Affichage de l'état, vous pouvez sélectionner un texte et le copier dans le Presse-papiers.Pour sélectionner des lignes entières, cliquez et faites-les glisser dans la marge située en regard deslignes que vous souhaitez sélectionner. Vous pouvez ensuite copier par l'une des opérations suivantes :

Sous l'onglet Accueil, dans le groupe Presse-papiers, cliquez sur Copier.

Cliquez avec le bouton droit sur les lignes sélectionnées, puis cliquez sur Copier. Raccourci clavier Appuyez sur Ctrl+C.

Afficher uniquement les lignes voulues en appliquant des filtres

Vous pouvez appliquer directement des filtres à votre état, sans quitter le mode Affichage de l'état. Parexemple, si vous possédez une colonne « Pays » et que vous souhaitez afficher uniquement les lignesdont « Canada » est le pays, procédez comme suit :

1. Recherchez le mot « Canada » dans l'état et cliquez dessus avec le bouton droit.2. Cliquez sur Est égal à « Canada ».

Page 142: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma142

Access crée et applique le filtre.

Créer un filtre plus détaillé

1. Cliquez avec le bouton droit sur le champ que vous voulez filtrer.2. Cliquez sur Filtres courants.3. Cliquez sur la condition de filtre de votre choix.4. Entrez vos critères.

Activer ou désactiver un filtre

Vous pouvez commuter entre les affichages filtré et non filtré en cliquant sur Basculer le filtre dugroupe Tri et filtre de l'onglet Accueil. Ceci ne supprime pas le filtre, mais l'active ou le désactive.

Supprimer un champ

1. Cliquez avec le bouton droit sur le champ duquel vous souhaitez supprimer le filtre.2. Cliquez sur Supprimer le filtre.

Lorsqu'un filtre a été supprimé, vous ne pouvez pas le rappeler avec la commande Basculer le filtre.Vous devez d'abord recréer le filtre.

REMARQUE Si vous appliquez un filtre à un état avant de l'enregistrer et de le fermer, le filtre seraenregistré. En revanche, à la prochaine ouverture de l'état, Access ne l'appliquera pas. Pour réappliquerle filtre, sous l'onglet Accueil du groupe Trier et filtrer, cliquez sur Basculer le filtre.

Afficher l'aperçu de votre état en utilisant l'aperçu avant impression

Cliquez avec le bouton droit sur son nom dans le volet de navigation, puis cliquez surAperçu avantimpression dans le menu contextuel.

Vous pouvez utiliser les boutons de navigation pour afficher les pages d'un état dans un ordreséquentiel, ou pour passer à une page spécifique de l'état.

Cliquez pour afficher la première page.Cliquez pour afficher la page précédente.Cliquez pour afficher la page suivante.Cliquez pour afficher la dernière page.Tapez un numéro de page dans cette zone et puis appuyez sur ENTRÉE pour accéder à une page

spécifique.

En mode Aperçu avant impression, vous pouvez effectuer un zoom avant pour agrandir des détails ouun zoom arrière pour avoir une vue d'ensemble des données sur la page. Déplacez le pointeur de lasouris sur l'état et cliquez une fois. Pour annuler l'effet du zoom, cliquez une seconde fois. Vous

Page 143: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma143

pouvez également utiliser la commande Zoom dans la barre d'état pour effectuer un zoom avant ouarrière.

Pour fermer l'aperçu avant impression, effectuez l'une des opérations suivantes :

Dans l'onglet Aperçu avant impression, cliquez sur Fermer l'aperçu avant impression.

Cliquez avec le bouton droit sur l'état dans le volet de navigation, puis cliquez sur Mode Page ou

Mode Création dans le menu contextuel.

CONSEIL Après avoir affiché l'aperçu de votre état, vous pouvez exporter les résultats dansMicrosoft Office Word 2007, Microsoft Office Excel 2007, ou dans plusieurs autres programmes Office.Sous l'onglet Données externes, dans le groupe Exporter les données, cliquez sur le boutoncorrespondant au format souhaité et suivez les instructions affichées.

votre état

Vous pouvez un état ouvert dans l'un des modes ou même s'il est fermé. Avant de lancer l'impression,vérifiez attentivement les paramètres de mise en page, telles que les marges ou l'orientation de lapage. Étant donné qu'Access enregistre les paramètres de mise en page avec l'état, vous ne devez lesdéfinir qu'une seule fois. Vous pourrez ensuite les redéfinir si nécessaire.

Modifier les paramètres de mise en page

1. Ouvrez l'état en mode Aperçu avant impression. Vous pouvez modifier les pramètres de mise enpage dans chaque vue, mais il est préférable d'utiliser l'Aperçu avant impression, car vous pouvez yconsulter directement les effets des différents changements.

2. Dans l'onglet Aperçu avant impression du groupe Mise en page, cliquez sur Portrait ou

Paysage pour définir l'orientation de la page, cliquez ensuite sur Format pour définir la taille

du papier, sur Marges pour définir les marges, etc.3. Après avoir apporté une modification, utilisez les boutons de navigation pour afficher les autres pages

et vérifier que vous n'avez créé aucun problème de mise en forme sur les pages suivantes.

Envoyer votre état vers une imprimante

1. Ouvrez l'état dans n'importe quel mode ou sélectionnez l'état dans le volet de navigation.

2. Cliquez sur le bouton Microsoft Office , puis sur .

Access affiche la boîte de dialogue .

3. Sélectionnez les options appropriées telles que le choix de l'imprimante, la plage d'impression et lenombre de copies.

4. Cliquez sur OK.

Envoyer votre état sous forme de message électronique

Page 144: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma144

Vous pouvez envoyer votre état au destinataire de votre choix, sous forme d'un message électronique,au lieu d'en une copie sur papier :

1. Dans le volet de navigation, cliquez sur l'état pour le sélectionner puis cliquez sur le Bouton

Microsoft Office puis cliquez sur Envoyer .2. Dans la boîte de dialogue Envoyer, dans la liste Sélectionner format d'envoi, cliquez sur le format de

fichier que vous voulez utiliser.

3. Complétez les zones des autres boîtes de dialogue.4. Dans votre application de messagerie, tapez le message et envoyez-le.

Page 145: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma145

Créer et utiliser des sous-états

Lorsque vous utilisez des données relationnelles (les données associées sont stockées dans des tablesdistinctes), vous avez souvent besoin d'afficher des informations provenant de plusieurs tables ourequêtes sur le même état. Vous pouvez, par exemple, afficher des données de client mais vouloirégalement consulter des informations sur les commandes de ce client en même temps. Un sous-étatest un outil qui se révèle utile pour cette tâche, car il vous permet d'afficher des informations decommande sur l'état avec des informations sur le client, de manière logique et lisible. Microsoft OfficeAccess 2007 fournit plusieurs moyens pour vous aider à créer rapidement des sous-états.

Comprendre les sous-états Créer un sous-état Modifier la conception d'un sous-état

Page 146: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma146

Comprendre les sous-états

Un sous-état est un état qui est inséré dans un autre état. Lorsque vous combinez des états, l'un d'euxdoit servir d'état principal qui contient l'autre état. Un état principal est soit lié, soit indépendant. Unétat lié est celui qui peut afficher des données et possède une table, une requête ou une instructionSQL spécifiée dans sa propriété Source. Un état indépendant est un état qui ne repose pas sur unetable, une requête ou une instruction SQL (autrement dit, la propriété Source de l'état est vide).

Exemple d'un état principal indépendant avec deux sous-états non associés

Un état principal indépendant ne peut pas afficher des données lui-même, mais il peut toujours servird'état principal pour les sous-états non associés que vous souhaitez combiner.

L'état principal indépendant contient deux sous-états.Un sous-état résume les ventes par employé.L'autre sous-état résume les ventes par catégorie.

Exemple d'un état principal et d'un sous-état liés à la même source d'enregistrement

Vous pouvez utiliser l'état principal pour afficher des enregistrements de détail, tels que chaque vented'une année, puis utiliser un sous-état pour afficher des informations de synthèse, telles que le totaldes ventes de chaque trimestre.

Le sous-état résume les ventes de l'année par trimestre.L'état principal répertorie les ventes quotidiennes.

Exemple d'un état principal et d'un sous-état liés à des sources d'enregistrement associées

Un état principal peut contenir des données communes à un ou plusieurs sous-états. Dans ce cas, lesous-état contient les données associées aux données dans l'état principal.

Page 147: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma147

L'état principal répertorie le nom et la ville de chaque foire.Le sous-état répertorie les représentants qui doivent assister à chaque foire.

Sous-formulaires sur un état

Un état principal peut inclure des sous-formulaires en plus de sous-états. Il peut aussi contenir autantde sous-formulaires et de sous-états que vous voulez. De plus, un état principal peut contenir jusqu'àsept niveaux de sous-formulaires et de sous-états. Par exemple, un état peut contenir un sous-état etce sous-état peut posséder un sous-formulaire ou un sous-état, et ainsi de suite, jusqu'à atteindre 7niveaux de profondeur.

Si vous ajoutez un sous-formulaire à un état et que vous ouvrez ensuite l'état en mode État, vouspouvez utiliser le sous-formulaire pour filtrer et parcourir les enregistrements. Le code Visual BasicÉdition Applications (VBA) et les macros incorporées liées au formulaire et ses contrôles s'exécutenttoujours, bien que certains événements sont désactivés dans ce contexte. Vous ne pouvez pas ajouter,modifier ou supprimer des enregistrements à l'aide d'un sous-formulaire sur un état.

Liaison entre un état et un sous-formulaire ou un sous-état

Lorsque vous insérez un sous-formulaire ou un sous-état contenant des informations qui sont liées auxdonnées dans l'état principal, le contrôle de sous-état doit être lié à l'état principal. Ce lien garantitque les enregistrements affichés dans le sous-formulaire ou le sous-état correspondent exactementaux enregistrements imprimés dans l'état principal.

Lorsque vous créez un sous-formulaire ou un sous-état à l'aide d'un Assistant ou en faisant glisser unobjet à partir du volet de navigation vers un état, Access lie automatiquement le sous-formulaire ou lesous-état à l'état principal si l'une des conditions suivantes est remplie.

Vous définissez des relations pour les tables que vous sélectionnez, ou vous définissez des relationspour les tables sous-jacentes aux requêtes que vous sélectionnez.

Pour plus d'informations sur la création de relations, consultez les liens dans la section Voiraussi.

L'état principal est basé sur une table avec une clé primaire et le sous-formulaire ou sous-état reposesur une table qui contient un champ portant le même nom que la clé primaire et possède le mêmetype de données ou un type compatible. Si, par exemple, la clé primaire de la table sous-jacente àl'état principal est un champ NuméroAuto et que sa propriété Taille du champ a la valeur Entierlong, le champ correspondant dans la table sous-jacente au sous-formulaire ou au sous-état doit êtreun champ numérique dont la propriété Taille du champ possède la valeur Entier long. Si voussélectionnez une ou plusieurs requêtes comme source d'enregistrement d'un sous-formulaire ou d'unsous-état, les tables sous-jacentes dans la ou les requêtes doivent respecter les mêmes conditions.

Page 148: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma148

Créer un sous-état

Si le sous-état doit être lié à l'état principal, vérifiez que les sources d'enregistrement sous-jacentessont liées avant d'utiliser la procédure suivante. Pour plus d'informations sur la création de relations,consultez les liens dans la section Voir aussi.

Utilisez l'Assistant Sous-état pour créer un sous-état

1. Ouvrez l'état que vous souhaitez utiliser comme état principal en mode Création.

2. Sous l’onglet Création, dans le groupe Contrôles, vérifiez que Utiliser les Assistants contrôle est

sélectionné.

3. Sous l'onglet Créer, dans le groupe Contrôles, cliquez sur Sous-formulaire/Sous-état.4. Dans l'état, cliquez où vous souhaitez placer le sous-état.5. Dans la première page de l'Assistant Sous-état, si vous souhaitez créer un nouveau sous-formulaire ou

sous-état et le baser sur une table ou une requête, cliquez sur Utiliser les tables et les requêtesexistantes. S'il existe un état ou un formulaire que vous souhaitez utiliser en tant que sous-état,cliquez sur Utiliser un état ou un formulaire existant, sélectionnez l'état ou le formulaire dans laliste, puis cliquez sur Suivant.

6. Si vous choisissez Utiliser un état ou un formulaire existant sur la page précédente de l'Assistant,ignorez cette étape et passez directement à l'étape 7. Dans le cas contraire, dans la listeTables/Requêtes, sélectionnez la table ou la requête qui contient les champs à inclure dans le sous-état, puis double-cliquez sur les champs de votre choix dans la liste Champs disponibles pour lesajouter au sous-état.

Page 149: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma149

Si vous prévoyez de lier le sous-état à l'état principal, veillez à inclure le(s) champ(s) devantservir à créer le lien, même si vous ne voulez pas qu'il(s) s'affiche(nt). En règle générale, lechamp de liaison est un champ identifiant. Dans l'illustration précédente, la table Commandesest la source d'enregistrement pour le sous-état, tandis que la table Clients constitue la sourced'enregistrement de l'état principal. Puisque la table Commandes est liée à la table Clients parle champ Code client, ce champ est ajouté à la liste Champs sélectionnés.

REMARQUE Vous pouvez inclure des champs provenant de plusieurs tables ou requêtes àvotre sous-état. Lorsque vous avez terminé d'ajouter des champs d'une table, sélectionnez latable ou la requête suivante dans la liste Tables/Requêtes, puis ajoutez les champs de votrechoix.

Cliquez sur Suivant pour continuer.

7. Sur cette page de l'Assistant, vous déterminez la liaison du sous-état à l'état principal. Si Accessdétecte des champs qui semblent convenir à la liaison du sous-état à l'état principal, l'Assistant afficheune liste de suggestions de liaison possibles.

Page 150: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma150

Vous pouvez sélectionner la suggestion de liaison qui semble la plus appropriée à votresituation ou, si vous ne souhaitez pas que le sous-état soit lié à l'état principal, sélectionnezAucun champ. Pour lier le sous-état à l'état principal, mais qu'aucune des suggestions nesemble appropriée, cliquez sur Les définir moi-même.

REMARQUE Si l'Assistant ne peut pas trouver de champs appropriés pour la liaison, il nefournit pas de liste de suggestions de liaison et sélectionne automatiquement l'option Lesdéfinir moi-même.

Lorsque l'option Les définir moi-même est sélectionnée, l'Assistant affiche deux ensembles delistes.

Sous Champs du formulaire/état, sélectionnez le ou les champs de l'état principal que voussouhaitez utiliser pour lier l'état principal au sous-formulaire ou au sous-état. Vous pouvezsélectionner jusqu'à trois champs et chaque champ que vous sélectionnez doit correspondre à unchamp connexe dans la source de données du sous-formulaire ou du sous-état.

Sous Champs du sous-formulaire/état, sélectionnez le ou les champs correspondants dans lesous-formulaire ou le sous-état lié aux champs de l'état principal que vous avez sélectionné.

Pour conserver le sous-formulaire ou le sous-état indépendant par rapport à l'état principal,vérifiez que toutes les listes sont vides.

Cliquez sur Suivant pour continuer.

8. Dans la dernière page de l'Assistant, tapez un nom pour le sous-formulaire ou le sous-état, ou cliquezsimplement sur Terminer pour accepter les valeurs par défaut.

Page 151: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma151

Access ajoute un contrôle de sous-état à votre état et lie le contrôle (autrement dit, il définit lapropriété Objet source du contrôle) comme suit :

Si vous avez sélectionné Utiliser un état ou un formulaire existant sur la première page del'Assistant, Access lie le contrôle du sous-état à l'état ou formulaire que vous avez spécifié.

Si vous avez sélectionné Utiliser les tables et les requêtes existantes sur la première page del'Assistant, Access crée un nouvel objet d'état dans le volet de navigation, puis lie le contrôle du sous-état à celui-ci. Le nom du nouvel objet d'état est le même que celui que vous avez tapé sur la dernièrepage de l'Assistant.

Ajouter une table, une requête, un formulaire ou un état à un état en tant que sous-état

Une méthode rapide pour ajouter un sous-état à un état consiste à ouvrir l'état principal en modeCréation, puis de faire glisser un objet depuis le volet de navigation vers celui-ci. Si vous souhaitez quele sous-formulaire ou le sous-état soit lié à l'état principal, vérifiez que les sources d'enregistrementsous-jacentes sont liées et que les sources d'enregistrement incluent les champs qui serviront à lier lesous-formulaire ou le sous-état à l'état principal. Pour plus d'informations sur la création de relations,consultez les liens dans la section Voir aussi.

1. Dans le volet de navigation, cliquez avec le bouton droit sur l'état à utiliser en tant qu'état principal,puis cliquez sur Mode Création dans le menu contextuel.

2. Faites glisser une table, une requête, un formulaire ou un autre état à partir du volet de navigationvers la section de l'état principal où vous souhaitez que le sous-état apparaisse.

Access effectue l'une des opérations suivantes :

Si Access peut déterminer comment lier les deux objets, le programme ajoute un contrôle de sous-état à l'état. Si vous ajoutez un formulaire ou un état, Access lie le contrôle de sous-état à cet objet. Sivous ajoutez une table ou une requête, Access crée d'abord un objet d'état puis lie le contrôle desous-état à ce nouvel objet.

Si Access ne peut pas déterminer comment lier les deux objets, l'Assistant Sous-état apparaît. Pourcontinuer, suivez la procédure décrite dans la section Créer un sous-état, en commençant par l'étape7.

Une fois l'exécution de l'Assistant terminée, Access ajoute le sous-état à l'état.

Page 152: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma152

Utilisez la procédure suivante pour revérifier que le sous-formulaire ou le sous-état est correctementlié à l'état principal.

1. Cliquez sur le contrôle de sous-état pour le sélectionner.2. Si la feuille de propriétés n'est pas déjà affichée, appuyez sur F4.3. Sous l'onglet Données de la feuille de propriétés, examinez les propriétés Champs pères et Champs

fils. Pour un sous-formulaire ou un sous-état indépendant, ces deux propriétés doivent être vides. Pour un sous-formulaire ou un sous-état lié, les propriétés Champs pères et Champs fils

doivent afficher le ou les champs qui associent les deux objets entre eux. Si, par exemple,l'état principal affiche des informations depuis la table Employés et que le sous-formulaire oule sous-état affiche des informations à partir de la table Commandes, la propriété Champspères doit afficher le champ identifiant de la table Employés et la propriété Champs fils doitafficher le champ identifiant Employé à partir de la table Commandes.

Vous pouvez découvrir que ces propriétés doivent être modifiées pour que le sous-formulaire ou lesous-état fonctionne correctement. Utilisez la procédure suivante.

1. Sous l'onglet Données de la feuille de propriétés, cliquez sur la zone de propriété Champs pères, puis

sur .

La boîte de dialogue Éditeur de liens des champs des sous-états s'affiche.

2. Dans les listes Champs pères et Champs fils, sélectionnez les champs auxquels vous souhaitez lier lesétats. Si vous n'êtes pas certain des champs à utiliser, cliquez sur Suggérer afin qu'Access tente dedéterminer les champs de liaison. Lorsque vous avez terminé, cliquez sur OK

Si vous ne voyez pas le champ que vous voulez utiliser pour lier l'état, vous devez modifier lasource d'enregistrement de l'état principal, du sous-formulaire ou du sous-état pour vousassurer qu'il contient le champ de liaison. Par exemple, si l'état est basé sur une requête, vousdevez vous assurer que le champ de liaison est présent dans les résultats de la requête.

3. Enregistrez l'état principal et basculez vers le mode État, puis vérifiez que l'état fonctionne commeprévu.

Ajouter une table ou une requête à un état en tant que feuille de données

Une feuille de données est une représentation visuelle simple de données, semblable à une feuille decalcul. Chaque colonne d'une feuille de données représente un champ dans la table ou la requêtesource et chaque ligne représente un enregistrement. Vous pouvez utiliser le sous-formulaire/sous-état pour afficher une feuille de données sur un état. Il s'agit d'une technique adéquate à utiliser dansdes situations où vous souhaitez un affichage compact des données, mais où vous n'avez pas besoin

Page 153: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma153

de fonctionnalités de mise en forme d'un objet formulaire ou état. Pour ajouter une feuille de donnéesà un état :

1. Dans le volet de navigation, cliquez avec le bouton droit sur l'état à utiliser en tant qu'état principal,puis cliquez sur Mode Création dans le menu contextuel.

2. Sous l'onglet Création, dans le groupe Contrôles, vérifiez que Utiliser les Assistants contrôle n'est

pas sélectionné.

3. Sous l'onglet Création, dans le groupe Contrôles, cliquez sur l'outil Sous-formulaire/Sous-état.4. Dans l'état, cliquez où vous souhaitez placer le sous-état.5. Si l'Assistant Sous-état démarre, cliquez sur Annuler pour le fermer.6. Si la feuille de propriétés n'est pas déjà affichée, appuyez sur F4.7. Sur l'état, cliquez sur le nouveau contrôle de sous-état pour le sélectionner.8. Sous l'onglet Données de la feuille de propriétés, cliquez sur la flèche dans la zone de propriété Objet

source, puis cliquez sur la table ou la requête que vous voulez afficher dans le contrôle de sous-état.Par exemple, pour afficher la table Commandes, cliquez sur Table.Commandes.

Access tente de lier la feuille de données à l'état principal, en fonction des relations qui ont étédéfinies dans la base de données.

9. Sous l'onglet Données de la feuille de propriétés, examinez les propriétés Champs pères et Champsfils.

Pour une feuille de données non liée, vérifiez que ces deux propriétés sont vides. Pour une feuille de données liée, vérifiez que les propriétés Champs pères et Champs fils

affichent le ou les champs qui associent l'état principal à la feuille de données. Si, par exemple,l'état principal affiche des informations depuis la table Employés et que la feuille de donnéesaffiche des informations à partir de la table Commandes, la propriété Champs pères doitafficher le champ identifiant de la table Employés et la propriété Champs fils doit afficher lechamp identifiant Employé à partir de la table Commandes.

Dans certains cas, vous devez éventuellement définir les propriétés du champ de lien vous-même. Pourcela, procédez comme suit.

1. Sous l'onglet Données de la feuille de propriétés, cliquez sur la zone de propriété Champs pères, puis

sur .

La boîte de dialogue Éditeur de liens des champs des sous-états s'affiche.

2. Dans les listes Champs pères et Champs fils, sélectionnez les champs que vous souhaitez utiliser pourlier l'état principal à la feuille de données. Si vous n'êtes pas certain des champs à utiliser, cliquez surSuggérer afin qu'Access tente de déterminer les champs de liaison. Lorsque vous avez terminé,cliquez sur OK

Page 154: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma154

Si vous ne voyez pas un champ que vous voulez utiliser pour la liaison, vous devez modifier lasource d'enregistrement de l'état maître ou de la feuille de données pour vous assurer qu'ellecontient le champ de liaison. Par exemple, si la feuille de données est basée sur une requête,vous devez vous assurer que le champ de liaison est présent dans les résultats de la requête.

3. Enregistrez l'état principal et basculez vers le mode État, puis vérifiez que l'état fonctionne commeprévu.

Modifier la conception d'un sous-état

Une fois que vous avez ajouté un sous-état à un état, vous pouvez apporter des modifications à laconception du sous-état, ou faire référence à des données du sous-état sur l'état principal. Les sectionssuivantes fournissent des conseils sur la façon d'effectuer ces tâches.

Ouvrir un sous-formulaire ou un sous-état dans une nouvelle fenêtre en mode Création

Pour apporter des modifications de conception à un sous-formulaire ou un sous-état pendant quevous travaillez sur son état principal en mode Création, vous pouvez ouvrir le sous-formulaire ou lesous-état dans sa propre fenêtre.

1. Cliquez sur le sous-formulaire ou le sous-état pour le sélectionner.

2. Sous l'onglet Création, dans le groupe Outils, cliquez sur Sous-état dans une nouvelle fenêtre.

REMARQUE Cette commande n'est pas disponible si le sous-formulaire/sous-état est lié à une tableou une requête.

Afficher un total à partir d'un sous-état sur l'état principal

Supposons que vous utilisiez un sous-état nommé Commandes qui contient une zone de textenommée Total frais d'expédition et que cette zone de texte calcule la somme de la colonne Fraisd'expédition. Pour afficher la somme à partir du sous-état dans l'état principal, vous devez ajouter unezone de texte à l'état principal, puis utiliser une expression pour faire référence à la zone de texte Totalfrais d'expédition sur le sous-état. Pour cela, procédez comme suit.

1. Cliquez avec le bouton droit sur l'état principal dans le volet de navigation, puis cliquez sur ModeCréation dans le menu contextuel.

2. Sous l'onglet Création, dans le groupe Contrôles, cliquez sur Zone de texte.

3. Sur l'état principal, cliquez où vous voulez placer la nouvelle zone de texte.4. Si la feuille de propriétés n'est pas déjà affichée, appuyez sur F4.5. Sous l'onglet Données de la feuille de propriétés, dans la zone de propriété Source contrôle, tapez

l'expression suivante.

=IIf(IsError([Sous-état Commandes].[État]![Total frais d'expédition]),0,[Sous-étatCommandes].[tat]![Total frais d'expédition])

REMARQUES

Page 155: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma155

Dans cet exemple, vous pouvez utiliser l'expression la plus simple = [Sous-étatcommandes].[État]![Total frais d'expédition] mais ensuite, si le sous-état ne contient aucunedonnée, le contrôle sur l'état principal affiche #Erreur. L'utilisation de la fonction EstErreur dansla fonction VraiFaux, comme indiqué dans la première expression, garantit que la zone de textesur l'état principal affiche un zéro (0) si le sous-état ne renvoie pas de données.

Vous pouvez utiliser le Générateur d'expression pour créer l'expression en cliquant sur dansla zone de propriété Source contrôle.

6. Sous l'onglet Format de la feuille de propriétés, affectez la valeur appropriée à la propriété Format(dans ce cas, Devise).

7. Enregistrez l'état et basculez en mode État pour vérifier que le calcul fonctionne comme prévu.

Page 156: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma156

Créer un état groupé ou de synthèse

Il est souvent plus facile d'interpréter des données lorsqu'elles sont divisées en groupes. Par exemple,un état qui regroupe les ventes par région peut faire ressortir des tendances qui, dans un autre cas,n'auraient pas été relevées. De plus, en plaçant les totaux à la fin de chaque groupe de l'état, vouspouvez vous éviter de faire maintes fois appel à une calculatrice.

Microsoft Office Access 2007 permet de travailler plus facilement avec les états groupés. Vous pouvezcréer un état groupé simple par le biais de l'Assistant État, regrouper et trier les données d'un étatexistant, voire même modifier les options de regroupement et de tri déjà définies.

Principes de fonctionnement du regroupement, des sections d'un état et des contrôles Créer un état groupé à l'aide de l'Assistant État Ajuster un état Ajouter des champs ou d'autres contrôles à un état existant Spécifier ou modifier un regroupement et un tri dans un état existant Enregistrer, imprimer ou envoyer un état Notes

Page 157: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma157

Principes de fonctionnement du regroupement, des sections d'un état et des contrôles

Si vous êtes novice en matière d'états groupés, il est utile de posséder certaines connaissances sur leregroupement et le tri, et de savoir distinguer les différentes sections d'un état et les différents typesde contrôles. Si vous vous sentez suffisamment à l'aise en la matière, vous pouvez ignorer cette sectionet passer directement à la section Créer un état groupé à l'aide de l'Assistant État.

À propos du regroupement et du tri

Lorsqu'il s'agit d'imprimer un état, il est courant d'organiser les enregistrements dans un ordreparticulier. Par exemple, si vous imprimez une liste de fournisseurs, vous pouvez souhaiter trier lesenregistrements par ordre alphabétique des noms de sociétés.

Dans la majorité des cas, le tri des enregistrements s'avère insuffisant pour les états. Vous pouvezégalement souhaiter les diviser en groupes. Un groupe est un ensemble d'enregistrements associés àdes informations de synthèse et de présentation, telles qu'un en-tête. Un groupe se compose d'un en-tête de groupe, de groupes imbriqués (le cas échéant), d'enregistrements de détails et d'un pied degroupe.

Le regroupement permet de séparer visuellement des groupes d'enregistrements et d'afficher desdonnées de synthèse et de présentation pour chaque groupe. Par exemple, l'état suivant regroupe lesventes par date de livraison et indique le montant total des ventes pour chaque jour.

La date introduit le groupe.

Le total résume le groupe.

Vous comprendrez mieux le principe du regroupement en comparant l'état List of Products byCategory (Liste de produits par catégorie) (présenté dans l'illustration suivante) à la feuille de donnéesutilisée pour sa requête sous-jacente, Product List (Liste de produits). Si l'état et la requête trient tousdeux les produits par catégorie, l'état imprime en outre le nom de chaque catégorie sur une lignedistincte au début de chaque groupe (dans l'en-tête du groupe) et le nombre de produits de chaquecatégorie sur une ligne distincte à la fin de chaque groupe (dans le pied de groupe).

Page 158: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma158

Le nom de la catégorie apparaît dans chaque ligne de la feuille de données.

Le nom de la catégorie apparaît fois une pour chaque groupe de l'état, dans l'en-tête de groupe.

Le total de la catégorie s'affiche à la fin de chaque groupe, dans le pied de groupe.

Les enregistrements apparaissent sous la forme d'un grand groupe dans la feuille de données.

Les enregistrements de chaque catégorie apparaissent sous la forme d'une section distincte dansl'état, précédée d'un en-tête de groupe et suivie d'un pied de groupe.

Vous pouvez effectuer un regroupement sur n'importe quel champ et expression faisant l'objet d'un tri(jusqu'à 10). Vous pouvez opérer plusieurs regroupements sur un même champ ou expression.Lorsque vous effectuez un regroupement sur plusieurs champs ou expressions, Office Access 2007imbrique les groupes en fonction de leur niveau de groupe. Le premier champ à faire l'objet d'unregroupement correspond au premier niveau de groupe, le plus important ; le deuxième champ surlequel vous effectuez le regroupement correspond au niveau de groupe suivant ; et ainsi de suite.L'exemple suivant illustre la façon dont Office Access 2007 imbrique les groupes.

Page 159: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma159

Chaque en-tête de groupe est associé à un pied de groupe.

En règle générale, un en-tête de groupe est utilisé pour afficher les données d'identification du groupedans une section distincte, au début du groupe. Le pied de groupe, quant à lui, sert généralement àsynthétiser les données du groupe dans une section distincte située à la fin du groupe.

À propos des sections de l'état

Dans Access, la structure d'un état est divisée en sections. Pour créer des états utiles, vous devezcomprendre le principe de fonctionnement de chaque section. Par exemple, la section dans laquellevous choisissez de placer un contrôle calculé détermine la façon dont les résultats sont calculés dansAccess. La liste ci-dessous affiche un résumé des différents types de section et de leurs usages.

En-tête d'état Imprimé une fois au début de l'état. L'en-tête d'état contient des informations quiapparaissent normalement dans une page de garde, comme un logo ou un titre et une date. L'en-têted'état s'imprime avant l'en-tête de page. Lorsque vous placez un contrôle calculé dans l'en-tête d'état,la valeur est calculée pour l'état entier. Par exemple, si vous placez un contrôle qui utilise la fonctiond'agrégation Somme dans l'en-tête de l'état, la somme est calculée pour l'état tout entier.

En-tête de page Imprimé en haut de chaque page. Un en-tête de page est utile, par exemple, pourrépéter le titre de l'état dans chaque page.

En-tête de groupe Imprimé au début de chaque nouveau groupe d'enregistrements. Vous pouvezutiliser l'en-tête de groupe pour imprimer le nom du groupe. Par exemple, dans un état regroupé parproduit, utilisez l'en-tête de groupe pour imprimer le nom du produit. Lorsque vous placez un contrôlecalculé qui utilise la fonction d'agrégation Somme dans l'en-tête de groupe, la somme est calculéepour le groupe actuel.

Détail Imprimé une fois pour chaque ligne de la source d'enregistrement. La section Détail estl'endroit où vous placez les contrôles qui constituent le corps principal de l'état.

Pied de groupe Imprimé à la fin de chaque groupe d'enregistrements. Vous pouvez utiliser un piedde groupe pour imprimer des informations de synthèse sur un groupe.

Pied de page Imprimé à la fin de chaque page. Vous pouvez utiliser un pied de page pour imprimerles numéros de page ou des informations spécifiques pour chaque page.

Pied d'état Imprimé une fois au début de l'état. Vous pouvez utiliser le pied d'état pour imprimer lestotaux de l'état ou d'autres informations de synthèse pour l'ensemble de l'état.

REMARQUE En mode Création, le pied d'état se trouve en dessous du pied de page.Toutefois, lorsque vous imprimez l'état ou que vous l'affichez en aperçu, le pied d'état apparaît

Page 160: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma160

au-dessus du pied de page, de suite après le dernier pied de groupe ou la ligne de détail de ladernière page.

À propos des contrôles

Les contrôles sont des objets qui présentent des données, effectuent des actions et permettent devisualiser et utiliser des informations qui améliorent l'interface utilisateur, telles des étiquettes et desimages. Access prend en charge trois types de contrôles : dépendant, indépendant et calculé. La listeci-dessous affiche un résumé de ces contrôles et de leurs usages.

Contrôle dépendant Contrôle dont la source de données est un champ dans une table ou unerequête. Vous pouvez utiliser des contrôles dépendants pour afficher les valeurs de champs de votrebase de données. Ces valeurs peuvent correspondre à du texte, des dates, des nombres, des valeursOui/Non, des images ou des graphiques. La zone de texte est le type de contrôle dépendant le pluscourant. Par exemple, une zone de texte placée dans un formulaire qui indique le nom d'un employépeut extraire ces informations dans le champ Nom de la table Employés.

Contrôle indépendant Contrôle associé à aucune source de données. Vous pouvez utiliser lescontrôles indépendants pour afficher des informations, des lignes, des rectangles et des images. Parexemple, une étiquette présentant le titre d'un état est un contrôle indépendant.

Contrôle calculé Contrôle dont la source de données est une expression plutôt qu'un champ. Vouspouvez y spécifier la valeur de votre choix en définissant une expression comme source de données ducontrôle. Une expression est une combinaison d'opérateurs (tels que = et +), de noms de contrôles, denoms de champs, de fonctions qui renvoient une valeur unique et des valeurs de constante. Parexemple, l'expression suivante calcule le prix d'un article avec une remise de 25 % en multipliant lavaleur indiquée dans le champ Unit Price (Prix unitaire) par une valeur de constante (.75).

= [Unit Price] * .75

Une expression peut utiliser les données d'un champ d'une table ou d'une requête sous-jacentede l'état ou d'un contrôle de ce dernier.

Lorsque vous créez un état, la solution la plus efficace consiste probablement à ajouter et à organisertous les contrôles dépendants en premier, particulièrement s'ils constituent la majorité des contrôlesde l'état. Vous pouvez ensuite ajouter les contrôles indépendants et calculés complétant la structureen utilisant les outils disponibles dans le groupe Contrôles de l'onglet Créer.

Vous pouvez lier un contrôle à un champ en identifiant le champ à partir duquel le contrôle obtient sesdonnées. Vous pouvez créer un contrôle lié au champ sélectionné en faisant glisser le champ du voletListe de champs vers l'état. (Le volet Liste de champs contient les champs de la table ou de larequête sous-jacente de l'état. Pour afficher ce volet, effectuez l'ine des actions suivantes :

Sous l'onglet Création, dans le groupe Outils, cliquez sur Ajouter des champs existants.

Appuyez sur Alt+F8.

Page 161: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma161

Lorsque vous double-cliquez sur un champ ou que vous le faites glisser du volet Liste de champs versl'état, vous créez un contrôle dépendant.

Vous pouvez également lier un champ à un contrôle en tapant le nom du champ dans le contrôle lui-même ou dans la zone correspondant à la valeur de SourceContrôle dans la feuille des propriétés ducontrôle. La feuille des propriétés définit les caractéristiques du contrôle, tels son nom, la source de sesdonnées et son format. Pour afficher la feuille des propriétés, appuyez sur F4.

Le meilleur moyen de créer un contrôle dépendant est d'utiliser le volet Liste de champs, et ce pourdeux raisons :

Un contrôle dépendant est associé à une étiquette qui prend le nom du champ (ou la légende définiepour ce champ dans la table ou la requête sous-jacente) comme légende par défaut, de sorte que vousn'avez pas besoin de taper la légende elle-même.

Un contrôle dépendant hérite de nombreux paramètres communs au champ de la table ou de larequête indépendante (tel est le cas pour les propriétés Format, Décimales et MasqueSaisie). Vousêtes ainsi assuré que ces propriétés du champ demeurent inchangées chaque fois que vous créez uncontrôle lié à ce champ.

Si vous disposez déjà d'un contrôle indépendant et que vous voulez le lier à un champ, attribuez à lapropriété SourceContrôle du contrôle le nom du champ.

Créer un état groupé à l'aide de l'Assistant État

L'Assistant État vous présente une série de questions puis génère un état basé sur vos réponses. Vousserez notamment invité à indiquer le nom du ou des champs à utiliser pour regrouper votre état. Unefois l'état créé, vous pouvez l'utiliser tel quel ou le modifier en fonction de vos besoins. Avant dedémarrer avec l'Assistant État, vous devez choisir une source de données.

Choisir une source d'enregistrement

Un état contient des informations extraites d'une table ou d'une requête, ainsi que des informationsstockées avec la structure de l'état, telles que des étiquettes, des en-têtes et des graphiques. La tableou la requête qui fournit les données sous-jacentes est également appelée source d'enregistrement del'état. Avant de vous lancer dans la création de votre état, vous devez tout d'abord réfléchir auxinformations que vous voulez y inclure. Parmi les champs que vous choisirez doivent figurer ceux surlesquels vous souhaitez effectuer un regroupement ou une synthèse. Si les champs que vous souhaitezinclure se trouvent tous dans une table unique, utilisez cette dernière comme source d'enregistrement.Si les champs sont extraits de plusieurs tables, vous aurez tout intérêt à utiliser une requête commesource d'enregistrement. Il se peut que cette requête existe déjà dans votre base de données. Àdéfaut, vous devrez peut-être en créer une qui réponde spécifiquement aux besoins de votre état.

Pour plus d'informations sur les requêtes, suivez les liens de la section Voir aussi de cet article.

Démarrer l'Assistant État

1. Sous l'onglet Créer, dans le groupe États, cliquez sur Assistant État.

Access démarre l'Assistant État.

Page 162: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma162

2. Cliquez sur la liste déroulante Tables/Requêtes et choisissez la table ou la requête qui contient leschamps que vous souhaitez faire figurer dans l'état.

3. Double-cliquez ensuite sur des champs de la liste Champs disponibles pour les sélectionner.

Access les déplace dans la liste Champs sélectionnés. Vous pouvez également cliquer sur lesboutons situés entre les zones Champs disponibles et Champs sélectionnés pour ajouter ousupprimer le champ sélectionné ou l'ensemble des champs.

4. S'il y a des champs d'une autre table ou requête que vous souhaitez placer dans l'état, cliquez ànouveau dans la liste Tables/Requêtes et choisissez la table ou la requête en question, puis continuezà ajouter des champs.

5. Dès que vous avez terminé d'ajouter des champs, cliquez sur Suivant.

Regrouper des enregistrements dans l'Assistant État

Le regroupement permet d'organiser et de disposer les enregistrements par groupe, tel que Région ouReprésentant. Il est possible d'imbriquer des groupes afin de faciliter l'identification des relations entreles groupes et retrouver rapidement les informations dont vous avez besoin. Vous pouvez égalementrecourir au regroupement pour calculer des informations de synthèse, telles que des totaux ou despourcentages.

Lorsque vous incluez plusieurs tables à un état, l'Assistant examine les relations existant entre lestables et détermine la façon dont vous souhaitez afficher les informations.

1. Dans la page de l'Assistant État où vous est posée la question Souhaitez-vous ajouter un niveau deregroupement ?, cliquez sur l'un des noms de champs dans la liste, puis cliquez sur Suivant.

2. Pour ajouter des niveaux de regroupement, double-cliquez dans la liste sur les noms de champssouhaités pour les ajouter à l'état.

Page 163: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma163

Vous pouvez également supprimer un niveau de groupe en double-cliquant dessus dans lazone d'affichage de la page, à droite de la boîte de dialogue. Utilisez les boutons fléchés pourajouter et supprimer des niveaux de regroupement, et ajustez la priorité d'un niveau de groupeen le sélectionnant et en cliquant sur les boutons de priorité Haut et Bas. Access ajoute chaqueniveau de groupe et le présente imbriqué dans son niveau de groupe parent.

3. Cliquez sur Options de regroupement pour afficher la boîte de dialogue Intervalles deregroupement.

4. Pour chaque champ de regroupement, choisissez éventuellement un intervalle de regroupement.

L'intervalle de regroupement permet de personnaliser la façon dont les enregistrements sontregroupés. Dans l'illustration précédente, les enregistrements sont regroupés sur le champShippedDate (Date de livraison), dont les données sont de type Date/Heure. L'Assistant Étatoffre des choix appropriés au type de champ dans la liste Intervalles de regroupement. Par

Page 164: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma164

conséquent, étant donné que le champ ShippedDate contient des données de type Date/Time,vous pouvez choisir d'effectuer un regroupement par valeur réelle (Normal), Année, Trimestre,Mois, Semaine, Jour, Heure et Minute. Si le champ avait été de type Texte, vous auriez puchoisir d'effectuer un regroupement en fonction du champ entier (Normal), voire d'un ouplusieurs des cinq premiers caractères. Dans le cas d'un type de données numérique, vouspouvez choisir d'effectuer un regroupement en fonction de la valeur (Normal) ou d'une plageavec incréments sélectionnés.

Après avoir sélectionné un intervalle de regroupement, cliquez sur OK.

5. Cliquez sur Suivant pour accéder à la page suivante de l'Assistant.

Trier et synthétiser des enregistrements.

Vous pouvez trier les enregistrements en fonction d'un à quatre champs, par ordre croissant oudécroissant.

1. Cliquez sur la première liste déroulante et choisissez le champ sur lequel doit porter le tri.

Vous pouvez cliquer sur le bouton situé à droite de la liste pour passer d'un ordre croissant à unordre décroissant et inversement (Croissant est la valeur par défaut). Cliquez éventuellementsur la deuxième, la troisième et la quatrième liste déroulante pour choisir d'autres champs detri.

2. Cliquez sur Options de synthèse si vous souhaitez synthétiser des champs numériques.

Page 165: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma165

Notez que le bouton Options de synthèse ne s'affiche que si la section Détail de votre étatcomporte un ou plusieurs champs numériques. L'Assistant affiche les champs numériquesdisponibles.

3. Activez la case à cocher sous votre choix (Somme, Moy, Min ou Max) pour inclure ces calculs dans lepied de groupe.

Vous pouvez également choisir d'afficher les détails et la synthèse ou uniquement la synthèse.Dans ce dernier cas, les totaux de chaque valeur ShippedDate sont affichés (si vous avez activéla case à cocher correspondant à Somme, par exemple), mais les détails de la commande sontomis. Vous pouvez également choisir d'afficher le pourcentage du total des calculs dans le casdes sommes.

4. Cliquez sur OK.5. Suivez les instructions fournies dans les pages restantes de l'Assistant État. Dans la dernière page, vous

pouvez modifier le titre de l'état. Ce titre s'affichera sur la première page de l'état, et Access l'attribueraà l'état comme nom de document au moment de l'enregistrement. Vous pouvez modifierultérieurement le titre et le nom du document.

6. Cliquez sur Terminer. Access enregistre automatiquement l'état et l'affiche en mode Aperçu avantimpression, qui présente l'état tel qu'il sera imprimé.

Vous pouvez utiliser les boutons de navigation situés au bas du volet d'aperçu pour visualiser lespages de l'état par ordre séquentiel ou pour atteindre n'importe quelle page de l'état. Cliquez sur l'undes boutons de navigation ou tapez le numéro de la page que vous souhaitez afficher dans la zone dunuméro de page, puis appuyez sur ENTRÉE.

En mode Aperçu avant impression, vous pouvez effectuer un zoom avant pour afficher les détails ouun zoom arrière pour voir si les données sont correctement positionnées sur la page. Placez lepointeur de la souris sur l'état, puis cliquez une fois. Pour inverser l'effet de zoom, cliquez à nouveau.Vous pouvez également utiliser le contrôle de zoom situé dans la barre d'état.

Page 166: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma166

Ajuster un état

Il est probable que l'Assistant État ne produise pas exactement les résultats escomptés au niveau del'état. Ainsi, peut-être souhaiterez-vous ajouter du texte, ajuster la largeur des colonnes, ajouter unlogo, etc. Access vous permet d'apporter ces modifications dans deux modes d'affichage, à savoir lemode Page et le mode Création, qui sont brièvement décrits dans cette section.

À propos du mode Page

Le mode Page est le mode d'affichage le plus convivial lorsqu'il s'agit d'apporter des modifications àun état, et il offre la plupart des outils dont vous avez besoin pour ajuster votre état. Vous pouvezajuster la largeur des colonnes, réorganiser ces dernières et ajouter ou modifier des niveaux deregroupement et des totaux. Vous pouvez placer de nouveaux champs dans la structure de l'état etdéfinir les propriétés de l'état et de ses contrôles. L'avantage du mode Page réside dans le fait que vosdonnées restent affichées à l'écran pendant que vous modifiez la mise en forme de l'état, ce qui vouspermet d'apprécier immédiatement l'effet de vos modifications sur l'affichage des données.

Pour ouvrir un état en mode Page, cliquez avec le bouton droit sur l'état dans le volet de navigation,

puis cliquez sur Mode Page .

Vous pouvez utiliser la feuille des propriétés pour modifier les propriétés de l'état et de ses contrôleset sections. Pour afficher la feuille des propriétés, appuyez sur F4.

Le volet Liste de champs vous permet d'ajouter des champs de la table ou de la requête sous-jacenteà la structure de votre état. Pour afficher le volet Liste de champs :

Sous l'onglet Création, dans le groupe Outils, cliquez sur Ajouter des champs existants.

À propos du mode Création

Si vous ne parvenez pas à apporter une modification spécifique à votre état en mode Page, essayez lemode Création. Dans ce mode, la structure sous-jacente de l'état est affichée, et vous disposez d'outilset de possibilités de création supplémentaires par rapport au mode Page. Par exemple, vous pouvezplacer une plus grande variété de contrôles dans l'état, vous pouvez ajuster l'alignement des contrôlesavec une précision accrue, et vous avez la possibilité de définir davantage de propriétés qu'en modePage.

Pour ouvrir un état en mode Page, cliquez avec le bouton droit sur l'état dans le volet de navigation,

puis cliquez sur Mode Création .

Ajouter des champs ou d'autres contrôles à un état existant

Chaque champ, étiquette, ligne ou image que vous voyez dans votre état a été créé à partir d'uncertain type de contrôle. Le contrôle le plus fréquemment utilisé dans un état est la zone de texte. Ils'agit normalement du type de contrôle utilisé pour afficher les données de la source d'enregistrementsous-jacente de l'état. Vous pouvez créer des zones de texte déjà liées à des champs de la sourced'enregistrement en ajoutant des champs à partir du volet Liste de champs, ou vous pouvez lesajouter à l'état pendant que vous travaillez en mode Création (vous devez dans ce cas les « lier » vous-même à des champs de la source d'enregistrement). L'avantage du mode Création réside dans le faitque vous pouvez ajouter divers autres types de contrôles en plus des zones de texte dépendantes, tels

Page 167: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma167

des rectangles, des sauts de page et des graphiques. Cette section décrit ces deux méthodes d'ajoutde contrôles à un état.

Ajouter des champs à un état existant

Même si le mode Page est le mode d'affichage recommandé pour l'ajout de champs à un état, cetteopération est également possible en mode Création. Avant d'ajouter un champ, vérifiez tout d'abordque le volet Liste de champs est affiché. Celui-ci contient la liste de tous les champs susceptiblesd'être placés dans l'état. Pour afficher le volet Liste de champs, appuyez sur ALT+F8.

Ajouter des champs à partir du volet Liste de champs

Pour ajouter un seul champ, faites-le glisser du volet Liste de champs vers la section de l'état où ildoit figurer.

Pour ajouter plusieurs champs à la fois, cliquez sur un premier champ, maintenez la touche CTRLenfoncée et cliquez sur chaque champ supplémentaire souhaité. Faites ensuite glisser les champssélectionnés vers l'état.

Lorsque vous déposez les champs, Access crée un contrôle Zone de texte dépendante pour chaquechamp et place automatiquement un contrôle Étiquette à côté de chaque champ.

REMARQUES

Si vous ajoutez un champ issu d'une table associée, Access ajoute le niveau de groupe approprié àvotre place.

Si vous ajoutez un champ provenant d'une autre table (non associée), Access affiche une boîte dedialogue dans laquelle vous pouvez spécifier le mode de liaison de la table à la source de donnéesexistante de l'état.

Pour analyser les relations de tables déjà spécifiées pour votre base de données ou pour en ajouter denouvelles :

Sous l'onglet Outils de base de données, dans le groupe Afficher/Masquer, cliquez sur Relations.

Ajouter d'autres contrôles à un état existant

Lorsque vous ajoutez un champ à votre état à partir du volet Liste de champs, un contrôle Zone detexte dépendant est créé automatiquement pour ce champ. D'autres contrôles tels que des étiquettes,lignes et images peuvent être ajoutés en passant en mode Création et en utilisant les outils proposésdans le groupe Contrôles de l'onglet Créer.

Déterminer le nom d'un outil

Placez le pointeur de la souris sur l'outil.

Page 168: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma168

Access affiche le nom de l'outil.

Créer un contrôle à l'aide des outils du groupe Contrôles

Cliquez sur l'outil correspondant au type de contrôle que vous souhaitez ajouter. Par exemple, pour

créer une case à cocher, cliquez sur l'outil Case à cocher . Cliquez dans la structure de l'état à l'endroit où vous souhaitez positionner le coin supérieur gauche

du contrôle. Cliquez une fois pour créer un contrôle dans la taille par défaut, ou cliquez et faites glisserla souris dans l'état pour créer un contrôle dans la taille souhaitée.

Si vous ne positionnez pas le contrôle idéalement à la première tentative, vous pouvez le déplacer enprocédant comme suit :

Cliquez sur le contrôle pour le sélectionner.Placez le pointeur sur le contrôle jusqu'à ce qu'il prenne la forme d'une flèche à quatre pointes

, puis faites glisser le contrôle sur l'emplacement souhaité.

Ce processus entraîne la création d'un contrôle « indépendant ». Si le type de ce contrôle permetl'affichage de données (par exemple, une zone de texte ou une case à cocher), vous devez entrer unnom de champ ou une expression dans la propriété SourceContrôle du contrôle pour que celui-ciaffiche des données.

Afficher la feuille des propriétés

Appuyez sur F4.

REMARQUE Une fois le nouvel état terminé, pensez à enregistrer votre travail.

Spécifier ou modifier un regroupement et un tri dans un état existant

Si l'état existe déjà et que vous souhaitez y spécifier un tri ou un regroupement ou modifier celuiexistant, cette section vous explique comment procéder.

Spécifier un regroupement, un tri et des totaux en mode Page

Vous pouvez effectuer des opérations de tri, de regroupement et de calcul de base en cliquant avec lebouton droit sur les champs en mode Page, puis en choisissant l'opération souhaitée dans le menucontextuel. Pour basculer en mode Page, cliquez avec le bouton droit sur l'état dans le volet de

navigation, puis cliquez sur Mode Page .

REMARQUE Bien que les instructions fournies dans cette section ne fassent pas directement appelau volet Regrouper, trier et total, il est judicieux d'ouvrir ce volet et d'y observer les changements àmesure que vous travaillez. Vous vous ferez une meilleure idée du fonctionnement d'Access et, àmesure que vous vous familiariserez à l'utilisation du volet Regrouper, trier et total, vous pourrezl'utiliser pour apporter des corrections supplémentaires à votre état. Pour afficher le volet Regrouper,trier et total :

Sous l'onglet Créer, dans le groupe Regroupement et totaux, cliquez sur Regrouper et trier.

Trier un seul champ

Cliquez avec le bouton droit sur une valeur du champ à trier.

Page 169: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma169

Dans le menu contextuel, cliquez sur l'option de tri souhaitée. Par exemple, pour trier un champ de

texte par ordre croissant, cliquez sur Trier de A à Z . Pour trier un champ numérique par ordre

décroissant, cliquez sur Trier du plus grand au plus petit .

Access trie l'état comme spécifié. Si le volet Regrouper, trier et total est ouvert, vous pouvezconstater qu'une nouvelle ligne Trier par a été ajoutée pour le champ.

Trier plusieurs champs

REMARQUE Lorsque vous appliquez un tri en cliquant avec le bouton droit sur un champ en modePage, vous ne pouvez trier qu'un seul champ à la fois. Le fait d'appliquer un tri à un autre champentraîne l'annulation du tri dans le premier champ. Ce comportement de tri diffère de celui desformulaires, où plusieurs ordres de tri peuvent être établis en cliquant tour à tour avec le bouton droitsur chaque champ et en choisissant l'ordre de tri souhaité. Pour créer plusieurs niveaux de tri, voir lasection Spécifier un regroupement, un tri et des totaux via le volet Regrouper, trier et total .

Effectuer un regroupement sur un champ

Cliquez avec le bouton droit sur une valeur du champ sur lequel vous souhaitez effectuer unregroupement.

Dans le menu contextuel, cliquez sur Regrouper sur .

Access ajoute le niveau de groupe et crée un en-tête de groupe pour celui-ci. Si le volet Regrouper,trier et total est ouvert, vous pouvez constater qu'une nouvelle ligne Regrouper sur a été ajoutéepour le champ.

Ajouter un total à un champ

Cette option vous permet de calculer une somme, une moyenne, un total ou une autre fonctiond'agrégation pour un champ. Un total général est alors ajouté à la fin de l'état ainsi qu'un total degroupe à chaque groupe figurant dans l'état.

Cliquez avec le bouton droit sur une valeur du champ dont vous souhaitez obtenir le total. Cliquez sur Total. Cliquez sur l'opération que vous souhaitez effectuer : Somme, Moyenne, Compter les

enregistrements (pour compter tous les enregistrements), Compter les valeurs (pour compteruniquement les enregistrements liés à une valeur dans ce champ), Max., Min., Écart-type ouVariance.

Access ajoute un contrôle Zone de texte calculée dans le pied de l'état, créant ainsi un total général.Par ailleurs, si votre état intègre des niveaux de regroupement, Access ajoute des pieds de groupe (s'iln'en existe pas déjà) et place le total dans chacun d'eux.

REMARQUE Vous pouvez également ajouter des totaux en cliquant sur le champ dont le total doitêtre calculé puis, sous l'onglet Mise en forme, dans le groupe Regroupement et totaux, cliquez sur

Totaux .

Spécifier un regroupement, un tri et des totaux via le volet Regrouper, trier et total

Page 170: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma170

Le volet Regrouper, trier et total offre une plus grande souplesse lorsque vous souhaitez ajouter oumodifier des groupes, des ordres de tri ou des options de calcul de totaux dans un état. Ici encore, lemode Page est l'affichage à privilégier, car vous pouvez plus facilement apprécier l'effet de vosmodifications sur l'affichage des données.

Afficher le volet Regrouper, trier et total

En mode Page :

Sous l'onglet Créer, dans le groupe Regroupement et totaux, cliquez sur Regrouper et trier.

En mode Création :

Sous l'onglet Créer, dans le groupe Regroupement et totaux, cliquez sur Regrouper et trier.

Access affiche le volet Regrouper, trier et total.

Pour ajouter un nouveau niveau de tri ou de regroupement, cliquez sur Ajouter un groupe ou surAjouter un tri.

Une nouvelle ligne est ajoutée au volet Regrouper, trier et total, et la liste des champs disponibless'affiche à l'écran.

Vous pouvez sélectionner le nom d'un de ces champs ou cliquer sur expression en dessous de la listede champs pour entrer une expression. Dès lors que vous avez choisi un champ ou entré uneexpression, Access ajoute le niveau de groupe à l'état. Si vous êtes en mode Page, le regroupementapparaît immédiatement à l'écran.

REMARQUES

Page 171: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma171

Si plusieurs niveaux de tri ou de regroupement ont déjà été définis, vous devrez peut-être faire défilerle volet Regrouper, trier et total vers le bas pour atteindre les boutons Ajouter un groupe etAjouter un tri.

Vous pouvez définir jusqu'à 10 niveaux de regroupement et de tri dans un état.

Modifier les options de regroupement

Chaque niveau de tri ou de regroupement s'accompagne de diverses options que vous pouvez définirpour obtenir les résultats souhaités.

Pour afficher toutes les options d'un niveau de groupe ou de tri donné, cliquez sur Plus dans le niveauà modifier.

Pour masquer les options, cliquez sur Moins.

Ordre de tri Vous pouvez modifier l'ordre de tri en cliquant sur la liste déroulante Ordre de tri, puissur l'option souhaitée.

Intervalle du groupe Ce paramètre détermine le mode de regroupement des enregistrements. Parexemple, vous pouvez définir un regroupement sur le premier caractère d'un champ de texte de sorteque tout ce qui commence par « A » soit regroupé ensemble, tout ce qui commence par « B » soitégalement regroupé ensemble, et ainsi de suite. Dans le cas d'un champ de date, vous pouvez définirun regroupement en fonction du jour, de la semaine, du mois, du trimestre ou entrer un intervallepersonnalisé.

Totaux Pour ajouter des totaux, cliquez sur cette option. Vous pouvez ajouter des totaux dansplusieurs champs, et vous pouvez définir plusieurs types de totaux dans un même champ.

Page 172: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma172

Cliquez sur la flèche déroulante Total sur et sélectionnez le champ à synthétiser. Cliquez sur la flèche déroulante Type et sélectionnez le type de calcul à effectuer. Activez la case Afficher le total général pour ajouter un total général à la fin de l'état (dans le pied

d'état). Activez la case Afficher les totaux de groupe comme % du total général pour ajouter un contrôle

au pied de groupe où est calculé le pourcentage du total général de chaque groupe. Activez la case Afficher dans l'en-tête de groupe ou Afficher dans le pied de page de groupe pour

afficher le total à l'emplacement souhaité.

Une fois que vous avez choisi toutes les options pour un champ, vous pouvez répéter cette procédureet synthétiser un autre champ en le sélectionnant dans la liste déroulante Total sur. Sinon, cliquez àl'extérieur de la fenêtre contextuelle Totaux pour la fermer.

Titre Cette option permet de modifier le titre du champ faisant l'objet d'une synthèse. Elle estutilisée pour l'en-tête de colonne et pour intituler les champs de synthèse dans les en-têtes et lespieds de page.

Pour ajouter ou modifier le titre :

Cliquez sur le texte de couleur bleue à la suite de avec titre.

La boîte de dialogue Zoom s'affiche.

Tapez le nouveau titre dans la boîte de dialogue, puis cliquez sur OK.

Avec/sans section d'en-tête Ce paramètre permet d'ajouter ou de supprimer la section d'en-têtequi précède chaque groupe. Lorsque vous ajoutez une section d'en-tête, le champ de regroupementest automatiquement déplacé vers l'en-tête. Lorsque vous supprimez une section d'en-tête contenantd'autres contrôles que le champ de regroupement, vous êtes invité à confirmer la suppression descontrôles.

Avec/sans section de pied de page Ce paramètre permet d'ajouter ou de supprimer la section depied de page à la suite de chaque groupe. Lorsque vous supprimez une section de pied de page quicontient des contrôles, vous êtes invité à confirmer la suppression des contrôles.

Faire tenir tout le groupe sur une page Ce paramètre détermine la façon dont les groupes sontdisposés dans la page au moment de l'impression de l'état. Vous pouvez souhaiter maintenir autantque possible les groupes ensemble afin d'avoir un minimum de pages à feuilleter pour voir le groupeentier. Toutefois, le nombre de feuilles nécessaires à l'impression de l'état est généralement plusimportant dans ce cas, car un espace vide figure au bas de la plupart des pages.

Page 173: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma173

Ne pas faire tenir le groupe sur une page Vous pouvez utiliser cette option si cela ne vous gênepas que les groupes soient morcelés par des sauts de page. Par exemple, pour un groupe de30 articles, les 10 premiers articles pourront figurer au bas d'une page et les 20 autres en haut de lapage suivante.

Faire tenir tout le groupe sur une page Cette option permet de réduire au minimum le nombre desauts de page dans un groupe. Si un groupe ne peut pas tenir dans l'espace qu'il reste sur une page,cet espace reste vide et le groupe débute sur la page suivante. Les groupes volumineux peuventtoujours s'étaler sur plusieurs pages, mais cette option permet de réduire autant que possible lenombre de sauts de page au sein d'un même groupe.

Faire tenir l'en-tête et le premier enregistrement sur une page Dans le cas des groupes quicomportent des en-têtes de groupe, cette option garantit que l'en-tête de groupe ne s'imprimera pasau bas d'une page. Si Access détermine qu'il n'y a pas suffisamment d'espace après l'en-tête pourl'impression d'au moins une ligne de données, le groupe débute à la page suivante.

Changer la priorité des niveaux de regroupement et de tri

Pour modifier la priorité d'un niveau de groupe ou de tri, cliquez sur la ligne dans le volet Regrouper,trier et total , puis cliquez sur la flèche vers le haut ou vers la droite située en regard de la ligne.

Supprimer des niveaux de regroupement et de tri

Pour supprimer un niveau de groupe ou de tri, cliquez sur la ligne à supprimer dans le voletRegrouper, trier et total, puis appuyez sur Suppr ou cliquez sur le bouton Supprimer situé à droitede la ligne. Lorsque vous supprimez un niveau de groupe, si le champ de regroupement était dansl'en-tête ou le pied de groupe, Access le déplace vers la section Détail de l'état. Les autres contrôlesqui étaient éventuellement présents dans l'en-tête ou le pied de groupe sont supprimés.

Créer un état de synthèse (sans détails sur les enregistrements)

Si vous ne souhaitez afficher que les totaux (c'est-à-dire, uniquement les informations figurant dans leslignes d'en-tête et de pied de page), sous l'onglet Mise en forme (ou sous l'onglet Créer en modeCréation), dans le groupe Regroupement et totaux, cliquez sur Masquer les détails. Lesenregistrements situés au niveau de groupe inférieur sont alors masqués, offrant ainsi uneprésentation des données de synthèse bien plus compacte. Même si les enregistrements sontmasqués, les contrôles situés dans la section masquée ne sont pas supprimés. Cliquez à nouveau surMasquer les détails pour restaurer les lignes de détail dans l'état.

Créer un effet de regroupement sans utiliser d'en-têtes

Vous pouvez obtenir un effet de regroupement dans votre état sans utiliser d'en-têtes. La suppressiond'en-têtes permet d'obtenir un état plus compact dans la mesure où l'espace vertical n'est pas occupépar les lignes d'en-tête.

La procédure générale implique la suppression de l'en-tête pour chaque groupe, ce qui entraîne ledéplacement de chaque champ de regroupement dans la section Détail de l'état. Pour restaurer l'effetde regroupement visuel, vous devez attribuer à la propriété Masquer doublons de chaque champ deregroupement la valeur Oui.

Exemple

Penchons-nous sur ce cas typique d'un état groupé avec en-têtes de groupe :

Page 174: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma174

Comme vous pouvez le constater, chaque nom de société occupe une ligne entière, tout commechaque numéro de commande (OrderID).

Dans cet exemple, vous allez modifier l'état de sorte qu'il présente le même aspect que l'illustrationsuivante :

1. Ouvrez l'état en mode Page en cliquant dessus avec le bouton droit dans le volet de navigation, puis

en cliquant sur Mode Page .

2. Sous l'onglet Créer, dans le groupe Regroupement et totaux, cliquez sur Regrouper et trier.

REMARQUE S'agissant des groupes, il est recommandé de partir du niveau le plus bas auniveau le plus haut ; dans le cas contraire, vous risquez de trouver rapidement que l'étatmanque de clarté à mesure que vous avancez dans votre travail.

3. Cliquez sur le niveau de groupe le plus bas dans la liste, puis cliquez sur Plus.4. Dans la liste déroulante de la section d'en-tête, sélectionnez sans section d'en-tête.

Lorsque vous supprimez un en-tête, Access préserve la zone de texte du champ deregroupement en la déplaçant dans la section Détail. Toutefois, tous les autres contrôlesprésents dans l'en-tête de groupe risquent d'être supprimés. Si cette action entraîne lasuppression de contrôles, vous en êtes averti par Access. Si l'en-tête de groupe contient descontrôles et que vous souhaitez les préserver, veillez à les déplacer dans une autre section del'état avant d'exécuter cette étape. Pour ce faire, vous devez passer en mode Création.

Page 175: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma175

L'état ainsi obtenu est illustré dans l'illustration suivante. Notez que le premier numéro decommande (OrderID) se trouve sur la même ligne que le premier enregistrement de détail, etnon sur sa propre ligne.

Malheureusement, le numéro de commande se répète sur chaque ligne de détail, et il devientdifficile de déterminer le nombre exact de commandes. À ce stade, il s'avère utile de définir lapropriété Masquer doublons du contrôle Zone de texte. Pour cela, procédez comme suit :

Sélectionnez l'une des valeurs répétées. Si la feuille de propriétés n'est pas affichée, appuyez sur F4 pour l'afficher. Sous l'onglet Format de la feuille des propriétés, cliquez sur la liste déroulante en regard de

Masquer doublons, puis cliquez sur Oui.

Les numéros de commande en double sont masqués. Notez que vous pouvez déterminerle nombre de commandes existantes, ainsi que le nombre de produits par commande.

5. Dans cet exemple, nous allons répéter l'étape 4 pour le niveau de groupe Company Name (Nom de lasociété). L'état final se présente comme suit :

Page 176: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma176

La valeur Company Name (Nom de la société) se trouve à présent sur la même ligne que lepremier enregistrement de détail, et la propriété Masquer doublons évite que cette valeur nese répète sur chaque ligne. Dans le cas d'un état volumineux utilisant plusieurs niveaux deregroupement, cela peut signifier une économie de papier considérable.

Enregistrer, imprimer ou envoyer un état

Après avoir enregistré la structure de votre état, vous pouvez l'utiliser plusieurs fois. Si la structure del'état reste la même, vous obtenez à chaque impression de l'état des données actualisées. Si, à unmoment donné, vos besoins en matière d'état évoluent, vous pouvez toujours modifier la structure del'état ou créer un état similaire sur la base de l'état d'origine.

Enregistrer un état

1. Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez sur Ctrl+S.

Vous pouvez également cliquer sur Enregistrer dans la barre d'outils Accès rapide.

2. Si l'état ne possède pas de titre, tapez un nom dans la zone Nom de l'état, puis cliquez sur OK .

Enregistrer la structure d'un état sous un nouveau nom

1. Cliquez sur le bouton Microsoft Office , puis sur Enregistrer sous.

2. Dans la boîte de dialogue Enregistrer sous, tapez un nom dans la zone Enregistrer l'objet étatnommé « ... » dans , cliquez sur État dans la zone En tant que, puis cliquez sur OK.

Imprimer un état

Vous pouvez imprimer un état dans les modes Aperçu avant impression, Page, Création, Rapport ouvia le volet de navigation. Avant de lancer l'impression, il est recommandé de vérifier à nouveau lesparamètres de mise en page, comme les marges et l'orientation des pages. Étant donné qu'Accessenregistre les paramètres de mise en page avec l'état, vous n'avez besoin de les définir qu'une seulefois. Si vos besoins évoluent par la suite, vous pourrez enregistrer les paramètres ultérieurement.

Modifier les paramètres de mise en page

1. Ouvrez l'état dans n'importe quel mode d'affichage.2. Sous l'onglet Mise en page, dans le groupe Page, cliquez sur une option :

Taille permet d'effectuer un choix parmi plusieurs formats de papier ou d'entrer un formatde papier personnalisé.

Portrait oriente la page verticalement.

Paysage oriente la page horizontalement.

Marges vous permet d'effectuer un choix parmi plusieurs largeurs de marge, ou vouspouvez cliquer sur Avancé pour entrer des largeurs de marge personnalisées via la boîte dedialogue Mise en page.

Afficher les marges active et désactive l'affichage des marges (en mode Page uniquement). Colonnes donne accès à la boîte de dialogue Mise en page. Entrez le nombre de colonnes

souhaité, définissez la taille de colonne désirée, puis cliquez sur OK.

Page 177: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma177

Données seulement empêche l'impression des étiquettes éventuellement présentes dansl'état. Seuls les contrôles liés aux données de la table ou de la requête sous-jacente sontimprimés. Cette option peut s'avérer utile pour les états que vous imprimez occasionnellementsur des formulaires préimprimés. Vous pouvez désactiver l'impression des étiquettes à cesoccasions et l'activer lorsque vous imprimez l'état sur des feuilles vierges.

REMARQUE Pour utiliser des paramètres de mise en page détaillés, cliquez sur le bouton Mise enpage dans le coin inférieur droit du groupe Mise en page pour accéder à la boîte de dialogue Miseen page. La boîte de dialogue Mise en page permet d'ajuster tous les paramètres disponibles sousl'onglet Mise en page, mais également de sélectionner une imprimante spécifique pour l'état.

Envoyer un état à une imprimante

1. Ouvrez l'état dans n'importe quel mode d'affichage, ou sélectionnez simplement l'état dans le volet denavigation.

2. Cliquez sur le bouton Microsoft Office , puis sur Imprimer.

3. Dans la boîte de dialogue Imprimer, définissez les options selon vos préférences telles quel'imprimante, l'étendue d'impression et le nombre de copies.

4. Cliquez sur OK.

Envoyer un état sous forme de message électronique

Plutôt que d'imprimer une copie papier, vous pouvez envoyer votre état à des utilisateurs sous formede message électronique.

1. Dans le volet de navigation, cliquez sur l'état pour le sélectionner, cliquez sur le bouton Microsoft

Office , puis cliquez sur Courrier électronique .2. Dans la boîte de dialogue Envoyer l'objet comme, cliquez sur le format de fichier que vous souhaitez

utiliser.

Page 178: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma178

3. Complétez les boîtes de dialogue restantes.4. Lorsque votre programme de messagerie apparaît, tapez les détails du message et envoyez ce dernier.

Notes

Un problème peut se produire si vous disposez d'un état dans un fichier .accdb qui effectue un tri ouun regroupement selon un champ Liste de choix, et que vous souhaitez importer l'état dans un fichier.mdb pour l'ouvrir dans une version antérieure d'Access.

La méthode interne permettant de trier et de regrouper les champs Liste de choix dans les fichiers.accdb est incompatible avec les fichiers .mdb. Supposons que vous créez un état dans un fichier.accdb utilisant le regroupement ou le tri sur un champ Liste de choix. Si vous exportez cet état dansun fichier .mdb (ou utilisez la commande Enregistrer sous pour enregistrer la base de donnéescomme fichier .mdb), puis que vous tentez de l'ouvrir dans une version antérieure d'Access, vousobtenez un échec de chargement.

Pour modifier l'état afin de pouvoir l'importer dans un fichier .mdb et l'ouvrir dans une versionantérieure d'Access, procédez comme suit :

1. Dans le fichier .accdb, créez une copie de l'état.2. Ouvrez la copie de l'état en mode Page.3. Si le volet Regrouper, trier et total n'est pas affiché :

Sous l'onglet Créer, dans le groupe Regroupement et totaux, cliquez sur Regrouper et trier.

4. Supprimez toutes les lignes du volet Regrouper, trier et total en cliquant sur le bouton Supprimersitué en regard de chaque ligne.

5. Cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer ou appuyez sur Ctrl+S.

6. Cliquez sur le bouton Microsoft Office , puis sur Fermer la base de données.

7. Cliquez sur le bouton Microsoft Office , puis sur Ouvrir.

8. Recherchez le fichier .mdb dans lequel vous souhaitez importer l'état, puis cliquez sur Ouvrir.9. Importez la copie de l'état dans le fichier .mdb.

Procédure

4. Ouvrez l'état en mode Page.5. Si le volet Liste de champs n'est pas affiché :

Sous l'onglet Création, dans le groupe Outils, cliquez sur Ajouter des champs existants.

6. Dans le volet Champs disponibles dans les tables associées, recherchez la table qui contient lechamp à afficher dans l'état. Ce champ contiendra les mêmes valeurs que celles actuellement affichéespar le champ Liste de choix dans l'état.

7. Faites glisser le champ vers l'état.

Vous disposez à présent de deux colonnes affichant des informations identiques.

Page 179: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma179

8. Cliquez avec le bouton droit sur le champ d'affichage que vous venez d'ajouter, puis cliquez surl'option de tri à appliquer.

9. Supprimez le champ d'affichage que vous venez d'ajouter et trier.10. Si le volet Regrouper, trier et total n'est pas affiché :

Sous l'onglet Créer, dans le groupe Regroupement et totaux, cliquez sur Regrouper et trier.

11. Cliquez sur Ajouter un groupe.12. Dans la fenêtre contextuelle Champ/Expression, cliquez sur le nom du champ Liste de choix dans

l'état.

L'état est à présent trié et regroupé tel qu'il était dans le fichier .accdb. Enregistrez et fermez l'état.

Page 180: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma180

Créer une macro

Qu'est-ce qu'une macro ? Comprendre les macros Nouvelles fonctionnalités de macro dans Office Access 2007 Créer une macro Exécuter une macro

Page 181: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma181

Qu'est-ce qu'une macro ?

Une macro est un outil qui permet d'automatiser des tâches et d'ajouter des fonctionnalités auxformulaires, états et contrôles. Par exemple, si vous ajoutez un bouton de commande à un formulaire,vous associez l'événement SurClic à une macro afin qu'elle contienne les commandes devant êtreexécutées par le bouton à chaque fois que vous cliquez dessus.

Dans Access, les macros sont comparables à un langage de programmation simplifié que vous écrivezen créant une liste d'actions à exécuter. Lorsque vous créez une macro, vous sélectionnez des actionsdans une liste déroulante, puis vous entrez des informations à leur sujet. Les macros vous permettentd'ajouter des fonctionnalités aux formulaires, états et contrôles sans devoir écrire du code dans unmodule Visual Basic pour Applications (VBA). Elles fournissent un sous-ensemble de commandesdisponibles dans VBA. Pour la majorité des utilisateurs, il est plus facile de créer une macro que d'écriredu code VBA.

Supposons, par exemple, que vous vouliez créer un état directement à partir de vos formulaires desaisie de données. Vous pouvez ajouter un bouton à votre formulaire, puis créer une macro quiexécute l'état. Il peut s'agir d'une macro autonome (objet distinct dans la base de données) qui estensuite associée à l'événement SurClic du bouton, ou d'une macro directement incorporée à cetévénement SurClic (nouvelle fonctionnalité dans Office Access 2007). Dans les deux cas, il suffit decliquer sur le bouton pour exécuter la macro et démarrer l'état.

Vous créez une macro en utilisant le Générateur de macro qui apparaît dans l'illustration suivante.

Page 182: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma182

Pour afficher le générateur de macro :

Sous l'onglet Créer, dans le groupe Autre, cliquez sur Macro. Si cette commande n'est pas disponible,

cliquez sur la flèche sous le bouton Module ou Module de classe, puis cliquez sur Macro.

Comprendre les macros

Le terme « macro » désigne souvent des objets macro autonomes (objets affichés sous Macros dans levolet de navigation). En réalité, un objet macro peut contenir plusieurs macros. Dans ce cas, on parlede groupe de macros. Bien qu'il renferme plusieurs macros, un groupe de macros est affiché sousforme d'un seul objet macro. Bien sûr, vous pouvez créer chaque macro dans un objet macro distinct,mais nous vous conseillons plutôt de regrouper plusieurs macros connexes dans un seul objet macro.Le nom qui apparaît dans la colonne Nom de la macro identifie chaque macro.

Une macro se compose d'actions macro individuelles qui, pour la plupart, requièrent un ou plusieursarguments. En outre, vous pouvez affecter des noms à chaque macro d'un groupe et ajouter desconditions définissant le mode d'exécution de chacune d'entre elles. Les sections suivantes traitent dechacune de ces fonctionnalités plus en détails.

Page 183: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma183

Noms de macro

Si votre objet macro contient une seule macro, le nom est inutile. Vous pouvez y faire référencesimplement par le nom de l'objet macro. En revanche, si vous utilisez un groupe de macros, vousdevez affecter un nom à chacune d'elles. Si la colonne Nom de la macro n'apparaît pas dans leGénérateur de macro, sous l'onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Noms de

macro . Pour plus d'informations sur l'exécution de macros dans des groupes, consultez la rubrique« Créer un groupe de macros » plus loin dans ce document.

Arguments

Un argument est une valeur qui fournit des informations à l'action pour indiquer, par exemple, lachaîne à afficher dans une zone de message, le contrôle à affecter, etc. Certains arguments doiventêtre obligatoirement spécifiés, tandis que d'autres sont facultatifs. Les arguments sont affichés dans levolet Arguments de l'action en bas du Générateur de macro.

Parmi les nouvelles fonctionnalités du Générateur de macro Office Access 2007, on compte la colonneArguments, qui permet d'afficher (mais pas de modifier) les arguments d'une action sur la même ligneque cette dernière. Comme il n'est plus nécessaire de sélectionner chaque action pour afficher sesarguments, vous pouvez lire plus facilement votre macro. Pour afficher la colonne Arguments, cliquez

sur Arguments dans le groupe Afficher/Masquer de l'onglet Créer.

Conditions

Une condition définit les critères qui doivent être remplis pour exécuter une action. Vous pouvezutiliser toute expression donnant la valeur Vrai/Faux ou Oui/Non. L'action est exécutée dans tous lescas, sauf si la valeur renvoyée est Faux, Non ou 0 (zéro).

Pour indiquer qu'une condition s'applique à plusieurs actions, tapez des points de suspension (...) dansla colonne Condition pour chacune des actions suivantes à laquelle la condition doit s'appliquer.Aucune action n'est exécutée si l'expression retourne la valeur Faux, Non ou 0 (zéro). Sinon, toutes lesactions sont exécutées.

Pour afficher la colonne Conditions dans le Générateur de macro, sous l'onglet Créer, dans le groupe

Afficher/Masquer, cliquez sur Conditions .

Utilisez cette expression pour exécuter l'action Si :

Page 184: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma184

[Ville]="Paris" Paris est la valeur de Ville dans lechamp du formulaire à partir duquella macro a été exécutée.

CpteDom("[RéfCommande]", "Commandes")>35 Le champ RéfCommande de la tableCommandes contient plus de 35entrées.

CpteDom("*", " Détails Commandes ","[RéfCommande]=Forms![Commandes]![RéfCommande]")>3

La table Détails Commandes contientplus de 3 entrées pour lesquelles lechamp RéfCommande de la tablecorrespond au champRéfCommande du formulaireCommandes.

[DateEnvoi] Entre #2-Fév-2006# Et #2-Mar-2006# La valeur du champ DateEnvoi duformulaire à partir duquel la macroest exécutée n'est pas antérieure au2-Fév-2006 ni postérieure au 2-Mar-2006.

Forms![Produits]![UnitésEnStock]<5 La valeur du champ UnitésEnStockdu formulaire Produits est inférieure à5.

EstNull([Prénom]) La valeur de Prénom sur leformulaire à partir duquel la macroest exécutée est null (pas de valeur).Cette expression est équivalente à[Prénom] Est Null.

[Pays/Région]="Royaume-Uni" And Forms![Total desventes]![Commandes cumulées]>100

La valeur du champ Pays/Régiondans le formulaire à partir duquel lamacro est exécutée est « Royaume-Uni », et la valeur du champCommandes cumulées sur leformulaire Total des ventes estsupérieure à 100.

[Pays/région] In ("France", "Italie", "Espagne") And Len([CodePostal])<>5

La valeur du champ Pays/régiondans le formulaire à partir duquel lamacro est exécutée est France, Italieou Espagne et le Code postal necontient pas plus de 5 caractères.

BoîteMsg ("Confirmer modifications ?" ,1) = 1 Vous cliquez sur OK dans une boîtede dialogue où la fonction BoîteMsgaffiche « Confirmer modifications ? ».Si vous cliquez sur Annuler dans laboîte de dialogue, Access ignorel'action.

Page 185: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma185

[TempVars]![MsgBoxResult]=2 La variable temporaire qui sert àstocker le résultat d'une boîte demessage est comparée à 2(vbCancel = 2 ).

CONSEIL Pour qu'Access ignore provisoirement une action, saisissez Faux comme condition. Cettefonction peut être utile lorsque vous tentez de résoudre les problèmes liés à une macro.

Actions de macro

Les actions sont les éléments de base des macros. Access propose de nombreuses actions quipermettent d'exécuter une multitude de commandes. Parmi les actions les plus utilisées, on compte lessuivantes : ouverture d'un état, recherche d'un état, affichage d'une boîte de message, application d'unfiltre à un formulaire ou un état, etc.

Nouvelles fonctionnalités de macro dans Office Access 2007

Dans les versions antérieures d'Access, vous deviez écrire du code VBA pour pouvoir exécuter lesfonctions les plus courantes, ce qui n'est plus le cas dans Office Access 2007. Les nouvellesfonctionnalités et actions de macro optimisent l'utilisation de votre base de données dans unenvironnement sécurisé.

Macros incorporées Désormais, vous pouvez incorporer des macros dans les événements fournispar un formulaire, un état ou un contrôle. Les macros incorporées ne sont pas affichées dans le voletde navigation. Elles font partie du formulaire, de l'état ou du contrôle dans lequel elles ont été créées.Si vous créez une copie d'un formulaire, d'un état ou d'un contrôle qui contient des macrosincorporées, celles-ci figurent également dans la copie.

Sécurité accrue Lorsque le bouton es les actions n'est pas sélectionné dans le Générateur demacro, les seuls arguments ExécuterCommande et actions de macro disponibles sont ceux qui n'ontpas besoin d'être approuvés pour pouvoir être exécutés. Une macro créée avec ces actions pourra êtreexécutée même si la base de données est en mode désactivé (le programme empêche l'exécution deVBA). Vous devez attribuer l'état d'approbation aux bases de données qui contiennent des actions demacro ne figurant pas sur la liste approuvée ou aux bases de données contenant du code VBA.

Gestion des erreurs et débogage Office Access 2007 inclut de nouvelles actions de macro, tellesque SurErreur (similaire à l'instruction On Error dans VBA) et EffacerMacroErreur qui vous permettentd'exécuter des actions spécifiques lorsque des erreurs surviennent pendant l'exécution de votre macro.De plus, la nouvelle action de macro PasAPas permet de passer à tout moment au mode pas à paspour que vous puissiez vérifier le fonctionnement de votre macro étape par étape.

Variables temporaires Vous pouvez créer et utiliser des variables temporaires dans vos macrosgrâce aux trois nouvelles actions de macro (DéfinirVarTemp, SupprimerVarTemp etSupprimerToutesVarTemp). Dans les expressions conditionnelles, elles permettent de contrôlerl'exécution des macros ou de passer des données vers/depuis des états ou formulaires ou encored'exécuter toute action nécessitant un emplacement de stockage temporaire pour une valeur. Cesvariables temporaires étant également accessibles dans VBA, vous pouvez vous en servir pourcommuniquer des données entre modules VBA.

Page 186: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma186

Créer une macro

Dans Office Access 2007, un objet de macro (parfois appelé « macro autonome ») peut contenir unemacro ou un groupe de macros. Une macro peut également être incorporée à toute propriétéd'événement d'un formulaire, état ou contrôle. Les macros incorporées font partie intégrante de l'objetou du contrôle dans lequel elles sont incorporées. Contrairement aux macros incorporées, les macrosautonomes sont affichées dans le volet de navigation, sous Macros.

Fonctionnalités du Générateur de macro

Faites appel au Générateur de macro pour créer et modifier vos macros. Pour l'ouvrir :

Sous l'onglet Créer, dans le groupe Autre, cliquez sur Macro. Si cette commande n'est pas disponible,

cliquez sur la flèche sous le bouton Module ou Module de classe, puis cliquez sur Macro.

Access affiche le Générateur de macro.

Utilisez le Générateur de macro pour créer la liste des actions à effectuer pendant l'exécution de lamacro. Lorsque vous ouvrez le Générateur de macro pour la première fois, les colonnes Action ,Arguments et Commentaire sont affichées.

Sous Arguments de l'action, vous pouvez entrer et modifier les arguments de chaque action demacro, le cas échéant. Une zone de description contenant une brève description de chaque action ouargument apparaît. Cliquez sur une action ou un argument d'action pour lire la descriptioncorrespondante dans cette zone.

Le tableau suivant répertorie les commandes disponibles sous l'onglet Créer du Générateur de macro.

Groupe Commande Description

Outils Exécuter Exécute les actions enregistrées dans la macro.

Pas à pas Active le mode pas à pas. Lorsque vous choisissez ce mode, lesactions de la macro sont exécutées une par une. La boîte dedialogue Pas à pas s'affiche à chaque fois qu'une action estterminée. Cliquez sur Pas à pas pour passer à l'action suivante.Cliquez sur Arrêter toutes les macros pour arrêter toutes lesmacros en cours d'exécution. Cliquez sur Continuer pour quitterle mode pas à pas et exécuter les actions restantes sansinterruption.

Générateur Lorsque vous entrez un argument d'action qui peut contenir uneexpression, ce bouton est activé. Cliquez sur Générateur pourouvrir la boîte de dialogue Générateur d'expression et créerune expression.

Lignes Insérer uneligne

Insère une ou plusieurs lignes d'action vides au-dessus de laligne sélectionnée.

Supprimer les Supprime la ou les lignes d'action sélectionnées.

Page 187: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma187

lignes

Afficher/Masquer es lesactions

Affiche davantage ou moins d'actions de macro dans la listedéroulante Action.

Pour afficher une liste contenant davantage d'actions de macro,cliquez sur es les actions. Lorsque cette liste est disponible, lebouton es les actions apparaît en surbrillance. Si voussélectionnez une action de macro dans cette liste, vous devrezéventuellement attribuer l'état d'approbation explicite à la base dedonnées avant d'exécuter l'action.

Pour passer à une liste contenant moins d'actions de macro(uniquement celles qui peuvent être utilisées dans une base dedonnées non approuvée), assurez-vous que le bouton es lesactions n'est pas sélectionné.

CONSEIL Si ce bouton est sélectionné, cliquez dessuspour le désélectionner.

Lorsque le bouton es les actions n'est pas sélectionné, laliste contenant moins d'actions de macro approuvées estdisponible.

Noms demacro

Affiche ou masque la colonne Nom de macro. Vous devezobligatoirement spécifier des noms de macro dans les groupesde macros pour distinguer les macros individuelles les unes desautres. Pour plus d'informations, consultez la section Créer ungroupe de macros plus loin .

Conditions Affiche ou masque la colonne Condition dans laquelle vouspouvez entrer des expressions qui définissent quand une actiondoit être exécutée.

Arguments Affiche ou masque la colonne Arguments, qui contient lesarguments de chaque action de macro afin de simplifier la lecturede la macro. Si la colonne Arguments n'est pas affichée, vousdevez cliquer sur chaque action pour lire les arguments sousArguments de l'action. Il est impossible d'entrer des argumentsdans la colonne Arguments.

Créer une macro autonome

1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Macro. Si cette commande n'est pas disponible,

cliquez sur la flèche sous le bouton Module ou Module de classe, puis cliquez sur Macro.

Le Générateur de macro apparaît.

2. Ajoutez une action à la macro : Dans le Générateur de macro, cliquez sur la première cellule vide de la colonne Action. Tapez l'action à utiliser ou cliquez sur la flèche pour afficher la liste d'actions, puis sélectionnez

l'action à utiliser. Sous Arguments de l'action, spécifiez les arguments de l'action, le cas échéant. Pour afficher

une brève description de chaque argument, cliquez dans la zone d'argument, puis lisez ladescription correspondante à droite..

Page 188: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma188

Conseils

Vous pouvez également taper un commentaire pour décrire l'action.

3. Pour ajouter une action à la macro, placez-vous dans une autre ligne d'action, puis répétez l'étape 2.Access exécute les actions dans l'ordre dans lequel vous les placez.

Créer un groupe de macros

Si vous voulez grouper plusieurs macros connexes dans un même objet macro, vous pouvez créer ungroupe de macros.

1. Sous l'onglet Créer, dans le groupe Autre, cliquez sur Macro. Si cette commande n'est pas disponible,

cliquez sur la flèche sous le bouton Module ou Module de classe, puis cliquez sur Macro.

Le Générateur de macro apparaît.

2. Dans l'onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Noms de macro s'il n'est pasdéjà sélectionné. La colonne Nom de macro apparaît dans le Générateur de macro.

REMARQUE Dans les groupes de macros, vous devez obligatoirement spécifier des noms demacro pour identifier les macros individuelles. Le nom de la macro apparaît sur la même ligneque la première action de la macro. La colonne Nom de macro reste vide pour toutes les actionssuivantes. La macro s'arrête au nom de macro suivant trouvé dans la colonne Nom de macro.

3. Dans la colonne Nom de macro, affectez un nom à la première macro du groupe de macros.4. Ajoutez les actions que la première macro doit exécuter.

Dans la colonne Action, cliquez sur la flèche pour afficher la liste d'actions. Cliquez sur l'action que vous voulez ajouter. Sous Arguments de l'action, spécifiez les arguments de l'action, le cas échéant. Pour afficher

une brève description de chaque argument, cliquez dans la zone d'argument, puis lisez ladescription correspondante à droite..

Conseils

Vous pouvez également taper un commentaire pour décrire l'action.

5. Passez dans la colonne Nom de macro de la prochaine ligne vide, puis tapez un nom pour la macrosuivante du groupe de macros.

6. Ajoutez les actions que la macro doit exécuter.7. Répétez les étapes 5 et 6 pour chaque macro du groupe.

REMARQUES

Si pour exécuter un groupe de macros, vous double-cliquez dessus dans le volet de navigation ou

cliquez sur Exécuter dans le groupe Outils de l'onglet Créer, Access exécute la première macrouniquement et s'arrête au nom de la seconde.

Lorsque vous enregistrez le groupe de macros, le nom que vous spécifiez correspond au nom dugroupe de macros. Ce nom apparaît sous Macros dans le volet de navigation. Pour désigner unemacro individuelle dans un groupe de macros, adoptez la syntaxe suivante :

Page 189: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma189

nomgroupemacro.nommacro

Par exemple, Boutons.Produits fait référence à la macro Produits du groupe de macros Boutons.Dans une liste de macros, telle que la liste des arguments Nom Macro pour l'actionExécuterMacro, Access affiche la macro Produits sous la forme Boutons.Produits.

Créer une macro incorporée

Contrairement aux macros autonomes, les macros incorporées sont stockées dans les propriétésd'événement des formulaires, états ou contrôles. Elles ne sont pas affichées en tant qu'objets sousMacros dans le volet de navigation. Cela vous permet de gérer plus facilement votre base de données,car vous n'avez pas besoin d'effectuer le suivi d'objets de macro distincts. Utilisez la procéduresuivante pour créer une macro incorporée.

REMARQUE Les macros incorporées ne peuvent pas être converties en Visual Basic pour

Applications (VBA) à l'aide de l'outil Convertir des macros en Visual Basic dans le groupe Macrode l'onglet Outils de base de données. Si vous tentez de convertir vos macros en code VBA, il estjudicieux de créer des macros autonomes plutôt que des macros incorporées. Vous pouvez ensuiteutiliser l'outil Convertir des macros en Visual Basic pour les convertir en VBA.

1. Ouvrez le formulaire ou l'état qui contiendra la macro en mode Création ou en mode Page. Pour cefaire, dans le volet de navigation, cliquez avec le bouton droit sur le formulaire ou l'état, puis

sélectionnez Mode Création ou Mode Page .2. Si la feuille des propriétés n'est pas déjà visible, appuyez sur F4 pour l'afficher.3. Cliquez sur le contrôle ou la section qui contient la propriété d'événement à laquelle vous souhaitez

incorporer la macro.

Pour sélectionner la totalité du formulaire ou de l'état, cliquez sur État dans la liste déroulantesituée en haut de la feuille des propriétés.

4. Dans la feuille des propriétés, cliquez sur l'onglet Événement.5. Cliquez sur la propriété d'événement dans laquelle vous souhaitez incorporer la macro, puis cliquez sur

en regard de la zone.6. Dans la boîte de dialogue Choisir Générateur, cliquez sur Générateur de macro, puis sur OK.7. Dans le Générateur de macro, cliquez sur la première ligne de la colonne Action.8. Dans la liste déroulante Action, cliquez sur l'action de votre choix.9. Entrez tous les arguments obligatoires dans le volet Arguments de l'action, puis passez à la ligne

d'action suivante.10. Répétez les étapes 8 et 9 jusqu'à ce que votre macro soit terminée.

11. Cliquez sur Enregistrer , puis sur Fermer .

La macro s'exécute à chaque fois que l'événement se déclenche.

REMARQUE Dans Access, il est possible de créer un groupe de macros comme macro incorporée.Toutefois, seule la première macro du groupe est exécutée lorsque l'événement est déclenché. Lesmacros suivantes sont ignorées, à moins qu'elles ne soient activées à partir de la macro incorporée(par l'intermédiaire de l'action SurErreur, par exemple).

Exemple : incorporation d'une macro à l'événement Sur aucune donnée d'un état

Page 190: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma190

Si vous exécutez un état dont la source de données ne contient aucun enregistrement, une page vide,sans donnée, apparaît. Pour éviter que cela ne se produise et afficher une zone de message à la place,utilisez une macro incorporée.

1. Ouvrez l'état en mode Création ou mode Page.2. Si la feuille des propriétés n'est pas déjà visible, appuyez sur F4 pour l'afficher.3. Sur la feuille des propriétés, cliquez sur l'onglet Événement.4. Cliquez sur Sur aucune donnée.

5. Cliquez sur .6. Dans la boîte de dialogue Choisir Générateur, cliquez sur Générateur de macro, puis sur OK.7. Entrez les actions et les arguments présentés dans le tableau suivant.

Action Arguments

BoîteMsg Aucun enregistrement trouvé; Oui; Informations; Aucune donnée

AnnulerÉvénement[aucun argument]

8. Les arguments ci-dessus sont affichés tels quels dans la colonne Arguments. Ils proviennent de lazone Arguments de l'action, comme indiqué dans le tableau suivant.

Argument de l'action Valeur

Message Aucun enregistrement trouvé

Bip Oui

Type Informations

Titre Aucune donnée

9. Cliquez sur Fermer.

Le Générateur de macro se referme et [Macro incorporée] apparaît en regard de l'événementSur aucune donnée .

10. Enregistrez et fermez l'état.

Lorsque vous exécutez l'état et qu'aucun enregistrement n'est trouvé, la zone de message apparaît.Cliquez alors sur OK pour annuler l'état (la page vide n'est pas affichée).

Modifier une macro

Pour insérer une ligne d'action Cliquez sur la ligne de macro au-dessus de laquelle vous voulezinsérer la nouvelle action puis, sous l'onglet Créer, dans le groupe Lignes, cliquez sur Insérer ligne

.

Page 191: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma191

Pour supprimer une ligne d'action Cliquez sur la ligne d'action à supprimer puis, sous l'onglet

Créer, dans le groupe Lignes, cliquez sur Supprimer les lignes . Pour déplacer une ligne d'action Sélectionnez l'action en cliquant sur le sélecteur de ligne à

gauche du nom de l'action, puis faites glisser le sélecteur vers un autre emplacement.

En savoir plus sur les actions de macro

Lorsque vous travaillez dans le Générateur de macro, vous pouvez obtenir des informationssupplémentaires sur une action ou un argument en cliquant dessus, puis en lisant la description quis'affiche dans la partie inférieure droite de la fenêtre Générateur de macro. En outre, chaque action demacro est associée à un article de l'Aide. Pour en savoir plus sur une action, cliquez dessus dans la listed'actions et appuyez sur F1.

Exécuter une macro

Vous pouvez exécuter les macros autonomes de plusieurs façons : directement (à partir du volet denavigation, par exemple), dans un groupe de macros, à partir d'une autre macro ou d'un module VBAou encore en réponse à un événement qui se produit dans un formulaire, un état ou un contrôle.Lorsque le mode Création est activé, vous pouvez exécuter une macro incorporée dans un formulaire,

état ou contrôle en cliquant sur Exécuter dans l'onglet Créer. Sinon, la macro n'est exécutée quelorsque l'événement auquel elle est associée est déclenché.

Exécuter directement une macro

Pour exécuter directement une macro, effectuez les opérations suivantes :

Dans le volet de navigation, accédez à la macro, puis double-cliquez sur son nom.

Sous l'onglet Outils de base de données, dans le groupe Macro, cliquez sur Exécuter une macro, sélectionnez la macro dans la liste Nom de la macro et cliquez sur OK.

Si la macro est ouverte en mode Création, cliquez sur Exécuter dans l'onglet Créer, dans le groupeOutils. Pour ouvrir la macro en mode Création, cliquez droit sur celle-ci dans le volet de navigation,

puis cliquez sur Mode Création .

Exécuter une macro appartenant à un groupe de macros

Pour exécuter une macro appartenant à un groupe de macros, effectuez les opérations suivantes :

Dans l'onglet Outils de base de données, dans le groupe Macro, cliquez sur Exécuter une macro, puis cliquez sur la macro dans la liste Nom de la macro.

Access inclut une entrée pour chaque macro de chaque groupe en utilisant le formatnomgroupemacro.nommacro.

Cliquez sur OK. Spécifiez la macro en tant que paramètre de propriété d'événement dans un formulaire ou un état ou

en tant qu'argument Nom de macro de l'action ExécuterMacro. Utilisez la syntaxe ci-dessous lorsquevous faites référence à la macro :

nomgroupemacro.nommacro

Page 192: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma192

Par exemple, le paramètre de propriété d'événement suivant permet d'exécuter une macroappelée Catégories dans un groupe de macros appelé Boutons Menus des Formulaires.

Boutons Menus des Formulaires.Catégories

Exécutez une macro appartenant à un groupe de macros à partir d'une procédure VBA à l'aide de laméthode RunMacro de l'objet DoCmd, en utilisant la syntaxe décrite précédemment pour faireréférence à la macro.

Exécuter une macro à partir d'une autre macro ou d'une procédure VBA

Ajoutez l'action ExécuterMacro à votre macro ou procédure.

Pour ajouter l'action ExécuterMacro à une macro, dans une ligne d'action vide, sélectionnezExécuterMacro dans la liste d'actions, puis définissez l'argument Nom de macro en fonction du nomde la macro que vous voulez exécuter.

Pour ajouter l'action ExécuterMacro à une procédure VBA, ajoutez la méthode RunMacro de l'objetDoCmd à votre procédure, puis spécifiez le nom de la macro que vous souhaitez exécuter ; parexemple, l'instance suivante de la méthode RunMacro exécute la macro appelée My Macro :

DoCmd.RunMacro "My Macro"

Exécuter une macro en réponse à un événement sur un formulaire, un état ou un contrôle

Bien que vous puissiez désormais incorporer des macros directement dans des propriétésd'événement de formulaires, états et contrôles, il est toujours possible de créer des macros autonomeset de les associer à des événements, comme c'était le cas dans les versions antérieures d'Access.

1. Après avoir créé votre macro autonome, ouvrez le formulaire ou l'état en mode Création ou en modePage.

2. Ouvrez la feuille de propriétés du formulaire ou de l'état, ou bien d'une section ou d'un contrôle sur leformulaire ou l'état.

3. Cliquez sur l'onglet Événement.4. Cliquez sur la propriété de l'événement qui doit déclencher la macro. Par exemple, pour démarrer la

macro à partir de l'événement Modifier, cliquez sur la propriété Sur changement.5. Dans la liste déroulante, cliquez sur le nom de la macro autonome.6. Enregistrez le formulaire ou l'état.

Page 193: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma193

Utilisation du Générateur d’expressions

Vous pouvez utiliser le Générateur d'expression pour vous aider à générer des expressions. LeGénérateur d'expressions offre un accès aisé aux noms des champs et des contrôles utilisés dans votrebase de données, ainsi qu'à une grande partie des fonctions intégrées qui vous sont accessibles lors del'écriture d'expressions.

Présentation du Générateur d’expressions Démarrage du Générateur d’expressions à partir d’une table Démarrage du Générateur d’expressions à partir d’un formulaire ou d’un état Démarrage du Générateur d’expressions à partir d’une requête

Page 194: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma194

Présentation du Générateur d’expressions

On peut considérer le Générateur d'expression comme un outil facilitant la recherche et l'insertion decomposants d'une expression dont il serait autrement difficile de se souvenir, tels que des nomsd'identificateurs (par exemple des champs, des tables, des formulaires ou des requêtes) et des noms etarguments de fonctions.

Vous pouvez utiliser le Générateur d'expression pour créer une expression ou vous pouvezsélectionner l'une des expressions prédéfinies, notamment pour afficher les numéros de pages, la dateactuelle et la date et l'heure actuelles.

Vous pouvez démarrer le Générateur d'expression à partir de la plupart des emplacements dansMicrosoft Office Access 2007 où vous pouvez écrire des expressions manuellement, par exemple lapropriété Source contrôle d'un contrôle ou la propriété Valide si d'un champ de table. Si vous voyez

le bouton Générer , vous pouvez normalement cliquer dessus pour démarrer le Générateurd'expression.

Fenêtre d'expression

La section supérieure du générateur contient une fenêtre d'expression où vous construisez votreexpression. Vous pouvez taper manuellement votre expression dans cette fenêtre ou bien sélectionnerdes éléments dans les trois colonnes de la section inférieure du Générateur d'expression, puis lesajouter à la fenêtre d'expression. Pour ajouter un élément, double-cliquez dessus, puis cliquez surColler.

Boutons d'opérateurs

La section centrale du Générateur d'expression contient des boutons permettant d'insérer desopérateurs arithmétiques et logiques courants dans votre expression. Pour insérer un opérateur dansla fenêtre d'expression, cliquez sur le bouton approprié. Pour afficher une liste plus longued'opérateurs que vous pouvez utiliser dans des expressions, cliquez sur le dossier Opérateurs dans lacolonne inférieure gauche contenant les éléments d'expression, puis cliquez sur la catégorie souhaitéedans la colonne centrale. La colonne de droite répertorie alors tous les opérateurs de la catégoriesélectionnée. Pour insérer un opérateur, double-cliquez dessus.

Page 195: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma195

Éléments d'expression

La section inférieure contient trois colonnes :

La colonne de gauche contient des dossiers qui répertorient les tables, requêtes, formulaires et étatsde votre base de données, ainsi que les fonctions intégrées et les fonctions définies par l'utilisateurdisponibles, des constantes, des opérateurs et des expressions courantes.

La colonne centrale répertorie des éléments ou des catégories d'éléments spécifiques pour le dossiersélectionné dans la colonne de gauche. Par exemple, si vous cliquez sur Fonctions intégrées dans lacolonne de gauche, la colonne centrale répertorie des catégories de fonctions.

La colonne de droite répertorie les valeurs (le cas échéant) des éléments sélectionnés dans lescolonnes de gauche et centrale. Par exemple, si vous cliquez sur Fonctions intégrées dans la colonnede gauche, puis que vous cliquez sur une catégorie de fonctions dans la colonne centrale, la colonnede droite répertorie toutes les fonctions intégrées de la catégorie sélectionnée.

Pour créer votre expression, vous pouvez taper du texte dans la zone d'expression, puis coller deséléments à partir des autres zones du Générateur d'expression. Par exemple, vous pouvez cliquer dansla colonne inférieure gauche pour afficher l'un des objets de votre base de données, ainsi que lesfonctions, constantes, opérateurs et expressions courantes. Lorsque vous cliquez sur un élément dansla colonne de gauche, le contenu des autres colonnes change en conséquence. Par exemple, lorsquevous cliquez sur Tables dans la colonne de gauche, puis que vous cliquez sur le nom d'une table, lacolonne centrale répertorie les champs de cette table. Lorsque vous double-cliquez sur Fonctionsdans la colonne de gauche, puis que vous cliquez sur Fonctions intégrées, la colonne centrale affichetoutes les catégories de fonctions et la colonne de droite répertorie toutes les fonctions de cescatégories. Lorsque vous double-cliquez sur une fonction pour l'insérer dans votre expression, lafonction et le texte indiquant les arguments requis par cette fonction apparaissent sous la formed'espaces réservés dans la fenêtre d'expression. Par exemple, si vous double-cliquez sur la fonctionVraiFaux, le Générateur d'expression ajoute les éléments suivants dans la fenêtre d'expression :

IIf («expr», «partievraie», «partiefausse»)

Vous devez replacer le texte «expr», «partievraie» et «partiefausse» par les valeurs réelles desarguments. Vous pouvez le faire directement dans la fenêtre d'expression en cliquant sur chaqueespace réservé, puis en tapant l'argument ou en le sélectionnant à l'aide des trois listes d'élémentsd'expression.

Si vous cliquez sur plusieurs fonctions successivement, par exemple sur la fonction VraiFaux, puis surla fonction Round, le Générateur d'expression ajoute les deux fonctions à la fenêtre d'expression enles séparant par l'espace réservé «Expr» :

IIf («expr», «partievraie», «partiefausse») «Expr» Round («nombre», «précision»)

Outre les espaces réservés pour les arguments des fonctions, vous devez également remplacerl'espace réservé «Expr» par un opérateur pour que l'expression entière soit valide.

Lorsque vous collez un identificateur (le nom d'un champ de table ou d'un contrôle) dans votreexpression, le Générateur d'expression insère seulement les parties de l'identificateur qui sont requisesdans le contexte actuel. Par exemple, si vous démarrez le Générateur d'expression à partir de la feuillede propriétés d'un formulaire nommé Clients, puis que vous collez un identificateur pour la propriétéVisible du formulaire dans votre expression, le Générateur d'expression colle uniquement le nom depropriété Visible. Si vous utilisez cette expression en dehors du contexte du formulaire, vous devezinclure l'identificateur dans son intégralité : Formulaires![Clients].Visible.

Page 196: 4 - Support de Cours Access 2007

http://www.rahmouni.ma

Support Préparé par M. Rahmouni Oussama http://www.rahmouni.ma196

Démarrage du Générateur d’expressions à partir d’une table

Dans le volet de navigation, cliquez avec le bouton droit sur la table à modifier, puis cliquez sur ModeCréation dans le menu contextuel.

Dans la liste Nom du champ, cliquez sur le champ que vous souhaitez modifier. Sous Propriétés du champ, cliquez sur l'onglet Général.

Cliquez sur la propriété qui contiendra l'expression, puis cliquez sur le bouton Générer en regardde la propriété.

Démarrage du Générateur d’expressions à partir d’un formulaire ou d’un état

Dans le volet de navigation, cliquez avec le bouton droit sur le formulaire ou l'état à modifier, puiscliquez sur Mode Création dans le menu contextuel.

Cliquez avec le bouton droit sur le contrôle à modifier, puis cliquez sur Propriétés dans le menucontextuel.

Dans la feuille de propriétés, repérez la propriété qui contiendra l'expression, puis cliquez sur le

bouton Générer en regard de la propriété.

Démarrage du Générateur d’expressions à partir d’une requête

Dans le volet de navigation, cliquez avec le bouton droit sur la requête à modifier, puis cliquez surMode Création dans le menu contextuel.

Cliquez sur la cellule dans la grille de création qui contiendra l'expression. Par exemple, cliquez sur lacellule Critères de la colonne où vous souhaitez fournir des critères ou cliquez sur la cellule Champ dela colonne où vous souhaitez créer un champ calculé.

Sous l'onglet Créer, dans le groupe Paramétrage de requête, cliquez sur Générateur.