Access Perfectionnement Les tables



Documents pareils
1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

1. Introduction Création d'une requête...2

Access 2010 Entraînement 1 Garage Renault Dossier 24 MCD

SOMMAIRE. Travailler avec les requêtes... 3

Créer une base de données

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Cours Access 1) INTRODUCTION AU SGBD...4 2) LES TABLES...4

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

MODE OPERATOIRE OPENOFFICE BASE

Note de cours. Introduction à Excel 2007

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

TABLEAU CROISE DYNAMIQUE

BML Informatique Tableur OpenOffice.org Calc Mercredi 8 avril 2015

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Access 2007 FF Access FR FR Base

SUPPORT DE COURS ACCESS 2010

Parcours FOAD Formation EXCEL 2010

Utilisation de l'outil «Open Office TEXTE»

CAP BOX Note utilisateurs

Cours 1 : introduction

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Débuter avec Excel. Excel

La Clé informatique. Formation Excel XP Aide-mémoire

Excel 2007 Niveau 3 Page 1

Alain DI MAGGIO Mise à jour sur le site 11/01/10

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Saisir et traiter les engagements de coûts

Traitement de texte : Quelques rappels de quelques notions de base

Le modèle de données

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Réaliser un PUBLIPOSTAGE

Excel 2010 Intermediaire

GUIDE Excel (version débutante) Version 2013

Les bases de données. Se familiariser avec Base. Figure 1.1A Ouvre le fichier dont tu as besoin. Lance OpenOffice Base.

MEDIAplus elearning. version 6.6

Débuter avec OOo Base

«Cimetières de France en ligne»

EXCEL TUTORIEL 2012/2013

Editer un catalogue avec OpenOffice

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Le générateur d'activités

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

INP E N S A T T O U L O U S E ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß. 7UDYDLO'LULJp

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Mémo d'utilisation de BD Dico1.6

Créer sa première base de données Access Partie 4/4 - Création d un état

Gestion des bases de données (2 e partie)

Base élèves : des étiquettes avec OpenOffice 2.0

Tutoriels RMS-Clubs 5 PAGE 18 SPDLL

Comment bien démarrer avec. NetAirClub GUIDE ADMINISTRATEUR V1.5. Table des matières

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

1 - Clients 2 - Devis 3 - Commandes 4 - Livraisons 5 - Factures 6 - Avoirs 7 - Modèles

Utiliser une base de données

Créer le schéma relationnel d une base de données ACCESS

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Suivi de la formation

Publipostage avec Calc

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Manuel d'utilisation de TURBO Suite Entreprise 2005

Guide de démarrage rapide

Microsoft Excel 2000 Fonctions avancées

Thème : Gestion commerciale

Créer des étiquettes avec les adresses d'un tableau Calc

et de la feuille de styles.

Manuel utilisateur logiciel Salles. Version 1.1

MANUEL DES NOUVEAUTES

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Mon aide mémoire traitement de texte (Microsoft Word)

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Guide pour la réalisation d'un document avec Open Office Writer 2.2

Gestion de projets. avec. Microsoft Office PROJECT 2003

Cours Excel : les bases (bases, texte)

Modes Opératoires WinTrans Mai 13 ~ 1 ~

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

SOMMAIRE 1 INTRODUCTION 3 2 CONTACTER VOTRE SUPPORT 3 3 ESPACE DE GESTION DES CARTES 4 4 CONFIGURER UNE CARTE 5

UTILISER WORD. Présentation générale de Word. Voici quelques éléments à savoir en démarrant Word.

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Foire aux Questions Note: Les réponses aux questions correspondent à la version Mise en route

Manuel du gestionnaire

Livret Cours Microsoft office 2007 Tableur Excel Perfectionnement

Microsoft. Access Utilisation de base. Fac Similé. Manuel de référence

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdfghjklz mqwertyuiopasdfghjklzxcvbnmqwert

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Open Office - Présentation

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

F0RMAT I0N BUREAUTIQUE

COURS BARDON - ACCESS 2010

Comment mettre en page votre livre

REPUBLIQUE TUNISIENNE MINISTERE DE L EDUCATION ET DE LA FORMATION. 4 ème année de l enseignement secondaire Section : Economie et Gestion.

Didacticiel PowerAMC 11.0 MPD

