Академический Документы
Профессиональный Документы
Культура Документы
Access 2007
Initiation
Hakim AKEB
Access 2007
Sommaire
Sommaire........................................................................................................................................................................ 2 1. Introduction ............................................................................................................................................................ 6 1.1. Que peut-on faire avec Access ........................................................................................................................ 6 Les deux phases de la vie dune BDD....................................................................................................... 6 Access ou Excel ? ..................................................................................................................................... 7 Et les grosses BD ? ................................................................................................................................... 8
Nouvelle interface dAccess 2007 ................................................................................................................... 9 Nouvelles fonctionnalits dAccess 2007 ........................................................................................................ 9
Stockage des donnes dans des tables ................................................................................................................. 10 2.1. 2.2. 2.3. 2.4. Rappel : contenu dune BDD Access .............................................................................................................. 10 Afficher le contenu dune table Access (feuille de donnes)......................................................................... 11 Comprendre le contenu dune table Access .................................................................................................. 11 Format des donnes dune table Access (type de donnes) ......................................................................... 12
2 .4.1. Afficher et modifier les proprits des champs (mode Cration)............................................................... 12 2.4.2. Les types de donnes Access 2007 .............................................................................................................. 14 2.4.3. La cl primaire ............................................................................................................................................. 15 2.5. Table en mode Feuilles de donnes : Tris, filtres et recherches .................................................................... 16 Mise en forme, rorganisation, masquer/afficher des colonnes ........................................................... 16 Trier les donnes ................................................................................................................................... 16 Filtrer les donnes ................................................................................................................................. 17
Bloquer les saisies errones (Table en mode Cration) ................................................................................ 19 Lier les tables laide des relations ............................................................................................................... 20 Objectif .................................................................................................................................................. 20 Eviter la redondance ............................................................................................................................. 20 Intgrit rfrentielle ............................................................................................................................ 20 Crer les relations entre les tables ........................................................................................................ 21 Modifier/supprimer une relation .......................................................................................................... 21
Les requtes .......................................................................................................................................................... 23 3.1. 3.2. Fonctionnalits des requtes ........................................................................................................................ 23 Les requtes de slection .............................................................................................................................. 24 Requte 1 : en mode Cration Commandes Clients ........................................................................ 24
3.2.1.
H. AKEB
0. <Sommaire
Access 2007 3.2.2. 3.2.3. 3.2.4. 3.2.5. 3.2.6. 3.2.7. 3.2.8. 3.2.9. 3.2.10. 3.3. 3.4.
1.1. Que peut-on faire avec Access Quelques outils pour la cration de requtes ....................................................................................... 25 Utiliser des critres dans les requtes ................................................................................................... 26 Critres sur des champs numriques .................................................................................................... 27 Critres sur des champs texte ............................................................................................................... 28 Critres sur des champs de type date : ................................................................................................. 30 Requte paramtre ............................................................................................................................. 31 Cration de champs calculs ................................................................................................................. 32 Champ calcul conditionnel .................................................................................................................. 33 Synthtiser des donnes ....................................................................................................................... 34
Les autres modes de cration de requtes ................................................................................................... 37 Les requtes de modification de donnes (Action) ....................................................................................... 39 Les requtes Mise jour ....................................................................................................................... 40 Les requtes Cration de table.............................................................................................................. 41 Les requtes Ajout................................................................................................................................. 42 Les requtes Suppression ...................................................................................................................... 43
Les formulaires...................................................................................................................................................... 44 4.1. Crer des formulaires simples ....................................................................................................................... 45 Liste des clients (formulaire li la table Clients) ................................................................................. 45 Modes daffichage des formulaires : ..................................................................................................... 46 Ajouter un en-tte et un pied de formulaire ......................................................................................... 46 Modifier lordre des champs dans un formulaire (dans la mme disposition) ...................................... 47 Redimensionner les champs dans un formulaire (dans la mme disposition)....................................... 47 Modifier le style du formulaire (mode Cration ou mode Page) ........................................................... 48 Librer les contrles du formulaire de leur disposition (disposition personnalise) ............................. 48 Ordre de tabulation ............................................................................................................................... 50 Les dispositions Empil et Tabulaire .......................................................................................... 51
4.1.1. 4.1.2. 4.1.3. 4.1.4. 4.1.5. 4.1.6. 4.1.7. 4.1.8. 4.1.9. 4.2. 4.3.
Les autres types de formulaires : .................................................................................................................. 52 Crer des formulaires avancs ...................................................................................................................... 52 Formulaires et tables lies .................................................................................................................... 52 Slectionner manuellement la table enfant afficher dans le sous- formulaire : ................................. 54 Crer un formulaire de toutes pices .................................................................................................... 55
H. AKEB
0. <Sommaire
1.1. Que peut-on faire avec Access Crer un tat simple .............................................................................................................................. 58 Les diffrents modes daffichage dun tat ........................................................................................... 59 Personnaliser les contrles en mode Cration ...................................................................................... 61
Crer des tats complexes ............................................................................................................................ 62 Regroupement dans un tat.................................................................................................................. 62 Faire des totaux dans un tat ................................................................................................................ 63 Exemple (Calculer le Prix Unitaire moyen de chaque catgorie) ........................................................... 64 LAssistant Etiquette.............................................................................................................................. 64 Crer un tat associ une requte ..................................................................................................... 66 Crer un tat partir de zro ................................................................................................................ 66 Ajouter une requte dans un tat vide ................................................................................................. 67
Concevoir sa propre base de donnes ...................................................................................................................... 6.1. 6.2. 6.3. Description de la base de donnes Ecole (cahier des charges) ......................................................................... Le dictionnaire des donnes ............................................................................................................................. Crer la base de donnes Ecole ................................................................................................................... Les bases de lintgrit des donns ........................................................................................................... Ordre de cration des tables ..................................................................................................................... Utiliser des masques de saisie ................................................................................................................... Rgles de validation .................................................................................................................................. Les listes de choix ...................................................................................................................................... Lier les tables de la base de donnes Ecole laide de relations .........................................................
Formulaires et tats avancs .................................................................................................................................... 7.1. 7.2. 7.3. 7.4. 7.5. 7.6. Formulaire bas sur une requte ...................................................................................................................... Etat bas sur une requte ................................................................................................................................. Crer des champs calculs directement dans un formulaire............................................................................. Application : Crer un formulaire pour le bon de commande ........................................................................... Crer un tat pour le bon de commande ................................................................ Erreur ! Signet non dfini. Crer un formulaire avec sous-formulaire manuellement ...................................... Erreur ! Signet non dfini.
8.
Crer un systme de navigation ................................................................................................................................ 8.1. 8.2. Le volet de navigation ............................................................................................. Erreur ! Signet non dfini. Crer un menu gnral ........................................................................................... Erreur ! Signet non dfini. Mthode pour crer le menu gnral ............................................................. Erreur ! Signet non dfini.
8.2.1.
8.2.1. Ajouter une autre page au Menu Gnral ............................................................ Erreur ! Signet non dfini. 8.3. Crer un menu manuellement ................................................................................ Erreur ! Signet non dfini.
H. AKEB
0. <Sommaire
Importer et exporter des donnes .................................................................................. Erreur ! Signet non dfini. 9.1. 9.2. 9.3. 9.4. Le Presse-papier ...................................................................................................... Erreur ! Signet non dfini. Exporter une table Access vers Excel avec le menu .......................................................................................... Crer une table Access partir de cellules Excel ..................................................... Erreur ! Signet non dfini. Importer une table provenant dune autre base de donnes ................................. Erreur ! Signet non dfini. Les requtes Analyse croise ...................................................................................... Erreur ! Signet non dfini. Requte croise base sur une requte .............................................................. Erreur ! Signet non dfini.
10.
10.1.
H. AKEB
0. <Sommaire
Access 2007
1. Introduction
Access : logiciel de gestion de bases de donnes (Microsoft) Base de donnes : sert souvent stocker des informations volumineuses, complexe avec des modifications frquentes. Collections de livres, de films, Liste de contacts (amis, collgues, etc.), Liste des clients dune entreprise, catalogue de produits, commandes, factures, Liste de notes de frais ou autres dtails dordre financier.
1.1.1. Les deux phases de la vie dune BDD Phase de conception : cration des tables, mise en uvre des requtes, conception des formulaires et des tats. Phase de gestion (exploitation) : remplir les tables, mettre jour des informations, effectuer des recherches (en utilisant les outils conus dans la premire phase). La phase la plus importante est la premire. Delle dpend la facilit de la manipulation de la BDD.
H. AKEB
1. Introduction
Access 2007
1.1.2. Access ou Excel ? Excel, comme Access, gre des tables dinformations (donnes) En voici les diffrences essentielles : Sujet Volume des donnes gres Excel Relativement faibles Access Efficace pour volumes important
Lun des gros avantages dAccess Relations entre les tables (a vite les incohrences) Ex : Access peut empcher de saisir une commande pour un client qui nexiste pas.
Formulaires Imprimer des tats Ex : Editer une facture (trs difficile sous Excel car il y a plusieurs lignes de facture pour le mme client.
H. AKEB
1. Introduction
Une BD Access ne peut pas dpasser 2 Go ; Les multinationales utilisent de gros SGBD, comme Microsoft SQL Server (NASDAQ, bourse de New York).
Gros SGBD :
Des centaines ou des milliers dutilisateurs peuvent sy connecter la fois ; Donc plus complexe maintenir ; Il est orient Serveur (Access est orient Client ; sexcute sur votre PC gnralement).
Les SGBD orients Serveur sont plus stables. Lutilisateur dispose dune interface lui permettant de dialoguer avec SQL Server (consultation, modifications, etc.)
H. AKEB
1. Introduction
Access 2007
C- Nouveau type de donne (le type pice jointe) a. Sert stocker des fichiers dans la BD (images, documents Word, Fichiers Excel, etc.) b. Mais pas de fichiers multimdias (audio et vido) car trop volumineux (une BD Access <= 2Go) D- Nouvelles fonctionnalits de conception a. Simplification de la cration de formulaires et dtats ; b. Mode page (permet de modifier la mise en forme, aperu des rsultats) E- Donnes complexes a. Affecter plusieurs valeurs un mme champ b. (ex : plusieurs auteurs pour un mme livre) sans crer de table supplmentaire (relation n-n). Un auteur peut avoir plusieurs livres et un livre plusieurs auteurs.
H. AKEB
1. Introduction
Access 2007
Dans le volet de navigation, cliquer sur loption Tables pour afficher la liste des tables de la BDD
La partie suprieure Atteindre la catgorie permet de personnaliser laffichage des objets ; La partie basse Filtrer par groupe permet dafficher soit un seul type dobjet soit tous les objets de la BDD.
Le volet de navigation dAccess 2007 Tables : o sont stockes les donnes ; Requtes : interroger et modifier les donnes ; Formulaires : afficher/saisir/modifier les donnes (interface utilisateur) ; Etats : imprimer les donnes (ex : facture, liste des clients, etc.) ;
H. AKEB
10
Access 2007
Attention : on peut modifier directement les donnes mais il ne faut pas le faire maintenant. La modification est valide ds quon change de cellule active.
Remarque : un nouveau menu est affich dans la barre de titre Outils de table et un nouvel onglet Feuille de donnes correspondant saffiche dans le menu.
Table = ensembles denregistrements (lignes) ; Enregistrement = ensemble de champs (colonnes) ; Titres des colonnes : noms des champs ; Chaque champ possde un type de donnes bien dtermin (nombre, texte, date, etc.), Ce type a t choisi lors de la conception de la table.
Ajouter un nouvel enregistrement : La dernire ligne permet de saisir un nouvel enregistrement. La saisie est valide ds quon change de cellule.
bureau
Bureau informatique
95,00
110,00
H. AKEB
11
Cliquer avec le bouton droit sur le rectangle gauche de lenregistrement ; Cliquer sur loption Supprimer lenregistrement
Le mode Cration
H. AKEB
12
Access 2007
Exemple : le champ Rfrence : voici les proprits les plus importantes (qui sont fonction du type de donnes) Taille = 4 Format : > Lgende la valeur saisir dans la table ne peut pas dpasser 4 caractres le texte saffichera en majuscules Libell du champ si on cre un formulaire (pas obligatoire, par dfaut = nom du champ) valeur affecte automatiquement lorsquon saisit un enregistrement (modifiable)
utile pour grer les erreurs de saisie (exemple date commande > date du jour) message affich dans une boite de dialogue si la valeur nest pas valide
Si OUI, il faudra obligatoirement saisir une valeur pour ce champ (OUI pour une cl par exemple)
Chane vide autorise NON (pas de chane vide pour le type Texte) Index Oui, Sans doublons (index= acclrer la recherche de donnes, doublons si la valeur peut se rpter)
Exercice : modifier les proprits du champ Prix de revient Format Dcimales Valide si Message si erreur Null interdit Index Euros (ne pas modifier) 2 (mettre 3) >0 Il faut saisir un prix >0 (mettre ce message) Oui (on doit saisir un prix) Non (car ce nest pas un champ important et rare, comme une cl)
- Enregistrer la table - Afficher la table, remarquer que les prix ont maintenant 3 dcimales - Saisir 0 pour un prix de revient puis changer de cellule, on aura le message suivant Il faut saisir un prix >0) - SI on ne saisit rien, ce nest pas ce message qui saffiche mais celui qui correspond Null interdit , ce message est gr par Access.
Remarque : on peut passer du mode Cration au mode Feuille de donnes en cliquant avec le bouton droit sur la barre de titre de la fentre de la table.
H. AKEB
13
Mmo
Description Nombres, lettres, ponctuation (255 caractres au maximum) Texte de taille plus grande (jusqu 65 536 caractres) La proprit Format du texte permet de choisir entre format brut et format enrichi Cette proprit nexiste pas pour le format Texte. Nombres entiers, rels, positifs ou ngatifs
Exemples Nom, adresse, numro de tlphone, libell produit Exemple Catalogue.Rfrence Lettre, rapport, etc . Exemple : Commandes.Notes
Numrique
Montaire
Date/Heure
Une date, un horaire ou les deux. Pour une mesure dintervalles en minutes par exemple, utilisez le type numrique Valeur logique (VRAI ou Faux) Adresse site web, email, etc Nouveau type Access 2007 Un ou plusieurs fichiers (contenu du fichier copi dans la base de donnes) On peut joindre plusieurs pices un mme enregistrement Nombre gnr automatiquement par Access lors de la cration dun nouvel enregistrement. Il est diffrent chaque fois. Une table ne peut pas contenir plus dun champ de type NumroAuto. Gre des donnes binaires intgres selon les rgles Windows OLE (Object Linking and Embedding). Il est prfrable dutiliser une pice jointe car pas facile grer
Donnes de type nombre (mesure, pourcentage, etc.) mais pas pour le prix (Montaire) Exemple : Commande.Transporteur Entier entre 0 et 255 Entre -32768 et 32767 (2 octets) -2 147 483 648 -2 147 483 647 (4 octets) Rel positif ou ngatifs (jusqu 38 zros et 15 dcimales) (4 octets de stockage) Jusqu 308 zros et 28 dcimales (8 octets) Positif ou ngatif, jusqu 28 zros gauche de la virgule et 28 dcimales (8 octets) Prix, total, etc. 15 chiffres gauche et 4 chiffres droite du point dcimal. Exemple : Catalogue.[Prix Unitaire] Date de naissance, date de commande, etc. Exemple : Commandes.[Date de commande] Champ ne prenant que 2 valeurs possibles. Exemple : Commandes.[Urgent] Image, document Word, Feuille Excel On peut par exemple ajouter un champ photo la table Clients Double-cliquer sur le champ en mode feuille de donnes pour saisir/modifier le fichier image. Utilis comme identifiant de lenregistrement. Exemple : Clients.[Numro client] Cest la cl primaire.
NumroAuto
Objet OLE
Trs peu utilis, il a t gard pour rester compatible avec les anciennes versions dAccess.
H. AKEB
14
Access 2007
Remarque : on peut modifier le type de donnes dun champ dune table mais a peut provoquer une perte dinformations. Exemples : Vous diminuez la taille dun champ texte ou la prcision dun nombre, Changez un champ de type texte en numrique (Access pourrait le convertir en entier, la partie dcimale est alors perdue),
2.4.3. La cl primaire
Cest un champ ou un ensemble de champs permettant de dsigner de manire unique un enregistrement. Le ou les champs faisant partie de la cl primaire ont une cl dans le rectangle gauche du champ. Par principe, deux enregistrements nayant pas la mme cl sont diffrents (viter les doublons). Une cl ne peut pas se rpter et sert surtout lier les tables entre elles (relations). Exemples : Catalogue.[Rfrence], Clients.[Numro Client], Commandes.[Numro Commande] Pour la table Dtail des commandes, la cl contient 2 champs [Numro de commande] et [Rfrence article]. Car une commande contient plusieurs articles et un article peut apparatre dans plusieurs commandes.
Cl primaire de la table Clients avec ses proprits Cls primaires de la BDD Facturation/BBD_Poly_Acccess : Clients : Numro Client (de type NumroAuto) ; Catalogue : Rfrence (de type Texte) ; Commande : Numro Commande (de type NumroAuto) Dtail des commandes : Numro de commande et Rfrence article (cl compose de deux champs)
H. AKEB
15
Access 2007
Rorganiser les colonnes Les colonnes saffichent selon lordre de la dfinition des champs dans la table (en mode Cration) Vous pouvez dplacer une colonne comme ceci : Slectionner la colonne en cliquant sur son titre ; Cliquer-glisser ensuite lendroit o vous voulez la mettre.
Masquer des colonnes Pour masquer une colonne : Slectionner la colonne masquer ; Bouton droit sur le titre de la colonne -> Masquer ;
Si vous voulez masquer/afficher plusieurs colonnes : Bouton droit sur le titre dune colonne ; Afficher les colonnes ; Cocher les colonnes afficher ; 2.5.2. Trier les donnes Trier une liste de produits par catgorie, par prix ou les deux, etc.
Le groupe Trier et filtrer de longlet Accueil Positionner le curseur souris dans une case ; Cliquer sur pour un tri croissant ou bien cliquer sur pour un tri dcroissant.
H. AKEB
16
Access 2007
Tri selon plusieurs colonnes (exemple Catalogue selon la catgorie puis Prix Unitaire croissants) Trier dabord selon le deuxime critre (Prix Unitaire) Puis trier selon la catgorie.
Rgle de tri : si on tri selon plusieurs champs, on doit trier selon le dernier champ, puis lavant dernier, ainsi de suite jusquau premier.
2.5.3. Filtrer les donnes Trs utile lorsquon veut retrouver certains enregistrements dans une table contenant des centaines ou des mi lliers denregistrements. Il en existe 3 catgories : rapides, par slection, par condition
Filtres rapides : Permet de slectionner les valeurs afficher et celles cacher en affichant toute la liste des valeurs dune colonne. Cliquer sur la flche droite du nom de la colonne ; Dcocher les valeurs cacher ; OK
Filtre rapide On peut refaire la mme chose pour les donnes restantes.
H. AKEB
17
Filtrer selon la valeur dun champ, les options offertes dpendent du type du champ. Cliquer dans une case (exemple Catalogue.catgorie) ; Cliquer sur loption Egal divers pour nafficher que les produits de la catgorie divers.
Le bouton permet de supprimer le filtre. Pour le type de donnes Numrique, ce sont dautres options qui saffichent (exemple : Prix Unitaire)
Filtre par condition Servent dfinir des filtres plus labors. On choisit nous-mmes les valeurs utilises dans le filtre. Exemple : Afficher les produits dont le Prix Unitaire est >= 10 Euros :
-> Pour les donnes de type Texte, les options affiches sont diffrentes.
H. AKEB
18
Access 2007
Pour remdier ces problmes, on utilise des outils de validation : Les attributs de base : grer les doublons, valeur obligatoire, valeur par dfaut ; Masques de saisie : formater la saisie (code postal, n de tlphone, etc.) ; Rgles de validation : contrler certaines saisies (Prix Unitaire >0, afficher un message sinon); Listes de choix : les valeurs pour le champ sont choisir dans une liste (exemple, on peut lutiliser pour la Civilit et Titre client de la table Clients ou bien pour saisir Numro Client dans la table Commandes).
Remarque : loutil permet de tester si les donnes dune table respectent les rgles de validation ; Il est accessible en mode Cration.
H. AKEB
19
Access 2007
Jusqu maintenant on avait considr les tables sparment les unes des autres. Mais en ralit, les tables sont lies entre elles (et cest souvent le cas dans la pratique). 2.7.1. Objectif Les relations vitent les donnes redondantes et grent ce quon appelle lintgrit rfrentielle. La BDD Facturation gre : La liste des clients de lentreprise ; Un catalogue de produits ; Les commandes effectues Les dtails de chaque commande (N de commande, liste des produits commands). La table Clients na pas besoin des autres tables (tous les champs appartiennent cette table seulement) ; La table Catalogue aussi ; Pour une commande, on a besoin de connatre le n client. Une commande est identifie par un n automatique ; Puisquune commande contient une liste de produits avec la quantit commande, ces dtails sont alors stocks dans la table Dtail des commandes. o On a alors besoin de connatre le n de commande et la rfrence de larticle ou du produit, cest l quon saisit aussi la quantit commande ; o Les deux champs de la cl primaire sont des cls trangres ;
2.7.2. Eviter la redondance On aurait pu se passer de la table Dtail des commandes, mais on serait obligs dans ce cas de rpter dans la table commande (pour une mme commande) : le numro de commande, le numro client. Dans ce cas, il faut crer une autre cl primaire ou bien accepter les redondances.
2.7.3. Intgrit rfrentielle Ceci nous empche par exemple de saisir dans la table Commandes un n de client qui nexiste pas ou bien dans les dtails de commande un n de commande ou une rfrence article qui nexistent pas. Remarque importante : bien que les champs Numro client des tables Clients et Commandes aient le mme nom, Access ne sait pas quils dsignent la mme information. Cest la relation qui lindique.
H. AKEB
20
Longlet Outils de base de donnes gre les relations Fermer toutes les tables ouvertes ; Cliquer sur le bouton Relation dans le menu prcdent ; Les tables apparaissent alors dans une fentre mais ne sont pas lies; Remarque la liste des champs et quelles sont les cls ; Cliquer avec le bouton gauche sur le champ Numro Client de la table Clients. Sans relcher, glisser sur le champ Numro client de la table Commandes ; Une fentre saffiche, cocher les 3 options (les expliquer) ;
Cliquer sur le bouton Crer ; On vient de crer une relation parent-enfant (chaque client peut avoir plusieurs commandes).
Refaire les mmes tapes pour crer les deux autres relations :
Astuce : le 1 de la relation est toujours du ct contenant la cl dorigine. La BDD est maintenant prte tre exploite (Requtes sur plusieurs tables par exemple). 2.7.5. Modifier/supprimer une relation Cliquer avec le bouton droit sur le trait de la relation ; Choisir loption Modifier ou supprimer.
H. AKEB
21
1. Dans la table Clients, il existe 2 clients pour lesquels la plupart des champs ne sont pas renseigns. Lesquels ? 2. Ecrire alors leurs numros sur une feuille et allez dans la table Commandes pour voir sil existe des commandes correspondant ces clients ; 3. Si oui, existe-t-il des dtails de commandes pour ces commandes dans la table Dtails des commandes ? 4. Supprimer les deux clients dans la table Clients ; 5. Vrifier que les commandes correspondantes dans la table Commandes ont bien t supprimes. 6. Corriger les numros de tlphone pour quils soient tous crits de la mme faon 01 23 45 67 89 , c--d sur dix chiffres avec des espaces entre chaque couple de chiffres. 7. Supprimer les deux dcimales du champ Nobre employs et appeler ce champ Nombre employs Rponses : 1. Ce sont les clients 14 et 15 ; 2. Il existe 2 commandes correspondantes (39 et 49), il suffit pour cela par exemple de cliquer sur le bouton qui se trouve gauche de lenregistrement correspondant dans la table Clients en mode Feuille de donnes. Les enregistrements lis sont alors affichs ;
3. Il nexiste aucun enregistrement correspondant aux commandes 39 et 49 dans la table Dtails des commandes ; 4. Slectionner un client dans la table Client, puis Accueil -> Enregistrements -> Supprimer. 5. Afficher la table Commandes en mode Feuille de donnes ; 6. Corriger ces valeurs dans la table Clients en mode Feuille de donnes. 7. Ouvrir la table Client en mode Cration -> Slectionner le champ Nobre employes et mettre 0 dans loption dcimales . Modifier ensuite le nom du champ.
H. AKEB
22
Access 2007
3. Les requtes
On a vu les outils permettant de retrouver des informations dans une feuille de donnes (tri, filtrage, etc.) On peut par exemple afficher rapidement les clients habitant Paris ou la liste des commandes passes le mois prcdent. Mais quen est-il de requtes plus complexes, par exemple la liste des clients ayant command des systmes de capteurs lanne dernire : ces informations se trouvent en effet dans des tables diffrentes. Ce deuxime exemple montre lintrt et limportance des requtes portant sur plusieurs tables et on verra aussi limportance des relations. Une requte peut-tre sauvegarde et excute autant de fois que lon veut.
Types de requtes Requtes de slection (pas de modification des donnes) Requtes Action (ou de modification de donnes)
Modes de cration des requtes : Assistant requte (moyen rapide mais limit) ; Mode Cration (le plus utilis, il se base sur une interface graphique) ; Mode SQL (il faut taper les formules en utilisant le langage SQL, pour les experts).
H. AKEB
3. Les requtes
23
Access 2007
Explication : cest le champ Numro client qui fait que Access retrouve les commandes dun certain client (Il fait un produit cartsien=jointure des deux tables et ne garde que les enregistrements qui ont le mme Numro client.
H. AKEB
3. Les requtes
24
Access 2007
Supprimer une table dans une requte Bouton droit sur la barre de titre de la table ; Supprimer une table.
Ajouter une table la requte Appuyer sur le bouton Afficher la table ; Choisir la table ajouter dans la liste qui est affiche.
Ajouter/supprimer une colonne Une colonne correspond un champ de la requte : si on veut par exemple ajouter un champ entre Numro client et Date de commande : Cliquer dans une case de la colonne Date de commande ; Cliquer sur le bouton Insrer des colonnes ; Une nouvelle colonne vide est alors insre ; Choisir le champ y insrer.
Pour supprimer un champ (une colonne) Se positionner dans la colonne ; Cliquer sur Supprimer colonnes dans le menu.
Renommer une colonne : Si on veut par exemple afficher Nom client dans le rsultat, il faut modifier le nom du champ dans la requte comme ceci : Nom client : Raison sociale .
H. AKEB
3. Les requtes
25
Access 2007 Modifier lordre des colonnes : Cliquer sur la bande au dessus de la colonne pour la slectionner ; Cliquer/glisser vers la droite ou la gauche puis relcher.
Exercice : Crer une requte Requte02 : Commandes clients dtailles pour afficher les informations suivantes : Raison sociale ; Numro de commande ; Date de commande ; Rfrence article ; Quantit
Les critres servent filtrer le rsultat de la requte. Un filtre peut sappliquer sur des champs de diffrents types (numrique, texte, date, etc.) Loption Renvoyer (menu Crer -> Paramtrage de requte): Lorsque le filtrage nest pas suffisant (trop de rsultats sont fournis) on peut utiliser cette option Elle naffiche que les premiers rsultats de la liste (exemple : liste des dix produits les plus chers)
H. AKEB
3. Les requtes
26
Access 2007
3.2.4. Critres sur des champs numriques On peut utiliser les oprateurs >, <, >=, <=, <>, ET, OU, PAS
Exemple Commandes du client n1 (N client, raison sociale, n commande, date de commande) Appeler la requte Requte03 : Commandes Client 1
Critre Ou
Numro client 1 4
Client 1 ou 4 (commandes des deux clients). Pour lgalit, on peut mettre le signe = , on obtient =1 et =4.
Critre Ou
Client 1 10 OU le 14 (commandes de ces clients). ET = oprateur logique. Deux conditions, mme colonnes mais sur 2 lignes => OU logique
Critre Ou
Numro client 1 OU 10
Critre Ou
Critre Ou
Critre Ou
Numro client 1
Commandes du client 1 dont le n de commande est >=40 et <=100.Les deux conditions doivent tre vrifies la fois si elles sont sur la mme ligne
H. AKEB
3. Les requtes
27
Le = est remplac par Comme , souvent Access linsre automatiquement, si ce nest pas le cas, il faut linsrer manuellement. Ici, on peut utiliser les caractres gnriques *, ? et # le * remplace 0 ou plusieurs caractres le ? remplace un et un seul caractre le # remplace un et un seul nombre
Exemples dexpressions utilisant des caractres gnriques (pas de diffrence entre les majuscules et les minuscules) : Comme A* : texte commenant par la lettre A Comme *ion : texte se terminant par la chane ion Comme *a*m* : texte contenant a puis m, dans cet ordre Comme ??1### : 2 caractres + le chiffre 1 + 3 chiffres quelconques
Exemple : on veut afficher les articles vendus dont la catgorie commence par la lettre a, trier les commandes par ordre chronologique. Afficher Numro commande, Date de commande, Rfrence article, Catgorie, Dsignation Appeler la requte Requte04 : Produits vendus Catgorie a*
Critre sur le champ Rfrence article Comme Z##1 : code commenant par Z puis 2 chiffres quelconques puis le chiffre 1 ; Comme ???1 : code contenant 4 caractres et se terminant par 1 ; Comme Z ??*14+ : code commenant par Z puis 2 chiffres quelconques puis le chiffre 1 ou le chiffre 4 ; Comme Z ??[1-4+ : code commenant par Z puis 2 chiffres quelconques puis un chiffre entre 1 et 4 ; Comme Z ??*1234+ : code commenant par Z puis 2 chiffres quelconques puis un des chiffres 1234 ;
H. AKEB
3. Les requtes
28
Access 2007 Requte : Exercice01 : Articles achets par le client HARN AND CO .
Afficher : Raison sociale, Date de commande, Rfrence article, Dsignation, Quantit, Prix Unitaire Trier les commandes par ordre chronologique et ne faire apparatre que les articles dont les Prix Unitaire et situ entre 100 et 1300 Euros, Appeler la requte : Exercice 01: Articles achets par le client HARN AND CO
Rsultat
H. AKEB
3. Les requtes
29
Access 2007 3.2.6. Critres sur des champs de type date : Ressemble au type numrique, la date est entoure de deux #, exemple #01/09/2008#.
On peut ainsi utiliser les oprateurs <, <=, >, >= ainsi que les fonctions de date comme la fonction Date() Exemple : Commandes effectues le 29 novembre 2001 : On veut afficher : Raison sociale, Rue, Code postal, Ville, Date de commande Appeler la requte Requte 05 : Commandes du 29 novembre 2001
Modifier le critre du champ Date de commande < #29/11/2001# : commandes effectues avant cette date > #29/11/2001# : commandes effectues aprs cette date <=#29/11/2001# : commandes dont la date est identique ou antrieure cette date >=#01/01/2003# et <=#31/12/2003# : commandes effectues en 2003 quivalent Comme */*/2003 <Date() : commande effectues avant aujourdhui >Date()-30 : commande effectues il y a moins de 30 jours <Date()-30 : commande effectues il y a plus de 30 jours Exercice 2 : Commandes de lanne 2003 Afficher : raison sociale, Numro de commande, Date de commande, Dsignation, Quantit, Prix Unitaire Critres : Commandes de lanne 2003 pour lesquelles les produits commands on un Prix Unitaire> 100 Eu ros Tri : Date de commande croissante Il suffit de mettre Comme */*/2003 pour le critre sur la date au lieu de Entre..Et Appeler la requte Exercice02 : Commandes de 2003
H. AKEB
3. Les requtes
30
Le critre spcifi dans une requte pour un champ peut tre saisi lors de lexcution de la requte. Pour cela, il suffit de mettre un message entre [ ] dans le critre du champ. Exemple : On voudrait afficher les articles dune certaine catgorie et on voudrait saisir la catgorie lors de lexcution. Afficher les champs : Catgorie, Dsignation, Prix Unitaire Appeler la requte : Requte06 : Requte paramtre
A lexcution, on aura le message Donner le nom de la catgorie dans une boite de dialogue contenant une zone de saisie ; Saisir la catgorie et cliquer sur OK ; Les articles de la catgorie saisie saffichent alors.
Remarque : on peut utiliser plusieurs paramtres, on aura autant de boites de dialogue que de paramtres. Exemple : on veut saisir la catgorie puis indiquer le numro de commande
H. AKEB
3. Les requtes
31
Access 2007 3.2.8. Cration de champs calculs Supposons quon veuille afficher le Prix Unitaire TTC dans le rsultat dune requte.
Ce champ nexiste pas dans les tables, mais peut-tre calcul partir du Prix Unitaire et de la TVA (Prix Unitaire TTC = Prix Unitaire * 1,196) par exemple car le champ TVA nexiste pas non plus. La mthode consiste crer un champ calcul dans la requte : Un champ est dsign par son nom entre crochs. Exemple [Date de commande] ou [Commandes].[Date de commande+. Le nom de la table nest ncessaire que si la requte utilise plusieurs tables et que le mme champ se rpte dans plusieurs tables (viter lambigut). Les crochets ne servent que si le nom du champ contient des espaces. Exemple : On veut afficher les commandes avec leurs dtails et on voudrait calculer aussi le PUTTC Afficher : Numro Commande, Date Commande, Dsignation, Prix Unitaire, Quantit, Montant HT, TVA, Montant TTC Tri : Date de commande croissante ; Formules : Montant HT: [Prix Unitaire]*[Quantit], TVA :[Montant HT]*0,196, Montant TTC: [Montant HT]+[TVA] Nom de la requte : Requte07 : Champs calculs Mettre les champs calculs au format Montaire (ceux qui ne le sont pas : TVA): -Dans le menu contextuel Outils de requte, cliquer sur Feuille des proprits -Format -> Montaire
Voici la requte :
H. AKEB
3. Les requtes
32
Reprendre la requte prcdente et lenregistrer sous le nom Requte08 : Montant TTC avec remise Mthode : -Ouvrir la requte ; -Menu Office -> Enregistrer sous -> Enregistrer lobjet sous ; -Dans la boite de dialogue, Saisir le nom de la requte et vrifier le type de lobjet
Aprs la dernire colonne crer les colonnes suivantes : Valeur Remise : [Montant TTC]*[Remise] Montant TTC avec remise : [Montant TTC]-[Valeur Remise]
3.2.9. Champ calcul conditionnel On va reprendre la requte08 et on veut refaire le calcul de la remise et on va considrer que seuls les produits de la catgorie alarme ont une remise de 5%. Enregistrer la requte sous Requte09 : Champ calcul conditionnel Recalculons alors les champs Valeur Remise et Montant TTC avec Remise On va utiliser la fonction VraiFaux(condition ; valeur_si_vrai ; valeur_si_faux) Valeur Remise: VraiFaux([Catgorie]="alarme";0,05*[Montant TTC];0) Rajouter la colonne Catgorie pour vrifier.
H. AKEB
3. Les requtes
33
Access 2007 3.2.10. Synthtiser des donnes Les requtes vues jusqu prsent considrent les enregistrements un un.
Mais on peut regrouper les enregistrements afin deffectuer des calculs (somme, moyenne, etc.) Nombre de commandes par client ; Somme des montants pays par chaque client ; Montant dpens par produit et par client ; Etc.
Pour afficher la ligne Opration, il suffit de cliquer sur le bouton Totaux dans le menu Voici le rsultat obtenu :
On peut vrifier en affichant le contenu de table Commandes trie selon Numro client Appeler la requte Requte10 : Nombre de commande par client
H. AKEB
3. Les requtes
34
Il existe 3 types doprations : Oprations dagrgation : Somme, Moyenne, etc ; Opration de regroupement : les valeurs regroupes seront reprsentes par 1 seule ligne dans le rsultat ; Opration de filtrage : option O .
->
H. AKEB
3. Les requtes
35
Rsultat :
Il ny a que 14 produits pour lesquels il existe des ventes dans la table Dtail des commandes
Remarque : On peut bien sr ajouter des critres. Soit par exemple calculer le CA de chaque produit pour lanne 2003. Il suffit dajouter le champ Date de commande et le critre Comme */*/2003 et de cacher ce champ.
H. AKEB
3. Les requtes
36
Access 2007
Le mode Cration de requte est le plus utilis mais on peut aussi utiliser lAssistant pour crer des requtes simples. le mode SQL (Structured Query Language = langage structur de requtes)
Assistant Requte Exemple : afficher les commandes de tous les clients (Raison sociale, Numro commande, Date de commande) Crer -> Autre -> Assistant Requte Slectionner loption Assistant Requte simple Dans la liste Table/Requte, slectionner la table Clients Slectionner le champ Raison sociale puis appuyer sur le bouton > Slectionner la table Commandes Choisir les champs Numro de commande et Date de commande Appuyer sur le bouton Suivant
Choisir loption Dtaille.. Suivant Saisir le nom de la requte Requte13 : Assistant requte Terminer La requte est ouverte en mode Feuille de donnes , on peut passer au mode Cration pour la modifier.
H. AKEB
3. Les requtes
37
Access 2007 Le mode SQL Utilis surtout par les experts en bases de donnes ;
En ralit, Access gnre du code SQL chaque fois que lon cre une requte. Ouvrir la Requte01 : Commandes clients ;
Bouton droit sur la barre de titre de la fentre de la requte ; Mode SQL ; Voici le code SQL obtenu :
SELECT Clients.[Raison Sociale], Commandes.[Date de commande] FROM Clients INNER JOIN Commandes ON Clients.[Numro Client] = Commandes.[Numro client] ORDER BY Commandes.[Date de commande];
SELECT : FROM :
Champs afficher ainsi que les tables correspondantes Tables utiliser dans la requte
INNER JOIN : Type de jointure, on ne prend que les lignes ayant le mme Numro client ORDER BY : Tri
H. AKEB
3. Les requtes
38
Access 2007
Il existe 4 types de requtes Action : Requte Mise jour (modifier les valeurs des enregistrements); Requte Cration de table (slectionne des enregistrements puis les met dans une nouvelle table) ; Requte Ajout (slectionne des enregistrements puis les ajoute une table) ; Requte Suppression (supprime un ou plusieurs enregistrements).
Il faut Appuyer sur le bouton Options puis choisir loption Activer ce contenu, sinon Access risque de ne pas laisser les requtes Action sexcuter.
H. AKEB
3. Les requtes
39
Access 2007 3.4.1. Les requtes Mise jour Servent modifier les valeurs de certains enregistrements
Soit par exemple augmenter les prix des produits de la catgorie alarme de 10% Menu Crer -> Autre -> Cration de Requte ; Ajouter la table Catalogue ; Slectionner le champ Catgorie et mettre alarme dans la zone critres Ajouter la requte le champ Prix Unitaire
Une nouvelle ligne Mise jour : apparat ; Mettre dans cette zone et dans la colonne Prix Unitaire : [Prix Unitaire]*1,1 Si on passe au mode Feuille de donnes , Access affiche les enregistrements modifier
-> Excution -> - Access affiche un message vous demandant daccepter les modifications dfinitives. Attention : Le prix est augment de 10% chaque excution de la requte.
H. AKEB
3. Les requtes
40
Slectionner des enregistrements dans une table et les insre dans une nouvelle table de la mme BDD ou dune autre BDD. Les nouvelles donnes sont ainsi facilement reprables.
Exemple : soit crer une table Produits divers ne contenant que les produits de la catgorie divers de la table Catalogue . Crer une requte Requte 14 : Cration table Produits Divers Choisir tous les champs ; Prciser divers dans la zone critre pour le champ catgorie Cliquer sur le bouton pour choisir le type de requte ; Dans la boite de dialogue, saisir le nom de la nouvelle table ;
Loption Autre base de donnes permet dinsrer la table dans une autre BDD ;
Le mode Feuille de donnes permet de visualiser ce qui sera mis dans la nouvelle table ; Appuyer sur OK puis excuter la requte ;
Un message saffiche ; Cliquer sur Oui pour crer la nouvelle table ; Cette table saffiche alors dans la liste des tables de la BDD. Ouvrir cette table en mode Cration puis mettre le champ Rfrence comme cl primaire.
H. AKEB
3. Les requtes
41
Slectionnent des enregistrements dans une table pour les ajouter une autre table. Utilit : Transfrer des enregistrements dune table dans une autre Ou dune BDD vers une autre (dupliquer des tables dans diffrentes BDD) On peut ainsi mettre disposition de plusieurs utilisateurs les mmes donnes (chaque utilisateur travaillant sur sa propre machine).
Conditions : Les types de donnes doivent tre compatibles ; Les noms des champs dans les deux tables peuvent tre diffrents ; Si la table source dispose de champs nexistant pas dans la table cible, il suffit de les ignorer dans la requte ; Les rgles de validation sont respectes dans la table cible (cls primaire, doublons), on ne peut pas par exemple insrer un autre enregistrement possdant une cl primaire dj existante dans la table cible ; Pour les champs de type NumroAuto, il ne faut pas prciser de valeur (Access le fait automatiquement).
Exemple : Ajouter la table Produits Divers les produits cotant plus de 1000 dont la catgorie nest pas divers . Nouvelle requte Requte15 : Ajout des produits cotant au moins 1000 Euros Choisir la table Catalogue Insrer tous les champs dans la requte ; Clique sur le bouton pour prciser le type de la requte ;
Saisir la table cible dans la liste des tables Dans la ligne Ajouter , supprimer les crochets *+ entourant les champs (bug dAccess ?) Mettre pas divers comme critre pour le champ Catgorie ; Mettre le critre >=1000 pour le champ Prix Unitaire
Excuter la requte ; Access affiche un message, cliquer sur Oui pour valider lajout dans la table cible.
H. AKEB
3. Les requtes
42
Access 2007
3.4.4. Les requtes Suppression Exemple : supprimer les produits coutant plus de 10000 Euros de la table Produits Divers Crer une requte lie la table Produits Divers ; Appeler la requte Requte16 : Suppression des produits trop chers ; Ajouter le champ Prix Unitaire ; Mettre le critre >10000 pour le Prix Unitaire; Cliquer sur le bouton pour prciser le type de la requte ;
Excuter la requte ; Access affiche un message, cliquer sur Oui pour valider la suppression.
H. AKEB
3. Les requtes
43
Access 2007
4. Les formulaires
Rappel : Dans une base de donnes, on passe la plupart du temps la maintenir (saisir/modifier les donnes). On peut utiliser pour cela le mode Feuille de donnes des diffrentes tables ; Mais ceci est un peu intimidant pour ceux qui dbutent avec Access ou les utilisateurs non-initis.
Solution : Utiliser des formulaires (qui tirent leur nom des formulaires papiers auxquels ils ressemblent). Avantages : Agencement : facilitent lexamen et la modification dinformations dans une ou plusieurs tables (interface graphique intuitive). On peut agencer comme on veut les diffrents champs; Ajout dinformations supplmentaires : on peut ajouter du texte (messages) dans un formulaire afin dexpliquer quoi servent les diffrents champs ; Relations entre les tables : Ils utilisent les relations entre les tables (si le formulaire utilise plus dune table), on peut ainsi insrer des informations provenant de tables lies (ex : informations concernant un client si le formulaire sert afficher la liste des commandes) ; Boutons et graphiques : on peut insrer dans un formulaire des boutons, des listes, etc.
H. AKEB
4. Les formulaires
44
Access 2007
4.1.1. Liste des clients (formulaire li la table Clients) Ouvrir la BDD Facturation2_2007 ; Dans le volet de navigation, slectionner lobjet Formulaires ; Menu Crer -> Formulaires -> Plus de formulaires -> Assistant Formulaire ;
Dans la fentre qui saffiche, Choisir Table : Clients ; Dplacer tous les champs dans la zone Champs slectionns en cliquant sur le bouton >> ; Suivant ; Choisir comme disposition Colonne simple puis cliquer sur Suivant ; Choisir comme style Access 2007 puis cliquer sur Suivant ; Saisir le titre du formulaire (lappeler Clients) puis cliquer sur Terminer ; Le formulaire est cr et saffiche en mode Formulaire , permettant le parcours et la modification des enregistrements ;
Les boutons permettent de se dplacer dans la table Clients, de saisir un nouvel enregistrement et de rechercher des donnes ;
Remarque : les tiquettes des champs sont celles spcifies dans la proprit Lgende de la table en mode Cration. Si cette proprit nest pas renseigne, Access utilisera le nom du champ comme tiquette.
H. AKEB
4. Les formulaires
45
Access 2007
Cliquer par exemple dans la zone Rechercher puis saisir un texte qui se trouvant dans lun des champs de lenregistrement ; Le texte est immdiatement slectionn dans le premier champ trouv ; Crer un nouvel enregistrement et saisir les informations suivantes : - Raison Sociale : Pizza Express - Contact : Jacques Durand - Civilit et Titre client : Monsieur - Rue : 10 rue bleue - Code postal : 75002 - Ville : Paris - Tlphone : 01 40 01 01 01 - Date cration dossier : date du jour (se servir de loutil affich) - Nombre employs : 10
4.1.2. Modes daffichage des formulaires : Mode Formulaire : permet de modifier/crer des enregistrements ; Mode Page : permet de voir quoi ressemble le formulaire, ragencer les champs et appliquer une mise en forme. (On voit les donnes relles dans ce mode) ; Mode Cration : On ne voit pas les donnes ; il affiche le plan du formulaire et permet dajouter par exemple un en-tte et un pied de formulaire, dplacer les objets, mise en forme, etc.
4.1.3. Ajouter un en-tte et un pied de formulaire Ouvrir le formulaire Clients en mode Cration Remarquer le nouveau menu qui saffiche Outils de cration de formulaires Remarquer les trois zones : En-tte de formulaire, Dtail, Pied de formulaire , voir figure ci-dessous Corriger ltiquette Nombre employs et mettre Nombre demploys Cliquer dans len-tte (qui contient dj une tiquette) Modifier le texte et le format de ltiquette et mettre Liste des clients , modifier la couleur Agrandir le pied de formulaire (cliquer/glisser) Insrer une tiquette (en cliquant sur le contrle dans le menu) Saisir dans cette tiquette Base de donnes facturation Dans le groupe Contrles, cliquer sur Dplacer ce champ dans le pied de page Passer en mode Formulaire pour vrifier (date du jour)
H. AKEB
4. Les formulaires
46
Access 2007
Remarques: Les champs dans le formulaire sont aligns en colonnes (ici une seule), les zones de saisie/affichage ont la mme largeur ; Sil y a trop de champs pour les afficher en une colonne, Access cre automatiquement dautres colonnes ; Par dfaut les contrles sont tous insrs dans la mme disposition. Si on modifie les dimensions dun contrle, les dimensions des autres contrles sont affectes.
4.1.4. Modifier lordre des champs dans un formulaire (dans la mme disposition) Pour dplacer un champ : Passer en mode Page ou en mode Cration ; Se placer sur le champ de faon ce que le pointeur souris devienne Faire glisser le champ lendroit o vous voulez le placer. ;
4.1.5. Redimensionner les champs dans un formulaire (dans la mme disposition) Cliquer sur le champ redimensionner (un rectangle jaune saffiche autour de lui) ; Placer la souris sur lun des bords du rectangle ; Si on modifie sa largeur, la largeur des autres champs est aussi modifie (on verra plus bas comment modifier les dimensions de chaque champ individuellement); Mais on peut modifier sa hauteur sans que la hauteur des autres champs ne soit affecte.
H. AKEB
4. Les formulaires
47
Access 2007
4.1.6. Modifier le style du formulaire (mode Cration ou mode Page) On peut modifier le style en mode Cration ou en mode Page. Exemple : Ouvrir le formulaire Clients ; Passe en mode Page ; Le groupe Mise en forme auto. de longlet Format du menu Outils de prsentation de formulaire vous permet de modifier le style de prsentation ; Le rsultat est immdiatement visible.
4.1.7. Librer les contrles du formulaire de leur disposition (disposition personnalise) Par dfaut, la position et les dimensions des diffrents champs sont gres automatiquement ; Access cre une disposition (sorte de tableau) entourant les champs positionns automatiquement ; Si on largie par exemple une tiquette, ce sont toutes les tiquettes qui sont largies en mme temps ;
H. AKEB
4. Les formulaires
48
Access 2007
Si on veut redimensionner certains champs seulement, il faut supprimer cette disposition automatique ; Mthode : Ouvrir le formulaire Clients en mode Page ; Slectionner la disposition comme indiqu ci-dessus ; Bouton droit ; Disposition -> Supprimer ;
Les champs sont alors libres et on peut les redimensionner ou les dplacer individuellement.
Remarque : En mode Page, la lgende et le champ sont dplacs individuellement (double travail). En mode Cration : on peut slectionner la lgende et le champ puis les dplacer en mme temps.
Uniformiser la taille des contrles : On peut slectionner plusieurs lgendes avec leur champs correspondants ; Ensuite uniformiser la taille (par exemple au plus large ou au plus troit) o Slectionner les contrles ; o Menu Outils de cration de formulaires -> Rorganiser -> Taille -> Au plus grand ;
Le groupe Alignement du contrle permet daligner les contrles slectionns (par exemple sur le mme niveau).
H. AKEB
4. Les formulaires
49
Access 2007 Exemple : voici une autre disposition (personnalise) pour le formulaire Clients :
4.1.8. Ordre de tabulation a correspond lordre dans lequel on saisie dans le formulaire. La touche TAB permet de passer du champ actuel au champ suivant dans lordre de tabulation. Shit+TAB permet de passer au champ prcdent. Si on modifie la disposition des champs, il se peut quon ait besoin de modifier lordre de tabulation. Voici la mthode : Ouvrir le formulaire en mode Cration ; Menu Outils de cration de formulaire -> Rorganiser -> Mise en forme de contrle -> Ordre de tabulation ; Modifier lordre de tabulation selon les instructions affiches
H. AKEB
4. Les formulaires
50
Access 2007 4.1.9. Les dispositions Empil et Tabulaire Servent crer une disposition contenant plusieurs contrles.
On peut slectionner plusieurs contrles (lgendes et/ou champs) et choisir lune des dispositions dans le menu Outils de cration de formulaire -> Rorganiser -> Mise en forme de contrle
La disposition Empil : Sert aligner des contrles en colonnes (lgendes gauche des champs) ; Voici un exemple obtenu avec les champs N client et Raison Sociale du formulaire Clients Il suffit de slectionner les contrles puis de cliquer sur loption Empil dans le menu :
La disposition Tabulaire : Permet de mettre les lgendes au dessus des champs (dans la partie En-tte du formulaire) ; On peut bien sr choisir les champs pour lesquels ont veut utiliser ce mode de disposition
Exemple : Crer un autre formulaire pour la table Commandes ; Ouvrir le formulaire en mode Cration ; Diminuer au maximum la largeur des contrles ; Supprimer le champ Notes de la disposition automatique (voir ci-dessus); Sil le faut, dplacer ensuite le champ Notes sil est affich au dessus dun autre champ ; Slectionner tous les champs de la disposition automatique (autre que le champ Notes) en cliquant sur le bouton situ en haut gauche de la disposition ; Appuyer sur loption de menu Tabulaire ; Access place alors les lgendes dans len-tte du formulaire sur plusieurs colonnes ; Redimensionner les diffrents contrles pour obtenir la disposition suivante :
H. AKEB
4. Les formulaires
51
Access 2007
Deuxime sminaire (Etude plus approfondie) : Modifier les proprits des contrles et celles du formulaire ; Faires des calculs dans un formulaire ; Crer un systme de menu.
4.3.1. Formulaires et tables lies Voici les relations qui existent entre les tables de la BDD Facturation :
H. AKEB
4. Les formulaires
52
Access 2007
Parcourir les clients Explication : La table Clients est la table parent, la table Commandes tant la table enfant. Lenregistrement en cours de la table parent saffiche en haut et les enregistrements correspondants de la table enfant saffiche dans la partie infrieure sous la forme dune feuille de donnes. Utilit : lutilit dune telle disposition est claire, a permet par exemple de visualiser/modifier les commandes dun mme client. Remarque : Si une table possde plusieurs tables enfants, Access utilise la premire table quil rencontre dans les relations.
H. AKEB
4. Les formulaires
53
Access 2007
4.3.2. Slectionner manuellement la table enfant afficher dans le sous- formulaire : Menu Crer -> Formulaire -> Autres formulaires -> Assistant formulaire ; Slectionner Table:Clients ; Ajouter tous les champs ; Dans la mme fentre, slectionner Table:Commandes et ajouter tous les champs ;
Suivant ;
Vous pouvez ensuite passer au mode Cration pour peaufiner la prsentation, en voici un exemple :
H. AKEB
4. Les formulaires
54
Access 2007
Remarque : avec cette mthode, Access cre 2 formulaires : Le premier sappelle Commandes ou Commandes1 ; Le sous-formulaire qui est rattach sappelle Commandes sous-formulaire Les deux formulaires saffichent dans le volet de navigation.
4.3.3. Crer un formulaire de toutes pices La mthode consiste crer un formulaire vierge puis y ajouter des champs. Exemple : Crer un formulaire pour la table Clients : Menu Crer -> Formulaires -> Formulaire vierge ; Un formulaire vierge est cr puis affich en mode Page ; Access affiche un nouveau menu Outils de prsentation de formulaires
Cliquer sur le bouton Ajouter des champs existants du groupe Contrles de longlet Format ; Un volet saffiche contenant la liste des tables ; Cliquer/glisser les diffrents champs dans le formulaire (dans la zone de la mme disposition afin dobtenir une prsentation automatique); Pour supprimer un champ du formulaire, Bouton droit sur le champ -> Supprimer.
H. AKEB
4. Les formulaires
55
Access 2007
Pour ajouter un en-tte et un pied de formulaire au formulaire vierge : o Passer en mode Cration ; o Bouton droit sur le formulaire ; o Cliquer sur loption En-tte et pied de formulaire ; o Dans len-tte, saisir le texte Formulaire Clients cr de toutes pices ; o Dans le pied de formulaire, crer une tiquette avec le texte Nous sommes le puis crer une zone de texte et y insrer la formule =Date() ; o Bouton droit sur la zone de texte -> Proprits ; o Dans la zone Format, slectionner le type Date, complet .
H. AKEB
4. Les formulaires
56
Access 2007
Exemple : voici le rsultat obtenu avec la requte Exercice2 : Commandes de 2003 Voici pour rappel ce quaffiche le rsultat de cette requte :
Aprs la cration du formulaire bas sur cette requte, voici le rsultat obtenu :
Utilit : Ceci permet de crer des formulaires utilisant des critres et des tris.
H. AKEB
4. Les formulaires
57
Access 2007
5. Les tats
Utilit : Disposer de vos informations sur support papier (pas besoin dordinateur) ; Synthtiser des donnes, prsentation agrable ; Approfondir une tude en ntant pas au bureau ; Impressionner votre patron ; Etc.
Le menu Crer -> Etats permet de crer les diffrents types dtats :
Il existe 4 modes pour les tats : Etat, Page, Cration, Aperu avant impression.
Remarquer les contrles : - Logo et Nom de la table ; - Date et heure de cration ; - Total des prix unitaires aprs la dernire ligne.
H. AKEB
5. Les tats
58
Le menu Outils de prsentation dtat -> Format -> Mise en forme auto. permet de choisir un style.
Le mode Etat :
Ressemble au mode Page mais ne permet pas de modifications ; On peut slectionner des donnes et les copier dans le presse-papier puis les coller dans une autre application ; Copier quelques lignes sous Word ;
H. AKEB
5. Les tats
59
Access 2007
Vous pouvez alors modifier : o les marges, o le mode dimpression (Portrait, Paysage), o la taille du papier, o le nombre de colonnes (1 ou plusieurs tableaux lun ct de lautre) , o lespacement entre les lignes ; o etc.
Le mode Cration :
o o o o o o
Permet une gestion plus prcise des diffrents contrles ; Un tat contient les parties suivantes : Un en-tte dtat ; Un en-tte de page (contient souvent les titres de colonnes = champs de la table par exemple) ; La zone Dtail contient les champs eux-mmes; Le pied de page (ce qui sera affich en bas de chaque page limpression) ; Pied dtat (ce qui sera affich aprs la dernire ligne de la dernire page, ici une somme). Ajouter un contrle tiquette et afficher Coucou
H. AKEB
5. Les tats
60
5.1.3. Personnaliser les contrles en mode Cration On voudrait supprimer lheure de cration et la somme des prix unitaires Ouvrir ltat Catalogue1 , Lenregistrer sous Catalogue1-modifi en utilisant le menu Office -> Enregistrer sous -> Enregistrer lobjet sous; Ouvrir Catalogue1-modifi en mode Cration ; Supprimer le contrle contenant la formule =Temps dans len-tte dEtat ; Dans le pied de page, dplacer le contrle contenant le numro de page vers la droite, aligner le texte droite ; Dans le pied dtat, supprimer le champ contenant la formule =Somme([Prix Unitaire]) ; Passer en mode Etat pour vrifier le rsultat ;
H. AKEB
5. Les tats
61
Access 2007
5.2.1. Regroupement dans un tat On voudrait par exemple afficher la liste des produits du catalogue regroups par Catgorie et dans chaque catgorie, on va trier les produits par Prix Unitaire croissant : Mthode : Ouvrir ltat Catalogue1-modifi Menu Office -> Enregistrer sous-> Enregistrer lobjet sous Appeler ltat CatalogueParCatgorie Passer dans le mode Page de ltat Cliquer dans une case contenant une catgorie Par exemple, activer le bouton de menu Outils de prsentation dtats -> Format ->Regroupement/Totaux ->
Dans la partie infrieure de la fentre, deux options saffichent Cliquer avec le bouton droit dans une case contenant une Catgorie Slectionner loption Le catalogue est alors regroup par Catgorie et par ordre alphabtique avec A en haut comme le montre la barre fentre dans la partie infrieure de la
Si vous voulez annuler ce regroupement, cliquer sur le bouton de cette barre Si vous voulez inverser lordre de tri, cliquer sur loption avec A en haut dans cette barre puis choisir loption avec Z en haut Cliquer avec le bouton droit dans une case contenant un Prix Unitaire puis slectionner loption Chaque catgorie est alors trie par ordre croissant du Prix Unitaire
H. AKEB
5. Les tats
62
5.2.2. Faire des totaux dans un tat On voudrait afficher le nombre de produits par Catgorie, ceci aprs chaque catgorie : Ouvrir ltat Catalogue1-modifi et lenregistrer sous le nom CatalogueAvecDesTotaux Passer en mode Page Regrouper les produits par Catgorie (voir ci-dessus) Trier selon lordre alphabtique du champ Dsignation (voir ci-dessus) Cliquer avec le bouton droit dans une case contenant une Rfrence ou une Dsignation Choisir loption Total Dsignation -> Compter les enregistrements
Access affiche alors le nombre de produits aprs chaque dernire ligne de chaque catgorie. Pour supprimer le total : Bouton droit sur la case contenant le total -> Supprimer
H. AKEB
5. Les tats
63
Access 2007 5.2.3. Exemple (Calculer le Prix Unitaire moyen de chaque catgorie) Reprendre ltat prcdent Passer en mode Page Cliquer dans une cellule contenant un Prix Unitaire Bouton droit, puis choisir loption Total Prix Unitaire -> Moyenne
5.2.4. LAssistant Etiquette On voudrait par exemple crer des tiquettes pour les clients : Dans le volet de navigation, afficher la liste des tables Cliquer sur la table Clients Menu Crer -> Etats -> Etiquettes
Choisir les options pour le texte Suivant Faire glisser les champs un un dans la zone Etiquette prototype (pour passer la ligne suivante, appuyer sur Entre et ne pas oublier de laisser un espace entre deux champs successifs de la mme ligne). Vous pouvez
H. AKEB
5. Les tats
64
Access 2007 Choisir un champ pour le tri (par exemple Raison sociale )
Vous pouvez ensuite passer en mode Page pour modifier la mise en forme ou en mode Cration pour modifier la mise en forme ainsi que les dimensions de ltiquette. Voici un exemple de rsultat :
H. AKEB
5. Les tats
65
Dans le volet de navigation, slectionner la requte Requte07 : Champs calculs Crer -> Etats -> Etat Access cre un tat associ cette requte (contiendra le rsultat de la requte) menu Outils de prsentation dtats -> Mise en page, slectionner le mode Paysage Peaufiner la prsentation de ltat en mode Page ou en mode Cration Voici un exemple de rsultat
5.2.6. Crer un tat partir de zro Exemple : Liste des commandes avec leur dtail (N commande, Date de commande, Rfrence, Quantit) Crer -> Etats -> Etat vide ; La liste des champs saffiche, si ce nest pas le cas, cliquer sur loption de menu Format->Ajouter des champs existants ; Glisser les champs o Commandes.[Numro de commande], o Commandes.[Date de commande] , o Dtail des commandes.[Rfrence] o Dtail des commandes.[Quantit] Passer en mode Cration o Bouton droit sur len-tte de page, cocher En-tte /pied de rapport o Ajouter une tiquette Dtails des commandes Passer en mode Page Cliquer pour slectionner la ligne des titres Menu Format -> Quadrillage -> Cliquer dans une case contenant la quantit ; Menu Format -> Mise en forme -> (Milliers) Enregistrer ltat et lappeler Etat cr partir de zro
H. AKEB
5. Les tats
66
Access 2007
5.2.7. Ajouter une requte dans un tat vide Crer un tat vide (Crer -> Etats -> Etat vide) Afficher la liste des requtes dans le volet de navigation Cliquer sur une requte puis glisser dans la zone Dtail de ltat
H. AKEB
5. Les tats
67