Slide 1 : Introduction
à
Ms Access
Préambule : 2 Préambule Lorsque vous construisez un texte sur Word, par exemple, vous pouvez le taper et le modifier à votre gré
Vous pouvez ainsi démarrer votre ordinateur et avoir un document terminé en 10 minutes.
Au contraire, quand vous allez construire une base de données
Il faudra au préalable passer par une phase d'analyse
On doit aboutir à une sorte de cahier des charges du projet
Cette phase est importante
Une base de données est un outil à moyen/long terme
Une mauvaise analyse peut faire perdre énormément de temps Dans la mesure du possible, on essaye de recueillir un maximum d’informations sur le travail à faire
Par exemple, on effectue la liste:
Des besoins actuels
Des documents à éditer (recensez les documents existant)
Des statistiques à obtenir
Des éléments à calculer
Des informations à stocker
Introduction : 3 Introduction Une base de donnée permet de classer, trier et filtrer de larges quantités d'informations.
Chaque logiciel de gestion (comptabilité, gestion commerciale, stock, ...) est d'ailleurs une base de donnée
Vous pouvez également le faire avec un tableur de type Excel. C'est en partie vrai
Si vous êtes un utilisateur avancé du tableur, certaines fonctions peuvent sembler similaires.
Néanmoins, les possibilités de Microsoft Access sont largement supérieures dans ces domaines
surtout si vous utilisez de grandes quantités d'informations
Tableau comparatif entre Excel et Access* : 4 Tableau comparatif entre Excel et Access* * d’’après Jean-Marc Stoeffler
Comparaisons entre Excel et Access –suite- : 5 Comparaisons entre Excel et Access –suite-
Le classement - tri : 6 Le classement - tri On veut concevoir un fichier d'adresse
Le tri doit permettre de classer par ordre alphabétique suivant le nom, prénom, ...
Dans la majorité des bases de données, ces classements peuvent se faire suivant différents niveaux
Par exemple
Nom
Prénom
code postal Dans notre exemple, les personnes seront d'abord triées suivant le nom
Si deux personnes ont le même nom, le tri se fera alors suivant le prénom
Pour deux personnes homonymes, le classement se fera ensuite suivant le code postal du lieu de résidence, ...
Filtrage des enregistrements : 7 Filtrage des enregistrements La fonction de filtre des enregistrements permet de n'afficher que les enregistrements répondant à des critères complexes
Dans le cas de notre fichier d'adresse, ceci permet par exemple à Access de n'afficher que les hommes de plus de cinquante ans habitant à Mignaloux
Ce type de filtre est très efficace
Pour faire ces filtres, il vous faut impérativement créer des champs adéquats avec les bonnes données suivant les personnes
C'est d'ailleurs la principale difficulté lorsque vous créez une base de donnée Access:choisir correctement les champs
Vocabulaire: enregistrements et champs : 8 Vocabulaire: enregistrements et champs Les bases de données, notamment Access, sont caractérisées par des enregistrements et des champs
Dans le cas d'un carnet d'adresse, l'enregistrement représente les coordonnées de la personne
Le champ, représente la case à remplir, un renseignement repris dans une catégorie pour chaque enregistrement
La création d'une base de donnée implique donc au préalable la création d'une structure en fonction des renseignements souhaités
Cette étape est de loin la plus importante
De par leur conception, ajouter des champs alors que la base de donnée et ses différents modules d'analyse sont créés est fastidieux
Vocabulaire: enregistrements et champs 2 : 9 Vocabulaire: enregistrements et champs 2 Quels champs devons nous créer?
Reprenons notre exemple d'un fichier d'adresse
Quelles sont les catégories de renseignements que nous serions amenés à rechercher sachant que la fonction d'une base de donnée passe par le tri et le filtrage
D’autres critères peuvent rentrer en ligne de compte, notamment des renseignements supplémentaires Nom: Ceci est d'abord un renseignement sur la personne il va nous permettre de faire une recherche sur une personne donnée
Prénom: Le critère est identique que pour le nom, c’est néanmoins une information non pertinente en général (peu de tri sur le prénom)
L'adresse: ceci reprend la rue et le numéro de maison, la boîte postale
Ce champ n’amène pas une information pertinente pour le tri il est souvent donné à titre purement indicatif, par contre
Le code postal: si on l’inclut à part, le code postal va permettre de trier non pas sur le domicile mais sur une zone d'habitation
ce qui est plus pertinent qu’un tri sur le numéro ou le nom d’une rue!
Vocabulaire: enregistrements et champs 3 : 10 Vocabulaire: enregistrements et champs 3 La ville: tri sur le domicile.
Le numéro de téléphone, fax, GSM ... A moins de faire une recherche type annuaire inversée, ces informations ne sont qu'indicatives
Les informations professionnelles: On retrouve le nom de la société, la fonction de la personne et les coordonnées de l’entreprise où il travaille
On peut admettre que les règles sont identiques à celles de l'adresse privée
D'autres renseignements seront rajoutés suivant l'utilisation de cette base de donnée Access
par exemple: la date de naissance (anniversaire), prénom de l'épouse - époux, enfants, ... Il nous manque quelques champs relativement importants.
Le titre: Monsieur, Madame, Mademoiselle, ...
Ce champ s’utilise très souvent dans le courrier (dans l'adresse et la formule de politesse)
De plus, il permet de déterminer le sexe de la personne
La catégorie: amis, parents, relation professionnelle, autre(en case à cocher par exemple)
Objets Base de donnée Access : 11 Objets Base de donnée Access Les onglets d'Access se subdivisent en :
les tables? elles reprennent les informations brutes (non traitées) les enregistrements et les champs. Les requêtes ? permettent diverses mises en forme des tables: le tri, le filtrage, ou l’affichage … Les Formulaires? permettent d'afficher les tables et les requêtes d'une manière plus commode Les états ? permettent d'imprimer des données de tables et de requêtes avec si nécessaire des regroupements et des calculs
Il y a là une nette différence entre Excel et Access
les calculs ne se font pas par de simples formules dans Access mais bien par ces états d'impression
L'avantage, c'est qu'une fois que l'état est fait, tout se fait automatiquement
Alors qu’ Excel est vite dépassé quand le nombre devient de plus en plus grand (n > 500) ce n'est pas le cas pour Access Page? permet de créer des pages internet pour accéder à la base de données
Les macros? permettent d'exécuter des fonctions à partir de requêtes
Les modules?Un module est un ensemble de déclarations et procédures Visual Basic Édition Applications associées pour former une unité.
La table ACCESS 1 : 12 La table ACCESS 1 Introduction
Une table reprend les informations brutes (non traitées) d'une base de donnée Access
Une base de donnée Access peut comporter plusieurs tables qui peuvent être liées entre elles (base de donnée relationnelle) ou totalement indépendantes. La fenêtre suivante apparaît sélectionnons la commande "Créer une table en mode création« Après avoir démarré Access, sous l'onglet TABLES
La table ACCESS 2 : 13 La table ACCESS 2 La colonne champ reprend le nom du champ. Le type reprend des formats de données préétablis. Texte: permet de créer un champ avec du texte et des chiffres mélangés (La taille est limitée à 255 caractères ) Mémo: est équivalent à TEXTE mais peut reprendre plus d'informations Numérique: Ce format de champ permet de rentrer des chiffres sous différents formats numériques
Un exemple plus complexe : 14 Un exemple plus complexe Prenons un exemple pratique plus complexe:
une gestion Clients/Factures Les besoins actuels :
Centraliser le suivi des clients, au niveau contact et au niveau factures. Les documents à éditer :
Liste alphabétique des clients
Liste des clients par ville
Liste des clients par chiffre d'affaires
Liste des prospects
Liste des clients à rappeler tel mois
Liste des factures émises par mois Les statistiques à obtenir :
On souhaiterait connaître par exemple la part de factures réglées par chèques, virement, espèces... Les éléments à calculer :
Calcul du chiffre d'affaires par client
Calcul du chiffre d'affaires global
Calcul du montant d'une facture Les informations à stocker :
les fiches Clients
les factures et leur détail
les types de paiement
Phase de structuration : 15 Phase de structuration Structurez vos informations
Une fois structurées, les informations peuvent être regroupées en fiches (ou tables) Pour simplifier on retient qu’il faut construire au minimum :
La table des clients
La table des factures
La table des détails de factures (chaque facture comportant plusieurs lignes de détail)
La table des types de paiement (une facture pouvant être payée par chèque, virement, espèces...) On remarque, alors, qu’il y a des relations naturelles entre les tables qu’on peut formuler :
-Un client reçoit plusieurs factures
-Une facture comporte plusieurs lignes de détail
-Une facture comporte un seul type de paiement, mais un type de paiement est valable pour plusieurs factures On ne s’empêche pas d’anticiper des besoins futurs
Travaille-t-on à l'étranger ?
Quelles sont les conséquences que cela implique ?
Les taux en vigueur (TVA par exemple) sont-ils susceptibles de changer ?
A-t-on prévu de gérer l'adresse e-mail du client, l'adresse de son site web
Les tables 1 : 16 Les tables 1 Lors du choix des informations par fiche (table)
On a le souci de décomposer au maximum
Les informations retenues La table Clients
Cette table comporte toutes les informations sur un client Une table ne doit pas comporter de champ calculé
On notera, par exemple, que le chiffre d'affaires du client ne figure pas dans la table ci-dessus
Il sera calculé à partir du montant des factures, au moyen d'une requête t exemple : l'adresse du client est décomposée en Adresse 1 Adresse 2 Code postal et Ville Sur les fiches importantes, prévoir une zone pour noter les remarques Les calculs ne sont jamais stockés dans une table : ils sont mis en place dans une requête, dans un formulaire ou dans un état
Tables 2 : 17 Tables 2 La table Facture comporte les informations devant figurer sur l’en-tête d’une facture
Dans cette table, pas de champ calculé
Le montant total de la facture n’y figure pas
Il sera obtenu par addition des lignes de détail de la facture dont la table est: Par contre les champs
Montant de la TVA et Prix TTC sont des données calculées
Ils seront obtenus par requêtes On a aussi une table type de paiement
pour différencier les façons de régler la facture(espèces, chèque, virement, autre)
Une nouvelle manière de payer ne remet pas en cause la structure de la base
Elle se traduit par une simple saisie dans cette table Dans la table détail de Factures
On trouve le champ
Taux de TVA
Écran Access : 18 Écran Access La barre de titre La barre demenus le titre de la base de données Les barresd'outils Les barres Elles regroupent des icônes, qui sont des raccourcis
d'outils pour exécuter une action sans passer par les menus. Dans la suite, les icônes seront expliquées par thème. La fenêtre debase de données La barre d'état
Créer une table : 19 Créer une table Double -Cliquez sur l'option Créer une table en Mode Création
L'écran suivant de définition de table devrait apparaître : NouveauNomDeTable Pour créer une table :
Si nécessaire, faites apparaître la fenêtre de base de données Cliquez sur l'onglet Table
Un menu apparait Sur cet écran
On définit chaque champ de la table On définit la clé primaire On enregistre la table et on lui donne un nom en cliquant sur Une boite de dialogue apparaît On peut alors attribuer un Nom à la table créée et l’enregistrer
Modifier une table existante : 20 Modifier une table existante Ajouter, Modifier, Supprimer des champs de cette table Si nécessaire faire apparaître la fenêtre de base de données Cliquer sur l’onglet Table Cliquer sur la Table à modifier Cliquer sur le bouton Modifier Enregistrer
Renommer (supprimer) une table : 21 Renommer (supprimer) une table (resp. confirmer la suppression en cliquant sur le le bouton OUI) ATTN
Le
changement
de nom
peut induire
des problèmes si
d’autres éléments dépendent de cette
table TableAvecNouveauNom Faire apparaître la fenêtre base de données Cliquer sur l’onglet Table Cliquer sur la table à renommer (resp. à supprimer) Appuyer sur la touche [F2] {resp. sur suppr.} du clavier Taper le nouveau nom de la table
Créer un champ : 22 Créer un champ Pour créer un champ :
On suppose que la fenêtre de création de table est ouverte Dans la zone Nom du champ
tapez le nom de la rubrique de saisie
Ce nom est limité à 64 lettres ou chiffres
(les espaces et les accents y sont autorisés) Premier champ saisi Second champ saisi 3ème champ saisi NuméroAuto Date/Heure Texte Description du premier champ Description du second champ Description du 3ème champ Dans la zone Type de donnéesdéfinissez le type de données qui sera saisi dans le champ. Une liste déroulante présente les 9 types de champs gérés par Access Dans la zone Description (facultative) précisez le rôle du champ.
Creer un champ 2 : 23 Creer un champ 2 Taille du champ : nombre de caractères maximum pouvant être tapés dans le champ
Format : apparence du champ à l'écran
Valeur par défaut : valeur qui sera proposée pour chaque nouvelle fiche En bas de l'écran, définissez les propriétés utiles du champ :
Champ : 24 Champ Déplacez la souris sous le champ voulu (en maintenant le clic) Pour ajouter un champ en milieu de table :
Sélectionnez la ligne contenant le champ à décaler vers le bas (en cliquant sur le petit pavé gris qui la précède). Faites Insertion/Lignes ou cliquez sur l'icône
Une ligne vierge est insérée Vous pouvez y créer le nouveau champ
Pour déplacer un champ :
Sélectionnez la ligne contenant le champ à déplacer, en cliquant sur le petit pavé gris qui la précède. Appuyer sur le clic- maintenir le clic- sur ce même pavé Relachez le bouton de la souris.
Clé primaire : 25 Clé primaire Définition
Une clef primaire est un champ particulier de la table :
Elle est unique pour chaque fiche, et permet donc d'identifier une fiche précisément.
Elle permet de trier la table automatiquement. Il est conseillé de trouver une clef primaire pour chaque table
Si aucun clef évidente ne se dégage, n'en mettez pas :
Access en créera une automatiquement, de type NuméroAuto (Compteur sur Access 2).
Clé primaire 2 : 26 Clé primaire 2 Cliquez sur l'icône
Un symbole de clef devrait apparaître sur le pavé gris à gauche du champ Appuyez sur la touche [SUPPR]
Fermez la fenêtre d'index.
Il est généralement plus facile de définir une nouvelle clef primaire, à la place de l'ancienne Définir une clef primaire
Sélectionnez la ligne comportant le champ servant de clef cliquez sur le pavé gris à gauche du nom du champ Supprimer une clef primaire
Dans Access 97, sélectionnez simplement la ligne qui comporte la clef recliquez sur l'icône Dans Access 2 :
Cliquez sur l'icône pour afficher la fenêtre d'index. Dans la liste qui apparaît
sélectionner la ligne comportant la clef.
Renseigner une table : 27 Renseigner une table Passer en mode Feuille de données
Le mode Feuille de données permet de visualiser le contenu d'une table ou d'une requête
(par exemple : la liste des clients la liste des factures)
Les données apparaissent alors sous forme de tableau (comme dans Excel).
Ce mode permet également la saisie de nouvelles fiches
Cependant, il est préférable de concevoir la saisie à partir des formulaires Pour saisir des données directement dans une table :
Si vous êtes déjà en mode Création de table ou de requête :
Cliquez sur l'icône Inversement, vous repasserez au mode Création en cliquant sur Cliquez sur le bouton Ouvrir Si c’est la fenêtre de base de données qui est à l'écran :
Cliquez sur l'onglet Table ou Requête Cliquez sur la table ou la requête qui vous intéresse.
Saisir des données : 28 Saisir des données La saisie des données se fait simplement, comme dans un tableau Excel.
Certains éléments seront cependant vérifiés par Access :
Le champ servant de clef primaire doit toujours être renseigné, et être unique
Les champs de type Date/Heure doivent contenir une date ou une heure correcte
Si vous souhaitez annuler une saisie
appuyez une ou deux fois sur la touche ? [Echap]
(la 1ère fois cela annule le champ en cours de saisie, la 2ème fois cela annule toute la ligne) Quelques icônes, sur le pavé gris à gauche de chaque ligne servent de repère :
Les relations : 29 Les relations Un projet complexe nécessite souvent plusieurs tables dans Access.
Par exemple, une table Clients, une table Factures...
Il existe probablement des relations entre ces tables, exprimées de la façon suivante :
"Un client reçoit plusieurs factures"
"Une ville regroupe plusieurs clients"
Entre la table client et la table facture
Il existe une relation du type
« un à plusieurs »
Dans Access, cette relation sera matérialisée de la façon suivante : ATTN: Le symbole ? (symbole de l'infini en mathématiques) est mis pour signifier "plusieurs". Pour qu'une relation puisse lier deux tables
il faut qu'un champ soit commun aux deux tables
Par exemple, dans le cas d'une relation Clients/Factures
c'est le numéro de client qui figurera à la fois sur la table Clients et sur la table Factures
D'une manière générale
c'est la clef primaire du côté "1" qui sera reprise dans la table du côte "Plusieurs".
Mettre en place une relation : 30 Mettre en place une relation Créez chaque table dans Access.
Définissez une clef primaire pour chaque table.
Repérez la table se trouvant "du côté 1", et copiez sa clef primaire dans la table « du côté Plusieurs»
(le champ copié n'étant plus une clef primaire dans la seconde table). Pour qu'un champ serve de base à la relation, il doit suivre les règles suivantes:
Le champ de liaison doit figurer dans chacune des 2 tables
Dans la table "1", le champ doit être défini comme clef primaire
Dans la table "Plusieurs", le champ n'est pas clef primaire
Dans chacune des 2 tables, le champ doit avoir le même type de données, et la même taille
(ex. : si le numéro de client de la table Clients est de type Texte / 10 caractères, il doit être identique dans la table Factures).
Par contre, le champ de liaison peut avoir un nom différent dans chaque table Cas particulier : si dans une table, la clef primaire est un NuméroAuto (Compteur dans Access 2)
le champ équivalent dans la table "Plusieurs" doit être de type "Numérique / Entier long".
Définir une relation : 31 Définir une relation A la souris, cliquez-trainez la clef primaire de la table "1 " sur le champ correspondant dans la table « Plusieurs » Un trait avec les symboles 1 et relie désormais les tables. Une fois que les tables ont été créées et un champ commun défini
cliquez sur le menu OUTILS/ Relations Puis Clic Droit Menu Contextuel/Afficher la table
Une première boîte apparaît (ci-contre) Cliquez sur chaque table listée
puis sur le bouton Afficher
(les tables se rangent dans la fenêtre, derrière la boîte de dialogue). Lorsque toutes vos tables sont sélectionnées
cliquez sur le bouton Fermer Dans cette boîte, cochez les cases
" Appliquer l'intégrité référentielle"
"Mettre à jour en cascade…"
" Effacer en cascade…"
Cliquez ensuite sur le bouton OK Une nouvelle boîte apparaît
Modifier, supprimer une relation : 32 Modifier, supprimer une relation et modifiez les réglages d'intégrité référentielle. Appuyez sur la touche [ Suppr. ] du clavier
Une boîte de dialogue apparaît
Cliquez sur le bouton OUI pour confirmer. Modifier une relation
Pour modifier les caractéristiques d'une relation double-cliquez sur le trait qui relie les tables Supprimer une relation
Cliquez sur le trait qui relie les tables Si vous supprimez
une relation
vous risquez bien sûr d'avoir
des incohérences dans
votre base de données
(des factures sans clients par exemple).
Créer une requête : 33 Créer une requête Lorsque vous avez sélectionné toutes les tables utiles,
cliquez sur le bouton Fermer. Les tables sélectionnées figurent en haut de la fenêtre
et une grille quadrillée permet de définir les tris, les critères de filtre, les calculs... Pour créer une requête :
Si nécessaire, faites apparaître
la fenêtre de base de données Cliquez sur l'onglet Requêtes Cliquez sur le bouton Nouveau Une boîte de dialogue apparaît Cliquez sur l'option Mode Création Cliquez sur le bouton OK La boîte de dialogue ci-contre apparaît Cliquez sur chacune des tables qui vous intéresse A chaque sélection cliquer le bouton Ajouter L'écran de création de requête devrait apparaître
Créer une requête 2 : 34 Créer une requête 2 Sur cet écran :
Sélectionnez les champs qui vous intéressent
Définissez éventuellement des tris
Définissez éventuellement des critères de filtre
Définissez si nécessaire des formules de calcul
Testez votre requête
Terminez le tout en cliquant sur l'icône
Donnez aussi un nom à votre requête Faites les modifications utiles
(tris, critères de filtre, formules de calcul).
Enregistrez le tout La modification
ou la suppression
d'un champ peut provoquer
des problèmes,
si des formulaires ou des états
sont basés sur la requête. Modifier une requête existante
Si nécessaire, faites apparaître la fenêtre de base de données Cliquez sur l'onglet Requêtes Cliquez sur la requête à modifier Cliquez sur le bouton Modifier
Renommer, supprimer une requête : 35 Renommer, supprimer une requête Validez par la touche [ENTREE]. Pour supprimer une requête :
Si nécessaire, faites apparaître la fenêtre de base de données
Cliquez sur l'onglet Requêtes
Cliquez sur la requête à supprimer
Appuyez sur la touche [Suppr] du clavier.
Confirmez en cliquant sur le bouton Oui. La suppression
d'une requête
peut provoquer
des problèmes,
si des formulaires
ou des états sont basés sur cette requête NouveauNom Le changement de nom
d'une requête
peut provoquer
des problèmes, si des formulaires
ou des états sont basés
sur cette requête. Donnez plutôt
un nom définitif à votre requête,
dès que vous la créez Pour renommer une requête
Si nécessaire, faites apparaître la fenêtre de base de données Cliquez sur l'onglet Requêtes Cliquez sur la requête à renommer Appuyez sur la touche [F2] du clavier Tapez le nouveau nom de la requête
Ajouter un champ dans une requête : 36 Ajouter un champ dans une requête Relâchez la souris. Si vous avez relâché la souris sur un champ déjà existant dans la grille
Celui-ci est décalé vers la droite le nouveau champ se met à l’avant Pour ajouter un champ dans la requête :
Appuyez à la souris sur le nom du champ, tel qu'il figure dans la table. Tout en maintenant le bouton de la souris enfoncé, cliquez- trainez le champ sur la grille du bas. Le champ s'affiche alors dans la grille
Supprimer, Déplacer un champ dans une requête : 37 Supprimer, Déplacer un champ dans une requête Cliquez
La colonne entière s'affiche en noir (elle est sélectionnée) Pour déplacer un champ :
Placez la souris sur la zone grise au-dessus du champ. La souris doit se transformer en flèche noire.
Cliquez. La colonne entière s'affiche en noir (elle est sélectionnée).
Relâchez la souris.
Réappuyez au même endroit, cette fois sans relâcher, et déplacez la souris vers la droite ou vers la gauche.
Relâchez quand vous estimez que la nouvelle position du champ est correcte. Pour supprimer un champ
Placez la souris sur la zone grise au-dessus du champLa souris doit se transformer en flèche noire. 3. Appuyez sur la touche [Suppr] du clavier
Définir un tri dans la requête : 38 Définir un tri dans la requête Sous chaque champ figure une case "Tri " Cliquez dans celle qui vous intéresse,déroulez la liste de choix proposés.
Choisissez :
"Croissant", pour trier de A à Z
de 1 à 1000 (si le champ est numérique)
du 01/01/1998 au 31/12/1998, (si c’est un champ date) etc.
"Décroissant", pour trier de Z à A,de 1000 à 1 du 31/12/1998 au 01/01/1998,etc.
"Non trié" pour annuler un tri déjà défini.
. Dans notre exemple on effectue un tri croissant
Sur le champ Raison sociale de la table Clients
Testez la requête pour voir le résultat produit Pour définir un tri dans une requête :
Créez une requête, ou ouvrez une requête existante.
Sélectionnez les champs qui vous intéressent,de façon à les faire apparaître sur la grille du bas.
Tester une requête : 39 Tester une requête Une fois la requête créée, les tris, les critères et les calculs définis, vous pouvez la tester pour voir le résultat produit Pour tester une requête :
Cliquez sur l'icône "Feuille de données "
située en haut à gauche de l'écran : Le résultat s'affiche alors, sous forme de tableau Pour repasser en mode "Création de requête", cliquez sur l'icône : Quand vous construisez une requête
ajoutez progressivement les champs
puis les tris, puis les critères et enfin les calculs testez la requête après chaque étape, de façon à vérifier si elle évolue correctement Un Tri par ordre alphabétique sur le champ Raison sociale a été effectué
Combiner les tris : 40 Combiner les tris Pour combiner les tris
il suffit de faire un réglage Croissant/Décroissant
sous plusieurs champs de la grille, comme dans l'exemple Dans l'exemple ci-dessus, on trie les clients d'abord par Activité, puis seulement par Raison sociale Dans le cas contraire , si on trie les clients d’abord par Activité puis par Raison sociale on obtient le résultat suivant Les tris sont traités de gauche à droite par Access. Il faut donc placer vos champs dans cet ordre, du général au particulier
Filtrer par requête : 41 Les requêtes permettent de filtrer les données par critères
C’est à dire répondre à des questions simples
Par exemple:
Quels sont les clients qui travaillent dans le secteur des services ?
Quelles sont les factures émises en juin 2005 ?
Quelles sont les factures de juin 2005, pour les clients du secteur Service, qui restent impayées ? Filtrer par requête Tapez le critère, selon les règles données ci-après « service » Pour définir un critère dans une requête :
Créez une requête, ou ouvrez une requête existante. Sélectionnez les champs qui vous intéressent, de façon à les faire apparaître sur la grille du bas. Sous chaque champ figure une case "Critères". Cliquez dans celle qui vous intéresse Testez la requête pour voir le résultat produit.
Critères applicables aux champs Texte/Mémo : 42 Critères applicables aux champs Texte/Mémo Access rajoutera automatiquement des guillemets autour du mot"Service "
On obtient le résultat suivant Access rajoutera automatiquement des guillemets autour du mot "Service" Liste des clients dont l'activité est Service
Il suffit de taper Service dans la zone Critères, sous le champ Activité Liste des clients dont l'activité est différente de Service
Le signe <> se lit "différent de "
Critères applicables aux champs Texte/Mémo 2 : 43 Explications
Le caractère "étoile" peut se placer à différents endroits :
75* ? les codes postaux de la forme75xxx
*000 ? les codes postaux se terminant par 000
*2* ?les codes postaux contenant un 2.
Le caractère "étoile" s'applique uniquement aux champs Texte et Mémo
(le code postal, par exemple, est bien un champ Texte, non un champ numérique)
Access ne fait pas la distinction majuscules/minuscules. Critères applicables aux champs Texte/Mémo 2 l'étoile représentant un nombre de caractères quelconque après le l
Access transformera le l* en Comme « l* »
On a le résultat suivant Liste des clients de Paris Le critère est 75* Access transformera ce critère en Comme « 75* » Liste des clients dont la raison sociale commence par la lettre L
Le critère est l*, On obtient le résultat suivant
Critères applicables aux champs numériques : 44 Critères applicables aux champs numériques Liste des clients dont la "qualité du contact " est supérieure à 3
On Tape >3 dans la zone Critères
On obtient le résultat suivant Liste des clients dont la "qualité du contact" est comprise entre 2 et 4
On peut taper le critère de 2 façons :
>=2 et <=4
Entre 2 et 4 (avec des espaces entre chaque partie) Les signes autorisés pour les champs numériques sont :
> : supérieur à
< : inférieur à
>= : supérieur ou égal à (2 signes, dans l'ordre où vous les prononcez)
<= : inférieur ou égal à
<> : différent de
= : égal (généralement omis) Le mot-clef OU est également autorisé.Par exemple, pour obtenir les clients dont la qualité est supérieure à 4 ou inférieure à 2 :
>4 ou <2
Critères applicables aux champs Date/Heure : 45 Critères applicables aux champs Date/Heure Liste des clients dont le prochain contact doit se passer en Octobre 2005 et octobre 2006
Tapez les dates comme dans une table, avec des /
Access rajoutera automatiquement des # autour de chaque date Les signes autorisés pour les dates sont :
> : supérieur à
< : inférieur à
>= : supérieur ou égal à (2 signes, dans l'ordre de la prononciation)
<= : inférieur ou égal à
<> : différent de
= : égal (généralement omis) Comme indiqué dans l'exemple
une fourchette de valeurs s'obtient par l'une des 2 techniques suivantes :
>=05/10/2005 et <=12/10/2006
Entre 05/10/2005 et <=12/10/2006
On obtient comme résultat la liste Le mot-clef OU est également autorisé
Par exemple, pour obtenir les clients dont le contact s'est passé avant le 7 août 2005ou après le 30 octobre 2005 :
> 30/10/2005 ou <= 07/08/2005
Définir un calcul dans la requête : 46 Définir un calcul dans la requête Pour définir un calcul dans une requête :
Créez une requête, ou ouvrez une requête existante.
Sélectionnez les champs qui vous intéressent, de façon à les faire apparaître sur la grille du bas.
Dans une colonne supplémentaire, tapez le nom du champ calculé, et la formule de calcul (voir ci-après).
Testez la requête pour voir le résultat produit. Les calculs en détail
Les exemples ci-dessous montrent le calcul du montant de TVA, et du prix TTC : TVA: [Prix HT]*[Taux de TVA]Prix TTC: [Prix HT]+[TVA]
Définir un calcul dans la requête : 47 Définir un calcul dans la requête Ce nom sera celui de la colonne, dans le résultat final le calcul proprement dit (en bleu dans l'exemple)
Un calcul est composé de signes ( +, -, *, / ) et de noms de champs, écrits entre crochets.
Avec le champ calculé TVA :on obtient la liste TVA: [Prix HT]*[Taux de TVA]Prix TTC: [Prix HT]+[TVA] Dans un calcul, un nom de champ doit être écrit entre crochets
(sauf éventuellement s'il s'agit d'un mot unique)
Les crochets s'obtiennent respectivement par les touches [AltGr] 5 et [AltGr] °)
Le nom du champ doit respecter la même orthographe que le champ figurant dans la table, espaces compris.
les calculs respectent les règles de priorité suivantes:
les parenthèses sont traitées en premier
suivent les produits et divisions, puis les additions et soustractions. Un champ calculé se compose de 2 parties :
le nom (en rouge dans l'exemple) que vous souhaitez donner au calcul, suivi du signe "deux-points"
Définir un calcul dans la requête 2 : 48 Définir un calcul dans la requête 2 Si le calcul est trop long, il peut être difficile à lire
Vous pouvez alors agrandir la colonne (comme dans Excel, en déplaçant sa limite droite), ou, mieux encore, utiliser le zoom
Pour accéder au zoom
Faites un clic avec le bouton droit de la souris sur le calcul
Cliquez sur l'option Zoom
Tapez la formule
Prix TTC: [Prix HT du produit]+[TVA] On doit obtenir une nouvelle colonnePrix TTC
On sauve la requête
On la teste
On doit obtenir la liste Pour définir le format d'un champ calculé (ou de tout autre champ d'ailleurs) :
Faites un clic avec le bouton droit de la souris sur le calcul (sur le champ en général)
Cliquez sur Propriétés.
Réglez ensuite la propriété Format (sur Standard, par exemple)
Réglez éventuellement la propriété Décimales.
Requêtes paramétrées : 49 Requêtes paramétrées Mais il n’est guère intéressant d'écrire
une nouvelle requête chaque mois
D'où la notion de requête paramétrée
Cette notion permettra de rendre les dates variables
En clair, à chaque fois quela requête sera lancée
Access demandera la date de début de période puis la date de fin
et affichera les résultats sur la période concernée. Pour définir un paramètre dans une requête :
Créez une requête, ou ouvrez une requête existante.
Sélectionnez les champs qui vous intéressent, de façon à les faire apparaître sur la grille du bas.
Dans la zone Critères de la requête, remplacez les valeurs fixes par des paramètres entre crochets
Testez la requête pour voir le résultat produit. Dans votre base de données Clients
vous avez besoin d'une liste de factures
pour Janvier puis pour Février, puis pourMars, etc.
La 1ère solution consiste à créer une requête simple pour chaque mois, comme dans l'exemple ci-contre
Requêtes paramétrées 2 : 50 Requêtes paramétrées 2 Dans l'exemple ci-dessous, nous avons remplacé les dates réelles par 2 paramètres, écrits entre crochets : Lorsque vous lancerez la requête pour la tester
2 boîtes de dialogue apparaîtront, dans lesquelles vous devrez taper vos dates On obtient le résulta suivant: Remarquez que c'est le texte entre crochets qui sert de message dans la boîte de dialogue.
Le paramètre doit respecter les règles suivantes :
il doit être écrit entre crochets (qui s'obtiennent respectivement par les touches [AltGr] 5 et [AltGr] °)
il ne doit pas correspondre à un nom de champ déjà existant.
il peut comporter des espaces
Requêtes paramétrées 3 : 51 Requêtes paramétrées 3 Dans la boîte de dialogue
retapez un nom de champ par ligne (sans les crochets)
précisez son type de données (texte, date/heure, numérique, oui/non...),
comme dans l'exemple ci-contre. Par la suite, si vous supprimez un paramètre sur la grille de requête
n'oubliez pas de le supprimer également dans le menu Requête/Paramètres
Faute de quoi Access vous les redemanderait à nouveau ATTENTION
ACCESS n'effectue aucun contrôle sur la saisie
(une date comme le 31/02/2005 est acceptée en saisie)
Pour déclencher un tel contrôle
il est conseillé de définir le type de données attendu dans chaque paramètre,
(comme on doit le faire pour les champs de tables ) Cliquez sur le menu Requête, puis sur l'option Paramètres.
Formulaire 1 : 52 Formulaire 1 dans la liste du bas, choisissez la table ou la requête qui fournissent les données au formulaire (dans l'exemple, la table Clients notée tbl Clients)
Cliquez sur le bouton OK Une 2ème boîte apparaît, sur laquelle vous devez choisir les champs de la table que vous souhaitez faire apparaître sur le formulaire.
Double-cliquez sur un champ pour le faire passer
à droite de la boîte
(et inversement pour le refaire passer à gauche)
Vous pouvez également cliquer sur le bouton
pour faire passer tous les champs de gauche à droite.Si vous souhaitez créer un formulaire de saisie Clients
il faut bien sûr que tous les champs soient sélectionnés Pour créer un formulaire :
Si nécessaire, faites apparaître la fenêtre de base de données Cliquez sur l'onglet Formulaires Cliquez sur le bouton Nouveau Une boîte de dialogue apparaît cliquez sur l'option Assistant Formulaire
Formulaire 2 : 53 Formulaire 2 La boîte suivante vous propose de définir la présentation générale de votre formulaire4 choix sont proposés La boîte suivante vous permet de définir le style du formulaire (Couleur 1, Couleur 2, Industriel, Standard...) Donnez un nom au formulaire Le formulaire final devrait apparaître à l'écran.
Le résultat n'est pas encore parfait (notez la taille des intitulés), mais fonctionne déjà
Vous devriez par ailleurs retrouver toute la saisie déjà effectuée dans la table.
Modifier un formulaire existant : 54 Modifier un formulaire existant Le Formulaire en mode Modification s’affiche Faites les modifications utiles (mise en forme, position des champs...).
Enregistrez le tout. Pour modifier un formulaire existant
Si nécessaire, faites apparaître la fenêtre de base de données Cliquez sur l'onglet Formulaires Cliquez sur le formulaire à modifier Cliquez sur le bouton Modifier La (ou les) table(s) liée(s) au Formulaire apparaît aussi Il faut noter que la modification ou la suppression d'un champ du formulaire peut provoquer des problèmes, si d'autres objets en dépendent (dans d'autres formulaires, par ex.)
Renommer (resp.supprimer) un formulaire : 55 Renommer (resp.supprimer) un formulaire Validez par la touche [ENTREE]. NouveauNomduFormulaire Le changement de nom ou la suppression d'un formulaire peut provoquer des problèmes, si d'autres formulaires en dépendent (dans le cas de sous-formulaires, d'appels par boutons de commande) Pour renommer un formulaire :
Si nécessaire, faites apparaître la fenêtre de base de données Cliquez sur l'onglet Formulaires Cliquez sur le formulaire à renommer Appuyez sur la touche [F2] (resp. Sur la touche [Suppr.] )du clavier Tapez le nouveau nom du formulaire
Ouvrir un formulaire en mode "Création" : 56 Ouvrir un formulaire en mode "Création" Le mode Création permet de personnaliser un formulaire (déplacer des zones de saisie, changer leur couleur...)
On y travaille un peu comme sur un logiciel de PAO : en prenant les objets et en les plaçant à la souris Pour passer en mode Création de formulaire
Si nécessaire, faites apparaître la fenêtre de base de données Cliquez sur l'onglet Formulaires Cliquez sur le formulaire qui vous intéresse. Cliquez ensuite sur le bouton Modifier . Le formulaire en mode création s’affiche Lorsqu'un formulaire est déjà ouvert en mode Saisie (mode Formulaire)
vous pouvez également passer en mode Création en cliquant sur l'icône "Mode Création" en haut à gauche de l'écran. Sélectionner des objets
Note : les objets placés sur un formulaire sont appelés "contrôles" par Microsoft. Pour sélectionner un objet, en mode Création :
Cliquez simplement sur l'objet
Celui-ci apparaît entouré de carrés noirs (les poignées)
Par exemple sélectionnons numéro de client?
Il suffit de cliquer hors d'un objet (sur le fond du formulaire) pour le désélectionner
Sélectionner des objets en mode création : 57 On a la sélection multiple Tracez un rectangle sur le formulaire, en appuyant sur un point de départ, et en relâchant ailleurs (ce rectangle doit inclure, même partiellement, les objets à sélectionner, comme représenté en rouge dans l'exemple ci-contre) Sur cette boîte à outils, cliquez sur l'icône "Sélection des objets" (1ère icône, en forme de flèche blanche). Sélectionner des objets en mode création puis un 3ème(Code Postal) et ainsi de suite. Pour sélectionner plusieurs objets contigus
Si nécessaire, faites apparaître la boîte à outils en cliquant sur l'icône Pour sélectionner plusieurs objets non contigus :
Cliquez sur un 1er objet(numero de client) Tout en maintenant la touche[MAJUSCULE] enfoncée
cliquez sur un 2ème objet(Nom du contact) [MAJUSCULE]+Clic sur un objet déjà sélectionné a pour effet de le désélectionner.
Déplacer un objetdans un formulaire en mode création : 58 Pour déplacer un intitulé sans la zone de saisie "jumelle" :
Dans la plupart des cas, une zone de saisie est jumelée à un intitulé
Si vous déplacez l'un, vous déplacez l'autre
Voici comment procéder pour déplacer les 2 séparément : Déplacer un objetdans un formulaire en mode création Pour déplacer un objet, en mode Création :
Cliquez sur l'objet
Placez la souris au-dessus de l'objet (celle-ci se transforme en main noire). Tout en maintenant le bouton gauche de la souris enfoncé, traînez l'objet à sa nouvelle position.
Relâchez la souris ! Ceci fonctionne également si vous avez au préalable sélectionné plusieurs objets (vous retrouverez la main noire en survolant les objets sélectionnés). Cliquez sur l'un des objets (l'intitulé ou la zone de saisie).
Placez la souris en haut à gauche de l'objet (celle-ci se transforme en index noir). Tout en maintenant le bouton gauche de la souris enfoncé, traînez l'objet à sa nouvelle position.
Modifier la taille d'un objet Supprimer un objet : 59 Modifier la taille d'un objet Supprimer un objet Pour modifier la taille d'un objet en mode Création :
Cliquez sur l'objet pour le sélectionner.
A la souris, déplacez l'une des poignées de cet objet (vers l'intérieur de l'objet pour réduire celui-ci, vers l'extérieur pour l'agrandir). Augmenter/Réduire la largeur d'un objet Augmenter/Réduire la hauteur d'un objet Augmenter/Réduire la hauteur et la largeur d'un objet Supprimer un objet sur un formulaire
Pour supprimer un objet en mode Création :
Cliquez sur l'objet à supprimer.
Appuyez sur la touche [Suppr] du clavier.
ATTN: Supprimer un objet qui est une zone de saisie (par exemple)
Implique qu’il sera impossible par la suite de renseigner correctement la table dont le formulaire dépend.
Ajouter des éléments sur un formulaire : 60 Ajouter des éléments sur un formulaire Voici un formulaire après qu'il ait été généré par l'Assistant
puis personnalisé au niveau couleurs et positionnement des champs Pour améliorer encore son "design", vous pouvez ajouter un certain nombre d'éléments graphiques sur ce formulaire, ce qui donne
Ajouter un intitulé (étiquette) : 61 Ajouter un intitulé (étiquette) On appelle intitulé (ou étiquette) un texte descriptif qui ne pourra pas être modifié par l'utilisateur.
L'assistant Formulaire génère déjà un intitulé pour chaque zone de saisie (cf. tous les textes en noir sur le formulaire ci-dessus).
Mais rien ne vous empêche d'en rajouter (cf. tous les textes en bleu sur le formulaire). Validez par la touche [ENTREE]. Intitulé Pour ajouter un intitulé :
Ouvrez votre formulaire en mode Création Si la boîte à outils n'est pas affichée, retrouvez-la dans le menu Affichage / Boîte à outils. Cliquez sur l'icône Intitulé. (ne pas confondre avec l'icône Zone de texte située à côté). Cliquez quelque part sur le formulaire A l'endroit du curseur clignotant, tapez votre intitulé
Ajouter un élément au formulaire en mode création : 62 Ajouter un élément au formulaire en mode création Ajouter un trait
Sur le formulaire d'exemple, un trait vertical sépare la partie Coordonnées de la partie Contact Tout en maintenant le bouton de la souris enfoncé, traînez la souris à l'endroit où doit se terminer le trait. Pour ajouter un trait :
Ouvrez votre formulaire en mode Création. Si la boîte à outils n'est pas affichée, retrouvez-la dans le menu Affichage / Boîte à outils. Cliquez sur l'icône Trait. Cliquez sur le formulaire, à l'endroit d'où doit partir le trait. Vous pouvez bien sûr, ensuite, modifier le trait, le supprimer, le déplacer, changer son apparence
Ajouter un élément au formulaire en mode création : 63 Ajouter un élément au formulaire en mode création Tout en maintenant le bouton de la souris enfoncé, traînez la souris à l'endroit où doit se terminer le rectangle.
Relâchez ! Ajouter un rectangle
Dans le formulaire d'exemple, un rectangle met en évidence la partie "Suivi client".
Pour ajouter un rectangle :
Ouvrez votre formulaire en mode Création. Si la boîte à outils n'est pas affichée, retrouvez-la dans le menu Affichage / Boîte à outils. Cliquez sur l'icône Rectangle Cliquez sur le formulaire, à l'endroit d'où doit partir le rectangle. Ajouter une image
Pour ajouter une image
Ouvrez votre formulaire en mode Création Cliquez sur l'icône Image Cliquez quelque part sur le formulaire. Parcourez le disque de façon à vous placer dans un dossier qui contient des images. Double-cliquez sur l'image que vous souhaitez intégrer au formulaire.
Ajouter un bouton au formulaire en mode création : 64 Ajouter un bouton au formulaire en mode création Principe
On sait déjà créé un formulaire Clients et améliorer sa présentation
Supposons que nous ayons d’ autres formulaires (Formulaire Factures, Formulaire détails Facture)
On voudrait y accéder directement depuis le Formulaire Client
Ceci est possible grâce au bouton de commande
On doit pouvoir obtenir quelque chose comme ceci:
Ajouter un bouton au formulaire en mode création 2 : 65 Ajouter un bouton au formulaire en mode création 2 Mise en place du bouton de commande
Pour créer un bouton ouvrant un autre formulaire :
Ouvrez votre formulaire en mode Création. Si la boîte à outils n'est pas affichée retrouvez-la dans le menu Affichage / Boîte à outils. Vérifiez dans cette boîte à outils que l'Assistant Contrôle est activé (icône enfoncée) Cliquez sur l'icône Bouton de commande Cliquez quelque part sur le formulairechoisissez la zone En-tête du Formulaire par exemple L'assistant devrait démarrer automatiquement. 1ère étape de l'assistant : sélectionnez le type d'action associée au bouton Dans notre exemple ? 2ème étape de l'assistant : sélectionnez le formulaire qui devra être ouvert par votre bouton (par ex. : formulaire Factures)
3ème étape de l'assistant : choisissez le fonctionnement de votre bouton de commande. Dans notre exemple : 4ème étape : définissez le texte ou l'image qui apparaîtra sur le bouton.Dans notre exemple :
Dernière étape : donnez un nom clair à votre bouton
par exemple :
OUVRIRFormulaireFACTURE
Créer un état simple : 66 8. Une 2ème boîte apparaîtsur laquelle vous devez choisir les champs de la table que vous souhaitez faire apparaître sur l'état. Pour créer un état :
Si nécessaire, faites apparaître la fenêtre de base de données 2. Cliquez sur l'onglet Etats 3. Cliquez sur le bouton Nouveau 4. Une boîte de dialogue apparaît 5. Cliquez sur l'option Assistant état 6. Dans la liste du bas, choisissez la table ou la requête qui fournissent les données au état (dans l'exemple, la table Clients). 7. Cliquez sur le bouton OK Souvent, un état sert à imprimer des données qui elles-mêmes sont produites par une requête, rarement par une table.
Ceci signifie qu'il faut souvent créer une requête avant de créer un état. Créer un état simple Double-cliquez sur un champ pour le faire passer à droite de la boîte (et inversement pour le refaire passer à gauche)
Vous pouvez également cliquer sur le bouton pour faire passer tous les champs de gauche à droite. La boîte suivante vous permet de définir des niveaux de regroupement Une autre boîte vous permet ensuite de définir les tris dans votre état (vous pouvez choisir de 1 à 4 champs, et leur appliquer un tri croissant ou décroissant). La boîte suivante vous propose de définir la présentation générale de votre état.6 choix et 2 orientation sont proposés Une autre boîte vous permet de définir le style de l'état (Compact, Formel, Gras, Gris léger Informel, Société)
Créer un état simple : 67 Créer un état simple La dernière étape vous permet de définir le nom de l'état. Le nom de la table ou de la requête est proposé automatiquement (ex. : tbl Clients L'état final devrait apparaître à l'écran.
Le résultat n'est pas encore parfait (les intitulés sont parfois tronqués, les titres et couleurs pourraient être retouchés), mais fonctionne déjà On peut bien entendu comme pour les formulaires améliorer la mise en page des états
On peut y insérer des éléments comme les lignes et autres rectangles afin d’améliorer la lisibilité ou même insérer des images pour illustrer l’état