Manuel utilisateur logiciel Camping. Version 2.3

Publipostage et étiquettes

Calc 2 Avancé. OpenOffice.org. Guide de formation avec exercices et cas pratiques. Philippe Moreau

Transcription:

Les tables Révision sur la conception d'une base de donnée Pour construire un modèle relationnel (l'analyse) il existe plusieurs méthodes mais la plus simple dans Access consiste à Cahier des charges Identifier toutes les tâches de la BD Définir les familles de données Exemple, si j'ai prévu de saisir des employés, (Nom, Prénom, date Naissance ) la famille est Employé. Ne pas confondre les familles de données et les données. Par exemple, quand j'identifie le besoin d'information "Type de contrat", je ne dois pas faire l'erreur de prévoir CDI, CDD On s'aide du cahier des charges, ainsi que des différentes requêtes que l'on veut pouvoir effectuer. On analyse une requête et on regarde si toutes les conditions sont réunies pour pouvoir faire cette requête. Par famille de données, on identifie les champs, par exemple, pour produits Nom, code, Prix Unitaire, conditionnement A ce niveau, on rentre dans le détail. Dans la plupart des cas, on évite les champs calculés. Exemple, un champ âge est une erreur. Conception des tables Chaque famille de données devient une table Access. 1. Regrouper chaque famille dans une table. (sur le papier) Produits Code Nom Prix Unitaire Employés Matricule Nom Prénom Date Naissance 2. Chaque table doit avoir une clé primaire c'est l'identifiant de l'enregistrement. C'est un champ qui ne doit jamais avoir 2 fois la même valeur. C'est un champ sans doublon. Page 1 sur 47

Ici, chaque champ pourrait contenir plusieurs fois la même valeur sauf le N Fournisseur car c'est la clé. N FournisseurNomFournisseur Contact Adresse CodePostal Ville Téléphone 1 Do it yourself - Marché Gérard Hatier 19 Sente du Chou 69001 Lyon 13 14 15 16 2 Menuiserie Strobi Charles Millet 34 rue des Marais 69002 Lyon 69 68 65 64 3 Simon et Associés Henri Pasquier Place de la Gare 31000 Toulouse 31 76 67 17 4 Marché d'aligre Gérard Lemoine 4 rue du Dépôt 75015 Paris 34 41 87 87 5 Elec Trique Géraldine Vigneron 4 rue de la Citadelle 69003 Lyon 69 41 34 34 6 Le Petit Poucet Louise Merlin 2 rue La Fontaine 75015 Paris 42 21 44 25 7 Grand Déballage Gérard Dufour 4 chemin du Loup 75012 Paris 43 08 46 12 8 Irvin Baro & Cie Ernest Tisserand 4 pl. de la Corne 75001 Paris 39 97 81 23 9 Maximilien Père & Fils Véronique Stanley 2 rue Thiers 75008 Paris 39 78 87 82 10 Voltage S.A.Matériel électrique Sabine Gaston 4 rue du Dépôt 75009 Paris 39 71 14 25 11 Schmidt S.A. Marie Dubois 5 rue Principale 75010 Paris 46 42 37 93 12 Outillage de la Garonne Carole Hatier 5 route D'Auvergne 31000 Toulouse 31 02 73 42 3. Définir (au brouillon) les relations directes entre les tables A?? B? C?? C? Je me pose la question pour chaque table. Est-ce que entre la table A et la table B, il y a un lien direct? Je me pose la question, Est-ce que la table Stage est en lien direct avec Motifs, Absences, Employés 4. Pour chaque relation directe, établir le sens de la relation. Dans quel sens l'information circule-t-elle? 1 enregistrement Table A enregistrements Table B? 1 enregistrement Table B enregistrements Table A? Il faut OBLIGATOIREMENT une réponse Vraie et une réponse Faux. Page 2 sur 47

