Access Initiation
Transcription
Access Initiation
Access Initiation romainTutoriel Access Initiation Rôle d'Access L'objectif premier d'une base de données (BD) est de stocker et d'exploiter les informations. Access permet de faire des BD bureautique qui tiennent dans un fichier. Un fichier Access contient des objets. • • • • Tables Requêtes Formulaires Etats • • • Pages Macros Modules On peut travailler sur les comptoirs pour se faire la main. C'est une BD exemple fournie par Microsoft. Vocabulaire Les colonnes sont des champs (Code Client, Société, Contact…) Les lignes sont des enregistrements http://romaintutoriel.free.fr 1/62 Access Initiation romainTutoriel En bas de l'écran, dans les tables, les requêtes et les formulaires se trouve le défileur d'enregistrement. Dans l'ordre, 1er, précédent, N°Ligne, Suivant, Dernier, Nouveau. Bouton Nouveau Enregistrement sélectionné Enregistrement en cours de modification On valide en passant à un autre enregistrement, on abandonne en faisant Echap. Rôle des objets Les tables ...................... Stocker les données (Saisie, modification, suppression, tris, filtres, impressions) Les requêtes .................. Interroger les données, faire des extractions, trier, calculer (saisie, modification, supprimer, imprimer). Attention, les données visibles dans les requêtes peuvent modifier les données de la table. ...................................... Administrer la base, modifier, créer, ajouter, supprimer des enregistrements. Les formulaires ............. Interface de saisie, ils permettent de saisir avec convivialité. (Imprimer, filtrer, trier, calculer). Les états ........................ Aperçus avant impression, Imprimer les données Les Pages ...................... Afficher, exploiter les données dans des pages Web Les macros.................... Automatiser les tâches (si je ne sais pas développer) Les modules.................. Programmation (Visual Basic) http://romaintutoriel.free.fr 2/62 Access Initiation romainTutoriel Les dépendances d'objets Tables Requêtes Formulaires Etats Exemple, ma table clients stocke tous les clients. Je veux imprimer les clients de Lyon. Il faut d'abord créer une requête qui extrait tous les clients de Lyon. Ensuite, pour imprimer, je fais un état qui se base sur cette requête. Si je modifie les données dans le formulaire (mode affichage), comme les données sont stockées dans la table, je modifie en réalité les données stockées dans la table. Les différents modes Lors de la construction des objets et lors de leurs exploitations, on n'utilise la même mode de travail. Le mode création Æ Pour créer, modifier Le mode affichage Æ Pour exploiter les l'objet. Le mode création s'enregistre. données. Pas besoin d'enregistrer. Equerre pour aller dans le mode création Bouton au même endroit pour repasser en mode affichage Table Créer les champs http://romaintutoriel.free.fr 3/62 Access Initiation romainTutoriel Requête Pour poser la question Formulaire Créer la présentation, l'interface. Etat Créer la mise en page http://romaintutoriel.free.fr 4/62 Access Initiation romainTutoriel L'analyse – Le modèle relationnel Une BD se construit d'abord par la réflexion sur le papier. On voit l'analyse de la base sur Access en cliquant sur ou sur le menu Outils – Relations. Exemple : Gestion des absences Etape 1 – La réflexion • Identifier le besoin, écrire tout ce que la base doit faire. o Identifier les questions car on fait une base souvent à cause d'un besoin de réponse, de clarté dans le système d'informations. Dans Access, ça deviendra les requêtes. o Du coup, on identifie en parallèle, les besoins de famille d'informations qui deviendront les tables. • • Exemple : Familles des employés, des motifs, des absences Exemple : Questions o Compter le Nb d'absence par personnes, classer les absences par motifs par personne, définir les employés les plus absents, les moins absents, définir les motifs les plus fréquents, les périodes où il y a le plus d'absences, durée moyenne d'absence par personne… Etape n°2 – Identifier les champs par famille Employés : Nom, prénom, date de naissance, adresse, code postal, ville, pays, téléphone, fonction, matricule, date embauche, diplôme(s) (éventuellement table diplôme ou champ http://romaintutoriel.free.fr 5/62 Access Initiation romainTutoriel d'observation sur les diplômes, nb enfant(s), état civil, véhiculé, type de contrat (table contrat), sexe, titre… Motifs : Motif Absences : Date début, date fin, demande préalable, justifiée, remplacement, demi journée Etape n°3 – Dessiner les tables (au papier) EMPLOYES MOTIFS Nom Prénom Titre Sexe Adresse CP Ville Téléphone Date Naissance Date Entrée Fonction Motif ABSENCES Date Début Date Fin Justifée Identifier les clés primaires Une clé est un champ qui a un rôle très spécifique. Dans ce champ il ne peut pas y avoir de doublons. Chaque table doit avoir une clé primaire ! Une clé est un identifiant. Dans certaines tables la clé primaire n'a qu'un rôle d'identifiant. Elle n'a pas forcément une signification. http://romaintutoriel.free.fr 6/62 Access Initiation romainTutoriel EMPLOYES MOTIFS Matricule Nom Prénom Titre Sexe Adresse CP Ville Téléphone Mail Date Naissance Date Entrée Fonction Service N° Motif Motif ABSENCES N°Absence Date Début Date Fin Justifée Identifier les relations directes Une relation entre 2 tables permet de faire communiquer ces 2 tables. • On se pose la question de savoir si entre la table A et la table B il y a une relation directe ? • On se pose la question de savoir si entre la table A et la table C il y a une relation directe ? • On se pose la question de savoir si entre la table B et la table C il y a une relation directe ? On se pose la question pour chaque combinaison possible. Employés Æ Absences Æ Oui Employés Æ Motifs Æ Non Absences Æ Motifs Æ Oui Au final, tout doit être relié. Je peux passer d'une table à un autre à travers l'ensemble des relations. Il ne doit pas y avoir de tables isolées. http://romaintutoriel.free.fr 7/62 Access Initiation romainTutoriel EMPLOYES MOTIFS Matricule Nom Prénom Titre Sexe Adresse CP Ville Téléphone Mail Date Naissance Date Entrée Fonction N° Motif Motif ABSENCES N°Absence Date Début Date Fin Justifée Identifier le sens de circulation dans les relations Par exemple, on a un lien direct entre employés et absences, je me pose la question de savoir si ce sont les employés qui sont absents ou les absences qui sont employés. 2 questions magiques pour chaque relation. Pour 1 enregistrement de la Table A Æ ∞ (plusieurs) enregistrements de la Table B ? Pour 1 employé Æ ∞ absences Pour 1 enregistrement de la Table B Æ ∞ (plusieurs) enregistrements de la Table A ? Pour 1 absence Æ ∞ employé Une réponse Oui ET Une réponse Non OBLIGATOIREMENT Impossible d’avoir 2 oui ou 2 non. Pour une absence (1 ligne), je n'ai qu'un employé et qu'un motif. http://romaintutoriel.free.fr 8/62 Access Initiation romainTutoriel EMPLOYES Matricule Nom Prénom Titre Sexe Adresse CP Ville Téléphone Mail Date Naissance Date Entrée Fonction MOTIFS 1 1 N° Motif Motif ABSENCES ∞ N°Absence Date Début Date Fin Justifée ∞ Placer les clés étrangères Clé externe = clé secondaire = clé étrangère Une clé étrangère est un champ qui permet à la relation de s'effectuer. Une relation part toujours de la clé primaire (côté 1) pour atteindre la clé étrangère (côté ∞). La clé étrangère est un clone de la clé primaire de la relation. TABLE A N°A Champ 1 Champ 2 Champ 3 1 TABLE B ∞ http://romaintutoriel.free.fr N°B Champ 1 Champ 2 N°A 9/62 Access Initiation romainTutoriel EMPLOYES Matricule Nom Prénom Titre Sexe Adresse CP Ville Téléphone Mail Date Naissance Date Entrée Fonction MOTIFS 1 1 N° Motif Motif ABSENCES ∞ N°Absence Date Début Date Fin Justifée Matricule N° Motif ∞ Faire les relations correctement EMPLOYES Matricule Nom Prénom Titre Sexe Adresse CP Ville Téléphone Mail Date Naissance Date Entrée Fonction MOTIFS 1 1 Code Motif Motif ABSENCES N°Absence Date Début Date Fin Justifée Matricule ∞ Code Motif http://romaintutoriel.free.fr ∞ 10/62 Access Initiation romainTutoriel Construction des tables Il faut d'abord créer la base. Bouton Nouveau + Lien pour créer une nouvelle base. Double cliquer sur l'icône pour créer une table en mode création. Taper les champs dans la colonne des champs Mettre la clé primaire sur le champ adéquat a. Sélectionner le champ en se plaçant dessus b. Bouton Clé primaire http://romaintutoriel.free.fr 11/62 Access Initiation romainTutoriel Placer le bon type de données pour chaque champ. Texte Æ Pour saisir du texte, des nombres comme des codes postaux, des N° téléphone… Numérique Æ Saisie de nombres permettant par la suite des calculs. Il existe ensuite plusieurs types de numérique. Par exemple, entier, réel simple… Monétaire Æ Saisie de montants. Date & Heure Æ Si l'heure n'est pas précisée, ce n'est pas important. (saisir la date du jjour avec Ctrl ;) Oui/Non (Booléen) Æ coché=oui, décoché=non, la véritable valeur de oui -1 e la véritable de non 0 Plutôt que d'utiliser le type de données OLE (déconseillé) on place un type Lien Hypertexte qui permet de renseigner l'adresse d'un fichier sur le disque ou le réseau ou encore l'adresse d'une page web. Numérotation automatique Æ Ce type de données permet d'incrémenter un nombre de 1 en 1. Idéal pour les tables dont la clé n'a pas vraiment de signification. Comme par exemple pour les tables intermédiaires. Choisir le bon type de données pour les champs http://romaintutoriel.free.fr 12/62 Access Initiation romainTutoriel Les descriptions Les descriptions des champs se retrouvent en mode affichage dans la barre d'état. Les propriétés des champs Chaque champ a sa fenêtre des propriétés en bas de l'écran. En fonction du type de données, la liste des propriétés est différente. Taille du champ C'est le nombre de caractères maxi (255 maxi) que je peux saisir dans le champ. Exemple : le champ Sexe : 1 caractère Parfois, on conserve une taille de champ importante, comme 30 caractères pour le nom de famille. Cela représente une perte d’octet sur le disque dur sachant que souvent un nom de famille est plus court. Pour redonner à la base sa taille réelle (correspondant à ce qui est réellement stocké) on compacte la base. Soit de manière manuelle, menu outils – utilitaires de BD – Compacter la BD Soit de manière automatique – Outils – Options – Onglet général – Compacter lors de la fermeture. http://romaintutoriel.free.fr 13/62 Access Initiation romainTutoriel Le compactage permet aussi de regagner de la place si des objets ou des enregistrements ont été supprimés. Le format Cette propriété est surtout utile pour les montants (type de donnée monétaire) pour les dates… Le type de données texte permet d'afficher des minuscules en majuscules en plaçant le code > Le masque de saisie Pour obliger la saisie à se faire de telle manière. Par exemple, je veux que les / se placent tout seuls dans la saisie d'une date. Que les espaces (ou les point, tirets) se placent tout seuls pour un téléphone… C'est également idéal pour un code (ex 3 chiffres et 3 lettres) Matricule Æ >000\-LLL Sexe Æ >L CP Æ 00000 Téléphone Æ 00\ 00\ 00\ 00\ 00 Dates Æ 00/00/0000 http://romaintutoriel.free.fr 14/62 Access Initiation romainTutoriel Légende Elle permet de modifier le libellé du champ pour le mode affichage Valeur par défaut Cette propriété permet de saisir une valeur d'un champ automatiquement lors d'un enregistrement. Par exemple, dans une entreprise où la population est à 99% féminine, je peux placer la valeur par défaut F pour le champ Sexe. Valide Si / Message si erreur La propriété Valide Si permet de rentrer une expression explicitant les valeurs que le champ peut accepter. La propriété Message si erreur permet de personnaliser le message en cas d'erreur de saisie. Par exemple le champ sexe qui ne peut accueillir que 2 valeurs (M ou F) Null interdit / Chaine vide autorisée Permet de rendre la saisie obligatoire. La clé primaire est dispensée de cette propriété. Si la propriété Null interdit prend la valeur oui Æ Le champ est à emplir obligatoirement. Indexé Un index permet de mémoriser la valeur du champ à travers tous les enregistrements. Si j'essaie de saisir 2 fois la même valeur pour une clé primaire, c'est l'index qui sait que la valeur existe déjà, ainsi, le doublon est interdit. Un index sans doublons http://romaintutoriel.free.fr 15/62 Access Initiation romainTutoriel C'est une sécurité m'interdisant de saisir 2 fois la même valeur dans le champ. Surtout utilisé pour les clés primaires. Un index avec doublons est un moyen pour Access de se souvenir des valeurs pour accélérer les futures recherches faites sur ce champ. Si la table est volumineuse (> 2000 enregistrements). Surtout utile pour les champs qui serviront de critères. on l'oublie pour les petites tables. http://romaintutoriel.free.fr 16/62 Access Initiation romainTutoriel Créer une clé étrangère : Faire la relation Quand je m'apprête à créer la clé étrangère, pour faire la relation avec une autre table, j'utilise l'assistant liste de choix. L'assistant clé étrangère Je dois créer une relation à partir de ma clé étrangère. En déroulant le type de données. 1. Prendre la 1ère option 2. Choisir la table 3. Choisir les champs explicites à afficher dans la liste http://romaintutoriel.free.fr 17/62 Access Initiation romainTutoriel C'est un assistant, lui il identifie un employé avec le matricule (c'est lui qui le placera) moi j'identifie un employé avec son nom et son prénom, ce sont ces champs que je choisis. 4. Trier la liste http://romaintutoriel.free.fr 18/62 Access Initiation romainTutoriel 5. Aperçu de la future liste déroulée L'assistant a bien pris la clé mais il la masque. 6. Terminer Répondre Oui pour que l'assistant puisse effectuer la relation. Placer l'intégrité référentielle Menu Outils – Relations ou Bouton Relations Double-cliquer sur la relation pour voir ses propriétés. http://romaintutoriel.free.fr 19/62 Access Initiation romainTutoriel Dans la fenêtre des relations, il faut parfois rafraichir l'écran pour afficher toutes les relations On dit d'une relation 1 à ∞ que c'est une relation avec intégrité référentielle. Elle garantie le bon fonctionnement de la relation. Les risques Si la relation entre la table Employé et la table Absence n'a pas d'intégrité référentielle, il peut y avoir de mauvaises saisies d'absences. Par exemple saisir une absence pour un employé qui n'existe pas dans la table des employés. Exemple : Table Employés Nom Dupond Durand Martin Prénom Anne Jean Paul Table Absences Date début 18/09/2007 18/09/2007 18/09/2007 18/09/2007 Date retour 19/09/2007 20/09/2007 21/09/2007 22/09/2007 Employé Dupond Durand Martin Toto Motif CP MALADIE RTT RTT (Avec l'intégrité référentielle, je ne pourrai pas faire cette erreur) http://romaintutoriel.free.fr 20/62 Access Initiation romainTutoriel Conséquence : Dans une requête basée sur ces 2 tables, Access va choisir de regarder pour chaque employé les absences correspondantes. Il oublie donc l'employé TOTO. Le résultat de la requête est FAUX. Employé 1 (Dupond) Æ 18 au 19 Employé 2 (Durand) Æ 18 au 20 Employé 3 (Martin) Æ 18 au 21 La requête donne un résultat faux Les options de l'intégrité référentielle En plus de bénéficier de saisies correctes donc de requêtes correctes, l'intégrité référentielle permet d'administrer la base en fournissant 2 options complémentaires. • Effacer en cascade les enregistrements correspondants. o Quand cette option est activée, la suppression d'un employé supprime automatiquement toutes les absences de cet employé. o Quand cette option n'est pas activée, la suppression d'un employé ayant des absences est interdite. • Mettre à jour en cascade les champs (clés) correspondants o Quand cette option est activée, la modification de la valeur de la clé primaire entraine la mise à jour de la clé étrangère dans la table absence. o Quand cette option n'est pas activée, je n'ai pas le droit de modifier la valeur de la clé primaire. Les prérequis pour pouvoir placer l'intégrité référentielle Les clés (la clé primaire et la clé étrangère) doivent avoir le même type de données et être structurés de la même manière. http://romaintutoriel.free.fr 21/62 Access Initiation romainTutoriel L'assistant liste de choix devient l'assistant clé étrangère qui s'occupe de tout ce travail. C'est lui qui fait la relation. Si ma clé primaire est un numérique octet, ma clé étrangère devra être un numérique octet pour que l'intégrité référentielle puisse être appliquée. Si ma clé primaire est un texte, ma clé étrangère devra être un texte. Si ma clé primaire est un NuméroAuto, ma clé étrangère devra être un numérique Entier Long. http://romaintutoriel.free.fr 22/62 Access Initiation romainTutoriel Les formulaires L'assistant formulaire Pour lancer l'assistant, on utilise le bouton Nouveau En haut, on choisit l'assistant En bas, on précise la table dans laquelle le formulaire va effectuer la saisie. Choisir les champs à placer dans le formulaire. La double flèche permet de prendre tous les champs. http://romaintutoriel.free.fr 23/62 Access Initiation romainTutoriel Type de présentation : Colonne simple Choisir un style (Ensuite modifiable en mode création par le menu Format – Mise en forme automatique). Nommer et valider la création du formulaire. http://romaintutoriel.free.fr 24/62 Access Initiation romainTutoriel Créer un formulaire en mode Création Pour créer un nouveau formulaire à la main, on se base sur le mode création. Ne pas oublier de spécifier dans quelle table les données saisies vont aller se ranger. La section détail permet d'héberger les champs. La liste des champs permet de faire glisser les champs vers la section détail. On peut placer les champs un par un Sélection, ici, il n'y a que la zone de texte à droite qui est sélectionnée. Ici, c'est l'étiquette (intitulé) qui est sélectionné. La sélection multiple peut se faire avec SHIFT (MAJ) http://romaintutoriel.free.fr 25/62 Access Initiation romainTutoriel La sélection multiple peut également se faire avec le lasso. Faire un cliquer-glisser en partant à côté du 1er contrôle à sélectionner et prolonger jusqu'à ce que le lasso touche tous les éléments à sélectionner. Le cliquer-glisser commence sur la section détail Pour déplacer les éléments sélectionnés on utilise le curseur de la main. Cette main déplace les binômes. Cette main spéciale ne déplace que le contrôle visé sans s'occuper du binôme. Les poignées permettent de redimensionner Pour ajuster la taille du contrôle à son contenu, je peux double-cliquer sur une poignée de redimensionnement. On peut aligner les contrôles sélectionnés 1. Sélectionner plusieurs contrôles 2. Menu Format – Aligner à gauche, à droite, en haut, en bas … On peut aussi répartir les espacements entre les contrôles par le menu Format – http://romaintutoriel.free.fr 26/62 Access Initiation romainTutoriel espacement horizontal ou vertical. On peut d'abord sélectionner plusieurs champs dans la liste des champs avant de les faire glisser dans la section détail. Avec la touche Ctrl. Faire glisser l'ensemble de la sélection Avantage, tout se dispose correctement (ou presque) La mise en forme se fait avec la barre d'outils La couleur de fond http://romaintutoriel.free.fr 27/62 Access Initiation romainTutoriel La couleur de la police La couleur de bordure Epaisseur de la bordure Style de contour http://romaintutoriel.free.fr 28/62 Access Initiation romainTutoriel Ajouter des contrôles On utilise la boite à outils. Par exemple, on ajoute un titre au formulaire en se servant du contrôle Etiquette. Un clic sur ce contrôle Un autre clic pour taper un texte L'outil rectangle permet d'habiller le formulaire. Les propriétés La fenêtre des propriétés permet de tout régler. Son contenu s'adapte au contrôle sélectionné. Quand la section détail est sélectionnée http://romaintutoriel.free.fr Quand un champ (une zone de texte) est sélectionné 29/62 Access Initiation romainTutoriel Faire un calcul 1. Insérer une zone de texte indépendante 2. Dans les propriétés de la zone de texte, dans la propriété "Source Contrôle". 3. Appeler le générateur d'expressions, en cliquant sur le bouton Zone de l'expression Arborescence de la BD http://romaintutoriel.free.fr En fonction de l'objet sélectionné à gauche, on voit son contenu dans la colonne centrale. 30/62 Access Initiation romainTutoriel On double clique sur l'élément à faire passer dans la zone de l'expression. On complète l'expression On valide avec le bouton OK. La fenêtre des propriétés est ensuite mise à jour. http://romaintutoriel.free.fr 31/62 Access Initiation romainTutoriel 4. Modifier le libellé de l'expression et éventuellement adapter la mise en forme. http://romaintutoriel.free.fr 32/62 Access Initiation romainTutoriel Les requêtes Les tris et les filtres dans les tables et les formulaires Les tris 1. Se placer dans la colonne à trier (ou sur le champ à trier) 2. Utiliser les boutons tri croissant / tri décroissant Les filtres Appliquer le filtre N'afficher que la valeur sélectionnée Supprimer le filtre 1. Se placer sur la valeur à extraire 2. Utiliser le bouton "Filtrer par sélection" 3. On peut cumuler les critères, par exemple, les clients en France avec la Fonction Chef des ventes. Ces outils sont très pratiques pour naviguer dans les formulaires. Ici, on a filtré sur les fonctions "Propriétaire" en triant sur le nom du contact. http://romaintutoriel.free.fr 33/62 Access Initiation romainTutoriel Créer une requête en mode création – Les requêtes sélection Avant de faire des requêtes, il faut connaître un minimum le fonctionnement de la BD (analyse). Double-cliquer sur "Créer une requête en mode création" Double-cliquer sur la ou les table(s) dans lesquelles la requête va piocher des infos. Ce bouton permet d'afficher la fenêtre "Afficher la table" Lorsque la requête se base sur plusieurs, il faut qu'elles soient reliées. Ici, la requête ne pourra pas fonctionner. http://romaintutoriel.free.fr 34/62 Access Initiation romainTutoriel Placer les champs en double-cliquant dessus. Ils viennent automatiquement se positionner les uns à la suite des autres. On peut également les cliquer-glisser pour les insérer entre 2 colonnes déjà positionnées. Voir le résultat de la requête : on utilise le bouton du mode affichage Trier dans une requête Se positionner à l'intersection du champ à trier et de la ligne "tri". Lorsque plusieurs tris sont effectués l'ordre des tris est déterminé par la position des colonnes de la gauche vers la droite. Pour imposer le tri d'abord par pays puis par ville, il faut déplacer le champ pays à gauche du champ ville. 1. Sélectionner la colonne à déplacer http://romaintutoriel.free.fr 35/62 Access Initiation romainTutoriel 2. Se placer au même endroit 3. Faire le cliquer-glisser Æ On peut ensuite repositionner l'ordre des colonnes en mode affichage, pour correspondre à mon souhait de présentation. Les critères Pour extraire les enregistrements correspondants à un critère, on se positionne à l'intersection du champ pour lequel on souhaite placer un critère et de la ligne critère. Je rentre comme critère la valeur que la requête va trouver. Les critères texte se placent entre guillemets. http://romaintutoriel.free.fr 36/62 Access Initiation romainTutoriel Cumuler les critères Pour cumuler les critères texte, on utilise généralement l'opérateur OU ou bien Cumuler les critères à travers plusieurs champs Par exemple, chercher les clients propriétaire (fonction) en France (pays) En plaçant les critères sur la même ligne on les cumule, c'est-à-dire qu'on utilise l'opérateur ET. Mélange du ET et du OU Quand je demande plusieurs pays pour une fonction, par exemple les propriétaires français et mexicains. http://romaintutoriel.free.fr 37/62 Access Initiation romainTutoriel ou bien Ici, ces 2 syntaxes sont identiques. Ici, on affiche les propriétaires allemands, les chefs des ventes français et tous les chefs comptables. Omettre une valeur L'opérateur Pas permet d'enlever des valeurs. On le cumule avec l'opérateur ET. Ici, on veut tous les chefs comptables sauf les brésiliens. Les caractères joker Dans les critères, le caractère * permet de remplacer une série de caractères. Chef* Æ tout ce qui commence par chef *chef Æ tout ce qui se termine par chef *chef* Æ tout ce qui contient chef http://romaintutoriel.free.fr 38/62 Access Initiation romainTutoriel Dans un code, pour accéder à une partie du code, par exemple le N°Sécu, on peut utiliser le caractère joker ? qui permet de remplacer un seul caractère. Exemple, je recherche toutes les assurées nées dans le Rhône. 2????69* Ici, les ? permettent de s'assurer que 69 sera positionné à partir du 6ème caractère. Le mot clé "comme" s'assure que l'* a un rôle de joker. Les requêtes paramètre Une requête paramètre permet de renseigner un critère lors de l'affichage des résultats. Les avantages sont multiples, cela évite aux utilisateurs de connaître la création de requête et donc ils peuvent quand même utiliser la base. Il est aussi très intéressant de baser un état d'impression sur une requête paramètre. Par exemple, un état qui imprime les clients d'un pays sélectionné. Si j'ai 30 pays, je peux imprimer 30 états différents avec strictement la même mise en forme et je n'ai besoin que d'1 requête et que d'1 état. La syntaxe du paramètre consiste à placer la question entre crochets. L'astuce du mot clé comme placé devant permet de saisir des caractères joker dans la réponse. Si je dois placer plusieurs paramètres, ils ne doivent pas poser la même question. http://romaintutoriel.free.fr 39/62 Access Initiation romainTutoriel Les critères Date et Numérique Supérieur Supérieur ou égal Inférieur Inférieur ou égal Différent de Période / fourchette > >= < <= <> Entre _ Et _ Les dates sont placées entre dièses, les nombres n'ont pas d'indicateurs. Les champs de type (Booléen) Oui/Non Pour faire ressortir tous les enregistrements dont la case est cochée La vraie valeur de OUI Æ -1 La vraie valeur de NON Æ 0 http://romaintutoriel.free.fr 40/62 Access Initiation romainTutoriel Faire un calcul dans une requête 1. Se positionner dans une nouvelle colonne, sur la ligne champ 2. Lancer le générateur d'expressions 3. Créer l'expression en utilisant les champs stockés dans les tables Il est possible ensuite de renommer le libellé de la colonne en remplaçant "Expr 1". Æ http://romaintutoriel.free.fr 41/62 Access Initiation romainTutoriel Les requêtes opération A partir d'une requête sélection, on active le bouton opérations et la requête se transforme en requête opération. Ici, je veux compter le nombre de clients par pays. Une requête opération permet de regrouper les champs ayant des doublons. Le champ ayant des doublons a la valeur "Regroupement" sur la ligne opération (ici, le champ Pays). Pendant que le regroupement s'effectue, l'autre champ subit une opération. http://romaintutoriel.free.fr 42/62 Access Initiation romainTutoriel Pour qu'un champ ayant un critère ne soit pas regroupé, on met l'opérateur Où Trouver les plus grandes ou les plus petites valeurs Pour que la requête puisse trouver les valeurs les plus grandes ou les plus petites, on fonctionne avec le tri. Tri décroissant Æ Valeurs les + grandes Tri croissant Æ Valeurs les + petites Dans la liste "Premières valeurs" on choisit ensuite, le nombre d'éléments que la requête va retourner. Ici, les 3 plus grandes valeurs seront retournées. http://romaintutoriel.free.fr 43/62 Access Initiation romainTutoriel Importation & Exportation de données Exporter Exporter les données d'une table ou d'une requête dans Word ou Excel se fait par simple copier-coller. 1. Copier la table ou la requête dans Access 2. Se placer dans Word ou Excel et Coller Dans Excel Dans Word http://romaintutoriel.free.fr 44/62 Access Initiation romainTutoriel Importer des Données d'Excel Avant d'importer des données d'une BD Excel, il faut vérifier • Que c'est bien une base Excel (Champs mis en forme) • Il n'y a rien d'autre sur la feuille (visible ou non) • La base commence en A1 Menu Fichier – Données Externes – Importer Choisir le type de fichier Excel, sélectionner le bon fichier et cliquer sur le bouton "Importer". Choisir dans quelle feuille de calcul se situe la BD http://romaintutoriel.free.fr 45/62 Access Initiation romainTutoriel Préciser si la 1ère ligne correspond aux champs. Préciser où stocker les données Æ Dans une nouvelle table L'étape suivante permet de renommer les champs, de les indexer et encore de les omettre. http://romaintutoriel.free.fr 46/62 Access Initiation romainTutoriel Choisir si on décide de créer une clé primaire. Si oui, Access peut la générer avec un numéro Automatique ou je peux choisir le champ (sans doublons) qui aura ce rôle. Nommer la future de table Importer à partir d'une autre base Access Lors de l'importation d'une base de données, je peux choisir les objets à importer. Pour les tables, je peux choisir d'importer avec ou sans les données. http://romaintutoriel.free.fr 47/62 Access Initiation romainTutoriel Les états Rappel, on peut baser les états sur les requêtes et les tables. On peut compléter les états avec des calculs, des regroupements, des tris… Pour créer un nouvel état on passe par le bouton nouveau. Les étiquettes Dans la fenêtre, on choisit l'assistant étiquette et la table ou la requête sur laquelle l'état va se baser. Choisir son modèle d'étiquette Préciser la taille, la police… du texte de l'étiquette. http://romaintutoriel.free.fr 48/62 Access Initiation romainTutoriel Composer l'étiquette en plaçant les champs et éventuellement du texte On doit faire avec le nombre de lignes proposé sachant qu'il dépend de la dimension de l'étiquette et de la taille de la police. Trier les étiquettes http://romaintutoriel.free.fr 49/62 Access Initiation romainTutoriel Nommer l'état Je peux ensuite spécifier une mise en forme par champ en mode création. http://romaintutoriel.free.fr 50/62 Access Initiation romainTutoriel Les fiches Les fiches permettent d'imprimer 1 ou 2 enregistrements par page. Idéal pour faire un catalogue produit par exemple ou imprimer les fiches des employés. Choisir tous les champs importants http://romaintutoriel.free.fr 51/62 Access Initiation romainTutoriel Pas de regroupement Pas de tri Choisir une disposition verticale ou justifiée http://romaintutoriel.free.fr 52/62 Access Initiation romainTutoriel Choisir un style de présentation Nommer l'état http://romaintutoriel.free.fr 53/62 Access Initiation romainTutoriel Disposition verticale Disposition justifiée http://romaintutoriel.free.fr 54/62 Access Initiation romainTutoriel Les listings Les listings permettent d'afficher beaucoup d'enregistrements sur une page sous la forme tabulaire. Choisir tous les champs importants, attention, si on prend trop de champs, ils ne tiendront pas. Pas de regroupement http://romaintutoriel.free.fr 55/62 Access Initiation romainTutoriel Pas de tri Choisir une disposition tabulaire et très souvent une orientation paysage. Choisir un style de présentation http://romaintutoriel.free.fr 56/62 Access Initiation romainTutoriel Nommer l'état http://romaintutoriel.free.fr 57/62 Access Initiation romainTutoriel Les sections d'un état L'en-tête d'état ........... Titre de l'état ...................................... Sur la 1ère page L'en-tête de page........ Afficher les libellés des colonnes ...... En haut de chaque page Détail ......................... Champs .............................................. pour chaque enregistrement Pied de page .............. Pour la numérotation, la date............. en bas de chaque page Pied d'état .................. Statistique, résumé, info .................... à la fin des enregistrements Les champs trop étroits Quand les champs sont trop étroits, on met en place la propriété Auto-Extensible. Le champ s'agrandit en cas de besoin http://romaintutoriel.free.fr 58/62 Access Initiation romainTutoriel Les rapports (listing + regroupement) Les rapports permettent d'afficher beaucoup d'enregistrements sur une page sous la forme tabulaire et de regrouper sur certains champs ayant des doublons. Choisir tous les champs importants, attention, si on prend trop de champs, ils ne tiendront pas. Choisir le champ ayant les doublons http://romaintutoriel.free.fr 59/62 Access Initiation romainTutoriel Pas de tri L'assistant offre d'autres dispositions car l'état va avoir un regroupement. Choisir un style de présentation http://romaintutoriel.free.fr 60/62 Access Initiation romainTutoriel Nommer l'état L'assistant ajoute une section "En-tête de groupe pays" C'est dans cette section que l'on place des fonctions de regroupement http://romaintutoriel.free.fr 61/62 Access Initiation http://romaintutoriel.free.fr romainTutoriel 62/62