Est-ce qu'1 employé peut faire plusieurs stages Vrai Est-ce qu'1 stage peut correspondre à plusieurs employés Vrai Attention quand il y a 2 réponses vraies, il y a 1 problème. C'est une relation dite 'infinie à infinie'. La solution consiste à casser la relation et à insérer une table intermédiaire. (Association). Souvent, pour nous aider, on réfléchit à un verbe (action) pour connecter les 2 tables. Dans ce cas, qu'est ce qu'un employé doit faire pour suivre un stage il doit s'inscrire. D'où la table inscription. 1 Inscriptions 1 1 Employés Inscriptions (Vrai) 1 Inscription Employés (Faux) 1 stage Inscriptions (Vrai) 1 Inscription stages (Faux) 5. Positionner dans les tables en relation, les clés étrangères (secondaires, externes). Du côté on clone la clé primaire qui est du côté 1. Employés Matricule Nom Prénom 1 Inscriptions N Inscription Date Matricule 6. Dessiner les relations correctement Employés Matricule Nom Prénom 1 Inscriptions N Inscription Date Matricule Page 3 sur 47

Révision sur l'assistant relation Pour me permettre de choisir un employé et un stage en déroulant une zone de liste, j'utilise l'assistant zone de lise déroulante. En effet, il est plus facile d'affecter à une inscription un employé en le choisissant dans une liste qu'en se souvenant par cœur des numéros de matricule. En mode création de table, pour le champ Clé étrangère, on déroule le type de données 1. Les données devant apparaître dans la liste se situent dans une table 2. Choisir la table 3. Choisir les champs que je veux afficher dans la liste. Attention, la clé se mettra de toute manière, il est donc inutile de la prendre. On choisit donc les champs explicites. Dans l'ordre de pertinence. Page 4 sur 47

4. Choisir dans quel ordre la liste sera triée 5. Aperçu de l'aspect de la future liste déroulante 6. Valider la création de la liste Page 5 sur 47

Dire oui pour l'enregistrement, autrement la relation ne se fait pas toute seule. Dans la fenêtre des relations, il faut rafraîchir l'écran pour pouvoir afficher les dernières relations créées. Appliquer l'intégrité référentielle en double cliquant sur la relation. L'intégrité référentielle permet d'assurer le bon fonctionnement de la BD. Si je ne l'active pas, je pourrai saisir des erreurs comme par exemple, une inscription pour un matricule inexistant. Ce genre d'erreur est interdit. Cela peut entraîner de mauvais résultats dans les requêtes. options L'intégrité référentielle permet d'activer 2 Mettre à jour en cascade les champs correspondants Je n'ai pas le droit de modifier la valeur d'une clé (côté 1), soit j'autorise la mise à jour et dans ce cas lorsque je modifie un matricule, toutes les absences faisant référence à ce matricule modifié se mettent à jour. Soit je l'interdis. Effacer en cascade les enregistrements correspondants Si j'efface un employé (côté 1), je me retrouve avec des absences (côtés ) faisant référence à un matricule inexistant (il vient d'être effacé). C'est impossible car l'intégrité référentielle m'interdit d'avoir une Page 6 sur 47

absence pour un matricule inexistant. Donc, soit j'active cette option et la suppression d'un matricule entraîne la suppression de toutes les absences correspondantes. Soit je ne l'active pas et j'interdis donc la suppression d'un matricule qui a des absences. Les propriétés des zones de liste Dans les propriétés d'une zone de liste, on affiche l'onglet "Liste de choix". Le contenu décide de ce qui s'affiche quand on déroule la liste. Cela correspond à une instruction SQL. La colonne liée permet d'indiquer quel champ de cette liste va se stocker dans le champ. Dans les largeurs de colonne, la colonne clé fait 0cm, elle est masquée. C'est l'astuce qui me permet de choisir une valeur de manière explicite. Limiter à liste Oui, indique que l'on ne peut que choisir une valeur parmi celles proposées ici. TOUJOURS LAISSER OUI. Les propriétés de la table La propriété Valide Si En mode création de table, on clique sur le bouton propriétés La propriété 'valide si' permet de positionner des règles concernant la validité de la saisie d'un enregistrement. Access vérifie ces règles à la sortie de l'enregistrement. Double clic pour mettre la valeur dans la zone de l'expression Page 7 sur 47

Attention, si certains enregistrements existants ne correspondent pas à ces règles, Access me le signale mais ne me les affiche pas. L'idéal est de positionner ces règles avant de saisir les enregistrements. Les sous-feuilles de données Dans une table côté 1 d'une relation, un petit symbole + apparaît permettant d'afficher et de saisir des informations dans une sous-feuille de données. Si plusieurs relations partent de la table, Access demande quelle table afficher. Les propriétés inscrivent ce choix dans la fenêtre des propriétés. Les index Les index sont des petits marqueurs invisibles situés dans les champs d'une table. Ils sont utilisés pour rendre unique la valeur d'un champ (clé primaire = index Oui sans doublons) et ils sont également utilisés pour rendre plus rapide les requêtes devant utiliser certains champs (index = Oui avec doublons). En mode création, chaque champ a 1 propriété Indexé, mais le récapitulatif de tous les index de la table sont situé dans la fenêtre des index. L'index sans doublon (PrimaryKey) permet d'éviter la saisie de doublons. Page 8 sur 47

L'index avec doublons permet à des champs très importants dans le fonctionnement de la BD d'être plus efficaces lors des requêtes. On utilise ce type d'index pour accélérer le résultat des requêtes. Mais ce n'est pas la peine de mettre des index pour des tables avec peu d'enregistrements (<3000). Au contraire, on évite absolument de mettre des index dans les petites bases de données. Dans les options, on enlève la mise en place automatique des index par Access pour éviter d'alourdir le fonctionnement de nos BD. Menu Outils Options Onglet Tables / Requêtes A supprimer L'index peut réaliser une sécurité en testant la combinaison de plusieurs. Par exemple, je n'ai pas le droit pour un même stage d'affecter plusieurs fois la même personne. Ça n'a pas de sens. Page 9 sur 47

La documentation L'outil de documentation est utile lorsque j'ai besoin de récupérer des informations concernant certains objets de ma BD. Menu Outils Analyse Documentation L'objectif est de concevoir un état prêt à l'impression qui recense toutes les infos. Page 10 sur 47

Les tables attachées Par défaut, une BD Access est 1 fichier et je ne travaille que dans ce fichier. Je peux avoir besoin d'aller chercher une table qui se situe dans une autre BD. Je peux avoir besoin d'aller chercher des données stockées dans Excel et de les analyser (requêtes) ou de les imprimer (états) dans Access. Exemple d'attache Excel Ce fichier Excel, si je désire l'attache dans Access. 1. Fichier Données Externes Lier les tables 2. Choisir le type de fichiers Excel et sélectionner le bon fichier 3. Bouton Attacher 4. L'assistant d'attache de feuille de calcul se déclenche Page 11 sur 47

i. Choisir la feuille de calcul ii. Vérifier que la 1 ère contient les champs iii. Nommer l'attache Ensuite, l'attache est mise en place, elle peut servir de source pour la création d'une requête, d'un formulaire, d'un état. Page 12 sur 47

Le menu Outils Utilitaire de BD Gestionnaire de Tables liées permet de gérer toutes les attaches. Cette fenêtre permet de rattacher les tables en cas de déplacement des fichiers. Page 13 sur 47

Les formulaires Le rôle d'un formulaire c'est la saisie des données. La saisie dans un formulaire est plus agréable que dans une table Avantages du formulaire Imbriquer des formulaires dans d'autres formulaires (sous-formulaires) Faire des listes de recherches Créer des onglets (de rangement de contrôles) Rappels A partir d'une sélection multiple de contrôles, je peux grâce au menu Format Aligner Changer la taille Changer les espacements (horizontaux / verticaux) Pour faire des décalages, on peut utiliser la propriété gauche Page 14 sur 47

Quelques propriétés du formulaire Page 15 sur 47

Zone de liste de recherche d'enregistrements Vérifier que l'assistant est enclenché. Activer l'outil zone de liste déroulante Faire 1 clic dans le formulaire L'assistant se déclenche 1. 3 ème option 2. Choisir les champs qui me permettent de rechercher l'enregistrement 3. Aperçu de la liste Page 16 sur 47

4. Etiquette de la liste déroulante Avantage de la liste Je peux dérouler et taper les premiers caractères, la liste se synchronise au fur et à mesure de ma saisie Page 17 sur 47

Inconvénient L'assistant n'a pas effectué le tri comme je le souhaite. Dans les propriétés de la liste déroulante, dans la propriété "contenu", on modifie l'instruction SQL. Astuce de position de la liste Il est possible de supprimer l'étiquette de la zone de liste et de réduire la largeur de la zone de liste à la largeur de la flèche. Attention, il faut dérouler avant de taper une recherche sinon, on modifie l'enregistrement en cours. Le contrôle onglet Positionner le contrôle onglet. Page 18 sur 47

Placer un élément dans le contrôle onglet 1. Choisir la page 2. Vérifier qu'avant de poser un élément, la page s'assombrit. Placer un élément dans une page alors qu'il est déjà dans la section détail. Les éléments placés dans la section détail doivent être coupés-collés pour s'afficher dans un onglet. 1. Sélectionner les éléments 2. Couper 3. Sélectionner la page en cliquant dessus 4. Coller Personnaliser les onglets Dans les propriétés de la page, on peut personnaliser la légende, l'image Page 19 sur 47

Les propriétés du contrôle onglet Lorsque j'insère un contrôle onglet de 2 pages, il y a en réalité 3 contrôles, la page1, la page2 et le contrôle onglet. Le contrôle onglet dispose de propriétés supplémentaires permettant notamment Rendre transparent (style) Mettre la même largeur pour chaque onglet (largeur fixe onglet) Les sous-formulaires Théorie Objectif : Imbriquer un formulaire B dans un autre A. A est le formulaire principal, on le nomme le père. B est le sous-formulaire, c'est le fils. A est basé sur une table "Table A" B est basé" sur une table "Table B" Pour que le formulaire A recueille le sous-formulaire B, il faut impérativement que la "Table A" soit en relation directe avec la "Table B". Table A 1 Table B Pratique Construire le sous-formulaire Pour construire le sous-formulaire, on peut se servir de l'assistant. 1. Bouton Nouveau Formulaire 2. On choisit l'assistant et on se base sur la Table B. Page 20 sur 47

3. Choisir les champs D'abord, choisir les champs qui me paraissent importants. Si la clé primaire est un NuméroAuto, je ne prends pas ce champ. On omet également la clé étrangère (le champ fils) pour l'interface. Ici, l'utilisateur verra déjà le matricule situé dans le formulaire principal. 4. Choisir la disposition tabulaire. Cela permet d'afficher un aspect 'listing'. (voire feuille de données). 5. Choisir le style 6. Nommer le formulaire (astuce, mettre SF devant le nom du sous-formulaire) Page 21 sur 47

Intégrer le sous-formulaire dans le formulaire principal 1. Ouvrir le Formulaire principal en mode création 2. Menu Fenêtre Mosaïque verticale 3. Faire glisser l'objet SF dans le formulaire principal La saisie d'une absence dans le formulaire des employés est à présent possible. On peut vérifier que le lien entre le formulaire principal et le sous-formulaire est fait correctement grâce aux propriétés de l'objet Sous-formulaire Page 22 sur 47

Champ père correspond à la clé primaire et le champ fils correspond à la clé étrangère. Page 23 sur 47

Les requêtes Pour s'exercer sur les requêtes, on peut utiliser la BD fournie par Microsoft "Les comptoirs". Menu? Exemples de Bases de données Exemple de Base de données Les comptoirs Pour faire une requête, il faut absolument comprendre le modèle relationnel de sa base de données. Création d'une requête Créer une requête en mode Création Choisir la ou les tables à partir desquelles on souhaite afficher des données. Page 24 sur 47

On double-clique pour placer les tables en haut de l'interface de la requête. Pour placer les champs dans la partie inférieure, on double-clique sur les champs dans les tables. On peut également faire glisser un champ, ce qui permet de les insérer entre 2 colonnes. Pour déplacer 2 colonnes, il faut 1. Sélectionner la colonne (petite flèche noire) 2. Au même emplacement, commencer le cliquer-glisser. Page 25 sur 47

Pour afficher le résultat de la requête, on passe par le bouton Les tris Pour trier la requête sur un champ, je me place à l'intersection de la ligne tri et du champ à trier. Dans Access, je peux placer autant de clés de tri que je le souhaite. On procède de la même façon. Ce qui détermine l'ordre des clés de tri, c'est la position des champs de la gauche vers la droite dans le mode création. Je peux donc être amené à déplacer mes champs. D'abord par pays, puis par ville. Lorsque je déplace les champs, je change l'ordre des colonnes pour le mode affichage. Comme cet ordre ne correspond pas à ce que je souhaite, je peux rechanger l'ordre des colonnes en mode affichage. Access, fait la différence entre l'ordre des colonnes en mode affichage et l'ordre des colonnes en mode création. Page 26 sur 47

Les critères Dans une requête, j'ai besoin d'extraire certains enregistrements qui répondent à un critère particulier. Pour placer un critère, on le saisit à l'intersection du champ et de la ligne critères. Critères de type 'Texte' Saisir dans la ligne critère la valeur qu'access doit trouver. Les critères de type texte se placent entre guillemets Minuscules et Majuscules ne font pas de différences. En revanche Bresil Brésil Placer plusieurs critères Pour le même champ On utilise la ligne OU pour cumuler les critères Texte d'un même champ. On ne peut pas avoir un client dont la valeur est Mexique Et Argentine. Elle est soit Mexique soit Argentine. On doit raisonner comme le programme. Toutes les lignes situées sous la ligne OU sont des lignes de 'OU'. Page 27 sur 47

On peut aussi taper les 'Ou' Pour des champs différents Validation Objectif, afficher tous les propriétaires (fonction) en France (pays) On cumule les 2 critères, ET. Si j'avais mis "propriétaire" et "France" sur 2 lignes différentes, Access aurait sorti tous les clients propriétaires (peu importe leur nationalité) et tous les clients français (peu importe leur fonction). Si, plusieurs pays doivent être placés en critères, il ne faut pas oublier de reporter les critères des autres champs. Si je ne mets pas "Propriétaire" en face de Mexique, Access va sortir tous les mexicains, peu importe leur fonction. Ou Page 28 sur 47

Les caractères joker On a parfois besoin de récupérer un mot dans la valeur saisie. Par exemple, je veux récupérer tous les chefs des ventes, tous les directeurs de ventes, tous les assistants des ventes Je ne sais pas où est placé le mot "vente" mais je veux récupérer tous les clients pour lesquels le mot "vente" est utilisé dans le champ fonction. Le caractère * permet de remplacer une série de caractères. A* tout ce qui commence par A *B tout ce qui se termine par B *c* tout ce qui contient c. Le caractère? permet de remplacer un seul caractère.????????69* toutes les personnes dont le N Sécu correspond au Rhône (69) *Vente* Le mot clé comme identifie l'* comme un caractère joker. Les Paramètres Une requête paramètre permet de laisser les utilisateurs qui ne connaissent pas Access remplir des critères. On place la question dans les critères entre crochets. Très généralement on accompagne les crochets du mot clé comme ce qui permet à l'utilisateur d'utiliser les caractères joker. Mode Affichage Intérêt des requêtes paramètres 1 seul objet état basé sur une requête paramètre permet d'imprimer autant de listing d'entreprise qu'il y a de pays. Cela assure la cohérence entre les différents objets imprimés et évite de stocker autant de requêtes et autant d'état qu'il n'y a de pays. Page 29 sur 47

Les requêtes multi-tables Si je construis une requête multi-table c'est que j'ai besoin de champs situés dans ces différentes tables. Sinon, on risque d'avoir des résultats incohérents. Il est également interdit de se baser sur des tables qui ne seraient pas toutes liées. Si les liens sont rompus, l'information de circule pas d'un bout à l'autre de la source demandée. Critères sur les champs de type date / numérique Une date saisie dans les critères se place entre #. Les # se mettent tout seul. > Supérieur à >= Supérieur ou égal < Inférieur à <= Inférieur ou égal <> Différent de Entre Et Compris entre #Date1# et #Date 2# Page 30 sur 47

Les calculs Les calculs se servent des champs déjà positionnés dans la requête. On se place dans une nouvelle colonne, sur la ligne champ et on appelle le générateur d'expression. Avant de le lancer toujours enregistrer sa requête. Quand on utilise les champs pour faire les calculs, on peut utiliser les champs de la requête ou les champs correspondants dans les tables. Une fois le calcul terminé, il est libellé "Expr1", je double-clique dessus et je le renomme si je le souhaite. Je peux ensuite placer des critères sur les champs calculés. Page 31 sur 47

Les requêtes opération Les requêtes opérations permettent de regrouper les champs doublons tout en réalisant une opération sur un autre champ. Exemple : Compter le nombre de société par pays. Compter le nombre de société (Fonction Compte) par pays (doublons Regroupement) Faire le CA par employés Faire le CA (Fonction Somme) par employés (doublons Regroupement) 1. Faire la requête en plaçant les champs utiles 2. Convertir la requête sélection en requête opération. Une nouvelle ligne apparaît dans la structure de la requête. 3. Dérouler la liste des fonctions et choisir la bonne opération pour le champ qui subit le calcul. Il faut parfois enlever les champs qui peuvent empêcher le regroupement de se faire comme on le souhaite. Pour pouvoir regrouper uniquement sur le Nom, je dois enlever le regroupement sur le N Commande. Page 32 sur 47

Les critères de date dans les requêtes opération Par défaut, quand j'ajoute un champ, il est regroupé. Dans le cas d'une date, ça peut poser problème étant donné le nombre de dates différentes. Pour que ce champ ne serve que de critère, on place l'opérateur Où. J'additionne les CA par catégorie où la date est comprise entre le 1/1/97 et le 31/12/97. Page 33 sur 47

Les requêtes Actions Les requêtes actions sont utilisées pour gérer la base de données. Requête Création de table A partir d'une requête classique, je peux archiver la requête que j'obtiens en stockant les résultats dans une nouvelle table. 1. Faire la requête contenant les résultats à archiver 2. On transforme la requête en requête création de table en passant par le menu Requête. 3. Nommer la future table Pour l'instant, aucune table n'est conçue, il faut exécuter la requête pour que la table soit créée. 4. Cliquer sur le bouton Exécuter. Access délivre une série d'avertissements Requête Ajout d'enregistrements Cette requête permet de récupérer certains enregistrements et de les ajouter à une table existante. 1. Faire la requête permettant d'identifier tous les enregistrements à ajouter à une table existante. 2. Transformer la requête en requête Ajout d'enregistrements Page 34 sur 47

Spécifier le nom de la table dans laquelle on souhaite ajouter de nouveaux enregistrements. 3. Faire la correspondance entre les champs de la requête et les champs de la table avec la ligne "Ajouter à" 4. Cliquer sur le bouton Exécuter. Access délivre une série d'avertissements Requête Suppression d'enregistrements Objectif : supprimer rapidement des enregistrements en masse. C'est certainement le type de requête le + dangereux, il convient donc de travailler sur une copie avant de faire la suppression définitive. Avant de créer la requête suppression, vérifier que les options d'intégrité référentielle permettront de supprimer les enregistrements. Page 35 sur 47

1. Faire une nouvelle requête en se basant sur la table qui contient les enregistrements à supprimer. 2. Mettre les champs ayant des critères et inscrire les critères. 3. On transforme la requête en requête Suppression en passant par le menu Requêtes. La ligne supprimer apparaît. On peut relire la requête de la façon suivante. Je veux supprimer les enregistrements de la table Commandes là où le champ Date Commande est compris entre le 1/1/96 et le 31/12/96. 4. On exécute la requête. Cette suppression d'enregistrements est irréversible. Requête Mise à jour Elles permettent de faire des mises à jour en masse d'enregistrements. Par exemple, pratiquer une augmentation des Prix Unitaires sur nos 2000 références de produits. 1. Faire une nouvelle requête 2. Placer les champs qui doivent être mis à jour et les champs qui servent de critères Page 36 sur 47

3. Transformer la requête en requête mise à jour Nouvelle ligne Mise à jour. C'est dans cette ligne qu'on indique la nouvelle valeur du champ à mettre jour. Il peut s'agir d'une valeur tapée directement ou d'un calcul reprenant la valeur existante. Dans le cas d'un calcul, on peut se servir du générateur d'expressions. 4. Exécuter la requête Les requêtes avec jointure externe Une jointure est une relation. C'est un type de requête qui permet de modifier la façon dont l'information circule entre les tables. DANS LA REQUETE! Supposons que je veuille afficher tous les clients ainsi que les commandes de ces clients. Une requête classique n'affiche que les clients et les commandes faites par ces clients. Elle n'affiche pas les clients qui n'ont pas fait de commandes. Page 37 sur 47

Exemple : On peut donc souhaiter afficher que les clients qui n'ont pas de commandes. 1. Faire une nouvelle requête basée sur les tables clients et commandes 2. Placer les champs sociétés et N Commande Par défaut, le résultat affiche les clients qui ont fait des commandes. 3. Changer le type de jointure, en double-cliquant sur la relation (ça ne change que pour la requête). Changer le type de jointure pour afficher tous les clients Page 38 sur 47

Null est le critère qui permet d'afficher toutes les valeurs vierges. Page 39 sur 47

Les états Objectif d'un état : Imprimer (mise en page), résumer, regrouper, calculer, faire des soustotaux. Dans la plupart des situations, les états permettent de concevoir des listings d'enregistrements que l'on peut imprimer. L'assistant état doit être utilisé pour concevoir la structure de l'état. Ensuite, je peux venir dans la structure (mode création) pour aménager des synthèses, des calculs, des repositionnements. Quand je fais un état, je peux me baser sur Une table Une requête (on ne prend que les enregistrements que l'on souhaite imprimer) o Requête simple o Requête paramètre o Requête calculée o L'assistant Etat Se baser sur la bonne source (table ou requête) Page 40 sur 47

1. Choisir les champs à afficher dans le listing (colonnes du listing). Attention à ne pas prendre trop de champs sinon, on dépasse en largeur (même en paysage). 2. Niveau de regroupement 3. Access propose de faire un tri. NE JAMAIS FAIRE DE TRI DANS L'ASSISTANT car il change l'ordre des colonnes. On réalise les tris dans le mode création de l'état. 4. Dans la présentation, on prend tabulaire et paysage Page 41 sur 47

5. Choisir un style 6. Nommer l'état Page 42 sur 47

La structure de base d'un état Par défaut, un état réalisé avec l'assistant possède 5 sections L'en-tête et le pied d'état... Au début et à la fin du listing (Titre / Résumé / Synthèse) L'en-tête et le pied de page... En haut et en bas de chaque page (Libellé de champs / numérotation / date) La section détail... Pour chaque enregistrement (champ de l'enregistrementà) Trier les données dans un état Menu Affichage Trier et grouper Ici, je trie par Pays, puis par ville puis par société. Page 43 sur 47

Propriété Auto-Extensible Lorsque je dois prendre beaucoup de champs, souvent, l'information est tronquée. Pour afficher automatiquement les retours à la ligne, j'utilise la propriété Auto-extensible. Les regroupements La 2 ème étape de l'assistant permet de regrouper les informations sur un champ. Un niveau de regroupement permet de classer les enregistrements et de trier sur le champ regroupé. Il est possible de cumuler les niveaux de regroupement. Quand on positionne un niveau de regroupement avec l'assistant, l'étape n 4 change et propose des types de présentation adaptés aux regroupements Résultat Page 44 sur 47

Au niveau structurel, l'assistant a en réalité ajouté un tri avec un en-tête de groupe qui est une nouvelle section. Résolution des problèmes du regroupement L'état coupe les groupes d'une page à une autre quand je regarde la page suivante, je ne sais pas à quel groupe appartiennent les enregistrements. Dans les propriétés de l'en-tête de groupe, on va modifier la propriété "répéter section". Cette propriété permet de répéter la section en haut de chaque page. Page 45 sur 47

Il se peut que l'état début un groupe mais n'ait pas la place d'afficher le 1 er enregistrement. Dans les propriétés du groupe (menu affichage trier et regrouper) on a une propriété Section Insécable. Non : c'est cette propriété qui risque d'afficher un début de groupe en bas de page sans afficher d'enregistrement. d'enregistrements du groupe suivant Groupe entier : Si l'état ne peut pas afficher tous les enregistrements du groupe sur la page, le groupe passe obligatoirement à la page suivante. Cette option affiche parfois des blancs en raison du grand nombre Avec premier détail : à partir du moment où au moins 1 enregistrement peut figurer en bas de la page, le groupe commence sur la page. C'est une solution optimisée pour les listings. Faire des calculs de sous-totaux Faire des sous-totaux dans Access revient à 1. Organiser une structure de sous-totaux avec un niveau de regroupement 2. Afficher la section Pied de groupe. Dans la fenêtre Trier et regrouper, on positionne 'oui' dans la propriété Pied de groupe. La section s'affiche dans le mode création. Page 46 sur 47

Dans cette section, je place un calcul permettant de réaliser les sous-totaux. Somme / Moyenne / Compte =Compte([Nom du Champ]) =Somme([Nom du Champ]) =Moyenne([Nom du Champ]) 1. Placer une nouvelle zone de texte dans la section pied de groupe 2. Taper la fonction dans la zone de texte. ="Total : " & Compte([société]) Page 47 sur 47