doc Dauphine - Archipel Conseil

publicité
ACCESS
Un Système de Gestion de Base de Données
VOLUME 2
Compléments
(C) Marca JP
ACCESS - SGBD
Page 1
ACCESS
Un Système de Gestion de
Base de Données
Compléments (1)
Principes de Base d’Access
(C) Marca JP
ACCESS - SGBD
Page 2
Une série de questions
*
*
*
*
*
*
*
*
*
(C) Marca JP
Comment créer une Base de Données ?
Comment naviguer à l ’intérieur de la Base de Données ?
Comment manipuler les tables qui constituent la Base de
Données ?
Comment introduire de nouvelles données ?
Comment mettre à jour les données introduites dans la
base ?
Comment trier les informations ?
Comment effectuer des recherches multi-critères ?
Comment importer des données en provenance d ’autres
applications ?
Comment exporter des données vers d ’autres
applications ?
ACCESS - SGBD
Page 3
Plan du Module
♦
Création d'une Base de
Données
♦
Navigation
♦
Manipulation des tables
♦
Saisie et mise à jour des
données
♦
Tri, recherche et filtrage
♦
Liaison, importation et
exportation
(C) Marca JP
ACCESS - SGBD
Page 4
Cr
éation dd’une
’une
Création
Base
ées
Base de
de Donn
Données
• Principes de la conception d’applications avec Access
• Création d’une application Access à partir d’un fichier
modèle
• L’exemple Contacts
• Les objets de type Table de la fenêtre Base de Données
• Les formulaires d’Access
• Les états Access
• Le Gestionnaire de menu général
• Formulaires en mode création
(C) Marca JP
ACCESS - SGBD
Page 5
Création d’une Base de Données
Les objets d’une application Access
o
(C) Marca JP
Une application Access minimum contient :
o
Des tables (les données)
o
Des formulaires (Affichage et saisie des données)
o
Des états (Exploitation de la base)
Elle peut aussi inclure :
o
Des requêtes (filtrage, tri et combinaison)
o
Des modules pour stocker du code VBA
o
Les formulaires contiennent du code VBA dans un
« module de base »
Tous les objets sont dans un conteneur
unique xxx.mdb
ACCESS - SGBD
Page 6
Création d’une Base de Données
Assistant Création d’Applications
(C) Marca JP
Access n’est pas un outil bureautique en
ce sens qu’il n’est pas directement
exploitable avant d’avoir conçu le
modèle de l’application
L’Assistant Création d’Application permet
de construire une application à partir
d’un modèle pré-défini.
Utilisation de l’Assistant, puis examen
des objets créés.
ACCESS - SGBD
Page 7
Création d’une Base de Données
Assistant Création d’Application
Exemple
de
création
d’une
Base
Contacts
(C) Marca JP
ACCESS - SGBD
Page 8
Création d’une Base de Données
Architecture de l’application crée
Menu Général
Ajouter ou
afficher des
contacts
Ajouter ou
afficher des
types de
contacts
Modifier
les éléments
du menu
général
Aperçu des
états
Quitter
Menu Général Etats
Formulaire
Contact
Appel
Liste Alpha
contacts
Retour
Menu Pal
Statistiques
Appels
Hebdo
Table
Table
Switchboard
Switchboard
items
items
Table
Table
Appels
Appels
Etat
Formulaire
Appel
Table
Table
Contacts
Contacts
(C) Marca JP
Table
Table
Types
Types
contacts
contacts
Liste Alpha
contact
Etat
statistique
Appels Hebdo
Formulaire
Type de
contact
ACCESS - SGBD
Page 9
Création d’une Base de Données
Assistant Création d’Application
Résultat
de la
création
Menu général
(Switchboard)
Fenêtre
Base de Données
Formulaire
Saisie
(C) Marca JP
ACCESS - SGBD
Page 10
Création d’une Base de Données
Vue Liste
Champ pivot
Relation 1 -> n
(C) Marca JP
ACCESS - SGBD
Page 11
Création d’une Base de Données
Vue Liste
Relation 1 -> n
Sous-feuille de données
(C) Marca JP
ACCESS - SGBD
Page 12
Création d’une Base de Données
Visualisation des relations
Relation 1 -> n
(flèche = 1)
Relation 1 -> n (n=ω)
avec contrôle intégrité référentielle
(C) Marca JP
ACCESS - SGBD
Page 13
Création d’une Base de Données
Gestionnaire du Menu Général
Menu Général
Gestionnaire du Menu Général
appelé par l’option
« Modifier les éléments du Menu Général »
(C) Marca JP
ACCESS - SGBD
Page 14
Création d’une Base de Données
Création d’un formulaire (Menu Gal)
Formulaire en mode création
Sélection formulaire
ou item du formulaire
Boite à outils
Propriétés du formulaire
(C) Marca JP
ACCESS - SGBD
Page 15
Navigation
Navigation
• Fonctions et modes sous Access
• Définition de fonctions Access
• Modes d’exploitation sous Access
• Principes d’affichages des tables sous Access
• Options et touches de fonctions
• Aide
• Utilitaires
(C) Marca JP
ACCESS - SGBD
Page 16
Navigation
Fonctions de base et de support
Fonctions de support
Fonctions de base
Organisation des données (Feuille de données)
Table
Mise en
relation des
tables et
extraction des
données
Formulaire
Saisie des
données et
modifications
(C) Marca JP
Table
Requête
Table
Résultat en
tables
virtuelles
(objets
RecordSet)
Etat
Modules VBA
Sécurité
Impression
Publication Web
Présentation
des données
ACCESS - SGBD
Page 17
Navigation
Les modes d’exploitation
(C) Marca JP
Mode Démarrage : Avant ouverture d’une base. Permet
de compacter, convertir, coder, décoder et réparer une
Base de Données.
Mode Création : Permet de créer et de modifier la
structure des tables et requêtes, de développer des
formulaires pour afficher et modifier les données, de
mettre en forme des états pour l’impression.
Ces créations peuvent se faire aussi avec des Assistants
Mode Exécution : Affiche formulaires, tables et états
dans des fenêtres individuelles. Ce mode est appelé
« Mode Feuille de Données » pour les tables et requêtes,
« Mode Formulaire » pour les formulaires, « Mode Page »
pour les pages d’accès aux données, et « Aperçu avant
impression » pour les états.
ACCESS - SGBD
Page 18
Navigation
Affichage des tables sous Access
Barre d’outils ancrée
Feuille de données
Barre de menus
Barre d’outils flottante
Mise en forme
Mode
Feuille de Données
(C) Marca JP
Menu contextuel
ACCESS - SGBD
Page 19
Navigation
Options et Aide
Une centaine d’options
Configuration par défaut
dans registre windows
et dans system.mdw
qui stocke aussi barres
d’outils personnalisés,
noms d’utilisateurs et
mots de passe.
Aide avec HTML help
qui remplace le système
traditionnel d’aide
windows (v 1.0)
Pour plus d’info :
http://www.microsoft.com/workshop/author/htmlhelp/default.asp
(C) Marca JP
ACCESS - SGBD
Page 20
Navigation
Utilitaires de Base de Données
(C) Marca JP
Compactage et réorganisation de Base
de Données
Conversion de formats Access
Gestion du formulaire Menu Général
Création de fichiers .mde (version
spéciale code .mdb) où le code VBA est
compilé et les codes source non
accessibles –distribution commerciale-).
ACCESS - SGBD
Page 21
Navigation
Gestionnaire de menu général
Ajout d ’un menu
à l’application comptoirs
(C) Marca JP
ACCESS - SGBD
Page 22
Manipulation
Manipulation des
des tables
tables
• Définition des éléments des bases de données
• Utilisation des fichiers de bases de données
• Création d’une nouvelle base de données
• Propriétés des tables et des champs
• Choix des types de données, des tailles et des formats
de champs
• Ajout d’une nouvelle table
• Relations, champs clefs et index
(C) Marca JP
ACCESS - SGBD
Page 23
Manipulation des tables
Définition des éléments des bases de données
Les tables et les relations définies entre ces
tables
Les objets associés (requêtes, formulaires,
états, modules VBA)
Access met implicitement tout dans un fichier
unique .mdb
Possibilité de les séparer (plus satisfaisant du
Ligne et autres avantages)
point de vue conceptuel
Convention :
TABLE
XXXX
XXXX
XXXX
Enregistrement
(C) Marca JP
YYY1
YYY1
YYY1
ZZZ
ZZZ
ZZZ
RESULTAT REQUETE
999999
999999
999999
AAA
AAA
AAA
Champ
XXXX
XXXX
XXXX
YYY1
YYY1
YYY1
ZZZ
ZZZ
ZZZ
999999
999999
999999
AAA
AAA
AAA
Colonne
ACCESS - SGBD
Page 24
Manipulation des tables
Création d’une nouvelle base de données
(C) Marca JP
Fichier / Nouvelle de Base de Données
Identification Base
Onglet Général pour créer un BdD vide
Onglet BdD pour créer une BdD à partir
d’un des 10 modèles prédéfinis
Création d’un fichier .mdb de 96 ko
(tables systèmes cachées)
ACCESS - SGBD
Page 25
Manipulation des tables
Création d’une nouvelle base de données
La fenêtre
BdB d’une
BdD
nouvellement
crée
(C) Marca JP
ACCESS - SGBD
Page 26
Manipulation des tables
Propriétés des tables
Se définissent dans une boite de dialogue
accessible via propriétés (bouton droit souris)
Objectifs et rôle de la table
Règle de validation s’appliquant
à la table toute entière
S’applique à la table à l’ouverture
S’applique à la table à l’ouverture
(C) Marca JP
ACCESS - SGBD
Page 27
Manipulation des tables
Sous-Feuille de données
Les sous-feuilles permettent de visualiser et de
modifier, au sein d’une même feuille, des
enregistrements reliés appartenant à plusieurs
tables ou requêtes.
Exemple : dans une liste Commande faire
apparaître le détail des lignes de commandes
Définit si des sous feuilles vont afficher
les données des enregistrements reliés
Nom de champ relié de la
table reliée si pas auto
Hauteur max de la
sous-feuille de données
Mode affichage initial sous-feuille données
(C) Marca JP
ACCESS - SGBD
Page 28
Manipulation des tables
Création d’une table
Création de
table en
mode
création
Clef primaire
Différents types
de données
Propriétés
additionnelles
pour un champ
(C) Marca JP
ACCESS - SGBD
Page 29
Manipulation des tables
Différents types de données
(C) Marca JP
Texte (255 caractères, type par défaut)
Numérique (Divers sous-types possibles, affichage selon
format)
NuméroAuto (incrément automatique)
Lien Hypertexte
Mémo (65 535 caractères, non clef, indexation 255
premiers)
Oui/Non (Booléen)
Monétaire (Précision à 4 décimale)
Date/Heure (affichage selon format)
Objet OLE (objets multimédias, gros objets applications
de composant Active X)
ACCESS - SGBD
Page 30
Manipulation des tables
Différentes propriétés additionnelles
(C) Marca JP
Taille
Format
Précision
Echelle
Décimales
Masque de saisie
Légende
Valeur par Défaut
Valide si
Message si erreur
Null interdit
Chaîne vide autorisée
Indexée
Nouvelle valeur
ACCESS - SGBD
Page 31
Manipulation des tables
Sous-types du type de données numérique (Taille)
Nom du
sous-type
(C) Marca JP
Nombre de
décimales
Plage de
valeurs
admises
0-255
Nombre
d’octets
Octet
Aucune
Entier
Aucune
-32 768 à
32767
Entier long
Aucune
- 2 147 483 648 4
à 2 147 483 674
Réel simple
7
4
Réel double
15
8
Décimal
28
28
Moétaire
4
ACCESS - SGBD
1
2
Page 32
Manipulation des tables
Masques de saisie
Caractère
affichage
littéral
Numérique
Format
Nombre général
Monétaire
Euro
Fixe
Standard
Pourcentage
Scientifique
Date/Heure
Date, général
Date complet
Date réduit
Date abrégé
Heure complet
Heure réduit
Heure abrégé
Oui/Non
(C) Marca JP
Vrai/Faux
ACCESS - SGBD
Page 33
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Définition
rubriques
Type
Description
Propriétés
additionnelles
dont valeur
par défaut
Pas de clef primaire
dans une table qui
ne sera jamais table
primaire
Permettra type
de relation 1 à n
(C) Marca JP
ACCESS - SGBD
Page 34
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Une fois les rubriques définies, trois points clefs à
considérer :
Relations
Champ clef
Index
(C) Marca JP
ACCESS - SGBD
Page 35
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
(C) Marca JP
Relations
Les relations établies entre une table
nouvellement crée et les tables existantes
déterminent le champ à utiliser comme clef
primaire de la nouvelle table
Relation un-à-un (1-1)
Relation plusieurs à un (n-1)
Relation un à plusieurs (1-n)
Relations plusieurs à plusieurs (n-p)
ACCESS - SGBD
Page 36
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Relation un-à-un
A la valeur de clef de chaque enregistrement de la
nouvelle table –qui peut être primaire en raison de
l'unicité- correspond une valeur unique dans le champ
lié de la table existante, celui de la clef primaire
Peu courant (scission table pour sécurité, sous ensemble
avec données complémentaires, ..)
Table existante
Table nouvelle
Clef primaire : 1 valeur distincte pour
chaque enregistrement
(C) Marca JP
ACCESS - SGBD
Page 37
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Relation un-à-plusieurs
La plus courante. Plusieurs valeurs du champ de clef
"étrangère" de la nouvelle table peuvent correspondre à
une même valeur du champ lié de la table existante,
celui de la clef primaire
Exemple : 1 client passe n commandes
Table existante
Table nouvelle
Clef primaire : 1 valeur distincte pour
chaque enregistrement
(C) Marca JP
ACCESS - SGBD
Page 38
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Relation plusieurs-à-un
C'est la même que la précédente, vu à partir de l'autre
table.
1 commande parmi n est passée par un client.
Table existante
Table nouvelle
Clef primaire : 1 valeur distincte pour
chaque enregistrement
(C) Marca JP
ACCESS - SGBD
Page 39
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Relation plusieurs à plusieurs
Un enregistrement d'une table peut être mis en
correspondance avec plusieurs enregistrements d'une
autre table et réciproquement, par le biais de leurs clefs
primaires.
1 commande se réfère a n produits et 1 produit est
référencé par p commandes
Nécessité d'une table relais dite table de jonction.
Table existante
Table relais
Table nouvelle
Clef primaire de la
table de jonction
(C) Marca JP
ACCESS - SGBD
Page 40
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Création
relation entre
clef primaire
de la table
employés et
clef Actions
Personnel
2. No employé
3. Drag&Drop
Paramètres
relation
Visualisation
relation
1. Ajouter Table Actions Personnel
(C) Marca JP
ACCESS - SGBD
4. peCodeEmployé
Page 41
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
2. Paramètre
jointure
Type 2 :
1 côté Employé
n côté Actions
Création
relation entre
clef primaire
de la table
employés et
clef Actions
Personnel
Paramètres
relation
Visualisation
relation
1. Paramètres relation
(C) Marca JP
ACCESS - SGBD
Page 42
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Création
relation entre
clef primaire
de la table
employés et
clef Actions
Personnel
Paramètres
relation
Visualisation
relation
Nouvelle relation créée
(C) Marca JP
ACCESS - SGBD
Page 43
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
(C) Marca JP
Intégrité référentielle
L’option Intégrité Référentielle conduit Access
à tester les validations des entrées et à
n’accepter, dans le champ peCodeEmployé,
que les seules entrées correspondant aux
valeurs du champ No employés de la table
Employé
Quand une relation est établie avec application
de l ’intégrité référentielle, Access permet la
mise à jour en cascade des enregistrements
qui se correspondent
ACCESS - SGBD
Page 44
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Sélection d’une clef primaire
Pas de clef primaire pour la Table Actions puisqu’à un
employé peut correspondre plusieurs actions.
(C) Marca JP
La clef primaire empêche la duplication
d’enregistrements
Une relation côté un fait toujours référence à une clef
primaire.
Possibilité définir dans Actions une clef primaire formée
par la concaténation de plusieurs rubriques
(peCodeEmployé + peType + peDateExecution)
A la création d’une clef primaire Access génère un index
à partir de la clef primaire
ACCESS - SGBD
Page 45
Manipulation des tables
TD : Création table Actions Personnel dans BdD Comptoir
Sélection
multiples
rubriques
Définition
clef
concaténée
(type
variant)
Fenêtre de
gestion de
cet index
Fenêtre Index pour gérer l’ordre des champs dans la clef primaire
(C) Marca JP
ACCESS - SGBD
Page 46
Manipulation des tables
Ajout d’index à des tables
(C) Marca JP
Access gère un index sur la clef primaire
En contrepartie, la multiplicité des index pénalise la
mise à jour.
Chaque table Access peut créer 32 index, dont 5
peuvent être multichamp.
Un index multichamp peut inclure jusqu’à dix
champs.
Possibilité de créer d’autres index (index
secondaire) sur d’autres champs, pour accélérer
les recherches faites sur d’autres critères.
ACCESS - SGBD
Page 47
Saisie
Saisie et
et Mise
Mise àà Jour
Jour
des
ées
des donn
données
• Saisie de données de test
• Utilisation clavier
• Ajout d’enregistrement à une table
• Sélection, ajout, remplacement et suppression
d’enregistrements
• Validation des entrées de données
(C) Marca JP
ACCESS - SGBD
Page 48
Saisie et Mise à jour de données
Saisie de données
(C) Marca JP
♦
Saisie des données test en mode table
pour finaliser structure avant conception
des formulaires et des états
♦
Raccourcis clavier pour sélection et
saisie données
♦
Ajustement options de saisie
♦
Sélection, Ajout, Mise à jour et
Suppression en mode feuille de données
ACCESS - SGBD
Page 49
Saisie et Mise à jour de données
Validation des entrées de données
♦
Règles de validation au niveau champ
♦
Définition de règles de validité au travers de la
propriété Valide Si
♦
Message associé en Message Si Erreur
Contrôle et message pour peDateExecution
(C) Marca JP
ACCESS - SGBD
Page 50
Saisie et Mise à jour de données
Validation des entrées de données
♦
Les règles de validation qui portent sur
plusieurs champs sont définies au niveau de la
table
Un bouton dans Valide Si de Proprietes Tables ouvre le générateur d’expression
(C) Marca JP
ACCESS - SGBD
Page 51
Tri,
Tri, Recherche
Recherche et
et Filtrage
Filtrage
• Figer les colonnes
• Tri
• Recherche et remplacement
• Filtrage par sélection
• Filtrage par formulaire
• Filtrage/Tri avancé
(C) Marca JP
ACCESS - SGBD
Page 52
Tri, recherche et filtrage
Figer des colonnes
♦
Sélectionner les colonnes à figer
♦
Format / Figer les colonnes
Démarcation champ libre / champ figé
(C) Marca JP
ACCESS - SGBD
Page 53
Tri, recherche et filtrage
Tri
♦
Tri à partir d’un seul champ
♦
Tri sur plusieurs champ
Champs triés
(C) Marca JP
ACCESS - SGBD
Page 54
Tri, recherche et filtrage
Recherche et remplacement
(C) Marca JP
♦
Recherche
♦
Recherche et remplacement
ACCESS - SGBD
Page 55
Tri, recherche et filtrage
Filtrage des données dans une table
(C) Marca JP
♦
Filtrage par sélection
♦
Filtrage par formulaire
♦
Filtre/tri avancé
ACCESS - SGBD
Page 56
Tri, recherche et filtrage
Filtrage par sélection
(C) Marca JP
♦
Filtrage sur le critère du champ dans lequel on
a sélectionné tout ou partie du texte
♦
Exemple : sélection de « ventes » dans champ
fonction
ACCESS - SGBD
Page 57
Tri, recherche et filtrage
Filtrage par formulaire
(C) Marca JP
♦
Permet de filtrer des enregistrements à partir de critères
définis sur plusieurs champs à la fois.
♦
Les formulaires de filtrage sont différents des formulaires
de saisie.
♦
Définition des critères liés par une condition ET sur la
ligne du formulaire
♦
Définition d’une autre série de critères,liés par une
condition OU à la première, en changeant d’onglet.
♦
Ce filtre est en fait une requête déguisée avec un nombre
restreint de possibilités.
♦
Un filtre peut être enregistré comme une requête.
♦
Un filtre ne peut pas être enregistré en tant que filtre.
♦
Il est possible de charger une requête en tant que filtre.
ACCESS - SGBD
Page 58
Tri, recherche et filtrage
Filtrage / Tri avancé
(C) Marca JP
♦
Les filtres sont en fait des requêtes déguisées : la
création d'un filtre / tri avancé s'apparente donc
beaucoup à celle d'une requête,
♦
avec deux limites importantes :
♦
limité à une table
♦
impossibilité de passer en mode SQL.
♦
Un filtre peut cependant être enregistré en tant que
requête.
♦
Un filtre peut être chargé à partir d'une requête.
♦
On ne peut sauvegarder un filtre en tant que tel.
ACCESS - SGBD
Page 59
Tri, recherche et filtrage
Filtrage / Tri avancé
Le code SQL du filtre
sauvegardé sous la forme
d'une requête
Une table et une seule
Critères liés par "ET"
Critères liés par "OU"
(C) Marca JP
ACCESS - SGBD
Page 60
Liaison,
Liaison, importation
importation
et
et exportation
exportation
• Préparation exportation
• Echanges autres SGBD micros
• Echange fichiers textes
• Echanges Excel
• Echange Outlook
(C) Marca JP
ACCESS - SGBD
Page 61
Liaison, importation et exportation
Préparation exportation
(C) Marca JP
♦
Utilisation filtrage (sélection
enregistrements)
♦
Utilisation tri
♦
Utilisation personnalisation feuille de
données (sélection rubriques)
ACCESS - SGBD
Page 62
Principes de Base d ’Access
*
Un Système de Gestion de Base de
Données Relationnelle
*
Un outil bureautique pour gérer ses
données mais impliquant une formation
poussée et une appropriation délicate
*
Un client pour accéder à d’autres Bases de
Données
*
Un environnement de développement au
standard Microsoft Visual Basic
(C) Marca JP
ACCESS - SGBD
Page 63
ACCESS
Un Système de Gestion de
Base de Données
Compléments (2)
Les requêtes d ’Access
(C) Marca JP
ACCESS - SGBD
Page 64
Une série de questions
*
*
*
(C) Marca JP
Comment interroger la Base de Données ?
Comment mêler différents critères de sélection
par le biais d’opérateurs logiques ?
Comment mettre à jours la Base de Données au
moyen de requêtes action ?
ACCESS - SGBD
Page 65
Plan du Module
♦
Concevoir des requêtes
♦
Comprendre les opérateurs
et les expressions dans les
requêtes
♦
Créer des requêtes
multitables et croisées
♦
Modifier les données avec
les requêtes Action
(C) Marca JP
ACCESS - SGBD
Page 66
Concevoir
Concevoir des
des requêtes
requêtes
• Notion de requête
• L’Assistant Requête simple
• Requête en mode Création : Sélection champs et
critères de tri et de sélection des enregistrements)
• Utilisation des résultats
• Créer et utiliser une requête Création de Table
(C) Marca JP
ACCESS - SGBD
Page 67
Concevoir des requêtes
Notion de requête
(C) Marca JP
o
Un concept de base pour un SGBD
o
Des requêtes pour :
o
sélectionner des enregistrements selon certains
critères
o
regrouper des
plusieurs tables
o
mettre à jour des tables (ajout, corrections)
o
créer de nouvelles tables et des états imprimés
o
des actions spéciales (union, analyse croisée)
données
ACCESS - SGBD
en
provenance
de
Page 68
Concevoir des requêtes
l’Assistant Requête simple
Option pour requête de
synthèse si valeurs
numériques
(C) Marca JP
ACCESS - SGBD
Page 69
Concevoir des requêtes
Requête en mode création
Sélection table
(C) Marca JP
ACCESS - SGBD
Page 70
Concevoir des requêtes
Requête en mode création
Sélection champs
(C) Marca JP
ACCESS - SGBD
Page 71
Concevoir des requêtes
Requête en mode création
Critères de sélection
(C) Marca JP
ACCESS - SGBD
Page 72
Concevoir des requêtes
Requête en mode création
Critères de tri
(C) Marca JP
ACCESS - SGBD
Page 73
Concevoir des requêtes
Requête en mode création
Résultat
(C) Marca JP
ACCESS - SGBD
Page 74
Concevoir des requêtes
Utilisation données issues de la requête
(C) Marca JP
o
Impression
o
Copier/Coller
o
Liaison Office (fusion Word, Excel, ..)
ACCESS - SGBD
Page 75
Concevoir des requêtes
Requête Création de table
o
Création d’une nouvelle table à partir d’une
requête
clic droit sur bordure
(C) Marca JP
ACCESS - SGBD
Page 76
Comprendre
érateurs
Comprendre les
les op
opérateurs
et
et les
les expressions
expressions dans
dans les
les requêtes
requêtes
•
•
•
•
•
•
•
•
(C) Marca JP
Opérateurs et expressions
Différents types d'opérateurs
Fonctions
Différents types de fonctions
Des expressions typiques comme critères de requête
Exemple
Générateur d'expression
Champs calculés
ACCESS - SGBD
Page 77
Opérateurs et expressions
Opérateurs et expressions
♦
♦
(C) Marca JP
Multiples emplois des expressions et opérateurs
dans Access
♦
Règles de validation des champs d'une table (déjà vu)
♦
Critères de sélection dans une requête simplle (déjà
vu)
♦
Requêtes complexes
♦
Formulaires
♦
Etats
♦
VBA
Une expression pour définir une condition
précisant la manière dont une action doit
s'accomplir ou pour calculer une donnée
résultat à partir des données de la base
ACCESS - SGBD
Page 78
Opérateurs et expressions
Expression
(C) Marca JP
♦
Une expression doit contenir
♦
au moins un opérateur
♦
ET au moins un opérande : une chaîne
littérale, un identificateur ou une fonction
♦
Opérateur : opérateur aithmétique,
ensembliste ou logique
♦
Chaîne littérale : chaîne de caractères ou
valeur numérique définie directement
♦
Identificateur : noms des objets Access
retournant des valeurs ou constantes
prédéfinies (Vrai, Faux, Oui, Non, Null)
♦
Fonction : retourne une valeur suite à la
spécification d'un argument)
ACCESS - SGBD
Page 79
Opérateurs et expressions
Opérateurs
(C) Marca JP
♦
Opérateurs arithmétiques (+,-, *, /, \, Mod, ^)
♦
Opérateurs d'affectation (=)
♦
Opérateurs de comparaison(<, <=, =, >=, >,
<>)
♦
Opérateurs logiques (Et, Ou, Pas, Ou_X)
♦
Opérateur de concaténation (&)
♦
Opérateurs d'identification : permet de nommer
de manière univoque les objets d'une base de
données
♦
Opérateurs spécifiques comme Like (Comme),
Is (Est) et Between (Entre)
ACCESS - SGBD
Page 80
Opérateurs et expressions
Opérateurs d'identification
(C) Marca JP
♦
les opérateurs . et !
♦
Combiner des noms de classe et d'objet :
Formulaires!Commande (permet de différencier de
Tables!Commande)
♦
Combiner des noms d'objets et de propriétés :
BoiteDialogue1.FontSize
♦
Identifier des champs spécifiques dans les tables
(Clients!Société)
♦
Attention à usage de ! dans Access qui est
équivalent au . de SQL
ACCESS - SGBD
Page 81
Opérateurs et expressions
Opérateurs spécifiques
(C) Marca JP
♦
Est est utilisé avec Null (Est Null, Est Non Null)
♦
Comme (Like SQL) détermine si une chaîne
commence par certains caractères (Comme
Saint*)
♦
Dans (In SQL) détermine l'appartenance à une
liste de valeurs : Dans ("75", "77", "78", "91",
"92", "93", "94", "95")
♦
Entre (Between SQL) détermine l'appartenance
numérique à une segment de valeurs (Entre 1 et
5, Entre #24/12# et #1/1#)
ACCESS - SGBD
Page 82
Opérateurs et expressions
Identificateurs
(C) Marca JP
♦
Un identificateur est le nom d'un objet (base,
table, champ, requête, formulaire, état)
♦
Chaque objet doit être identifié de manière unique
♦
Le champ Adresse de la table Clients :
Clients.Adresse
♦
Le champ Quantité de la table Commande Détail
(inclut un blanc) :
[Commande Détail].Quantité
ACCESS - SGBD
Page 83
Opérateurs et expressions
Fonctions
(C) Marca JP
♦
Retournent des valeurs à leur nom
♦
150 fonctions accessibles
♦
Date/heure
♦
Texte
♦
Conversion
♦
Maths
♦
Monétaire
♦
Echange DDE
♦
Général
ACCESS - SGBD
Page 84
Opérateurs et expressions
Fonctions
♦ Utilisation
fenêtre
Exécution de
VBA pour
vérifier
utilisation et
syntaxe des
fonctions.
(C) Marca JP
ACCESS - SGBD
Page 85
Opérateurs et expressions
Fonctions Date / Heure
Fonction
Description
Exemple
Renvoie
Date
Retourne la date système sous forme Variant ou
String
Date
21/8/2002
DateAdd
Retourne la date avec le nombre de jours ("d"), de
semaines ("ww"), de mois ("m") ou d'années ("y")
ajoutés à la date
DateAdd("m",1,"15/7/2002")
21/9/2002
DateDiff
Retourne un entier correspondant à la différence
entre deux dates
DatePart
Retourne une partie de la date sous forme d'entier
DateSerial
Compose une date avec les éléments JJ, MM et AA
sous forme d'entiers
DateValue
Compose une date à partir de son expression sous
forme de chaîne de caractères
Day
Retourne le No du jour dans le mois de la date
fournie
Hour
Retourne l'heure du temps fourni
Hour(time)
A 11h
Hour(#23:34:56#)
11
Minute
Retourne les minutes du temps fourni
Month
Retourne le mois de la date fournie
(C) Marca JP
ACCESS - SGBD
23
Page 86
Opérateurs et expressions
Fonctions Date / Heure
Fonction
Description
MonthName
Retourne le nom du mois en entier ou en abrégé
Now
Retourne la date et l'heure système
Second
Retourne les secondes de l'heure founie
Time
Retourne l'heure système
TimeSerial
Compose une heure avec les éléments HH, MM et
SS fournis sous forme d'entiers
TimeValue
Compose une heure avec les éléments HH, MM et
SS fournis sous forme de chaîne de caractères
WeekDay
Retourne le jour de la semaine en entier
WeekDayName
Retourne le nom du jour de la semaine
Year
Retourne l'année de la date fournie
(C) Marca JP
Exemple
ACCESS - SGBD
Renvoie
Page 87
Opérateurs et expressions
Fonctions Texte
Fonction
Description
Asc
Retourne la valeur ANSI d'un caractère
Chr
Retourne le caractère correspondant à la valeur
ANSI
Format
REtourne la valeur fournie dans le format précisé
Instr
Retourne la position d'une sous-chaîne dans la
chaîne
LCase
Retourne la valeur en minuscules
Left
Retourne les caractères de gauche spécifiés
Len
Retourne le nombre de caractères en entier long
LTrim
Supprime les espaces en début de chaîne
Mid
Retourne une partie de la chaîne
Right
Retourne les caractères de droite spécifiés
(C) Marca JP
Exemple
ACCESS - SGBD
Renvoie
Page 88
Opérateurs et expressions
Fonctions Texte
Fonction
Description
RTrim
Supprime les espaces en fin de chaîne
Space
Retourne une chaine d'espaces du nombre spécifié
Str
Convertit la valeur numérique de n'importe quel
type de chaîne
StrComp
Compare deuxchaînes
String
Retourne une chaîne avec le nombre de caractères
spécifiés
Trim
Supprime les espaces de début et de fin d'une
chaîne
UCase
Retourne la valeur en majuscules
Val
REtourne la valeur numérique d'une chaîne dans le
format souhaité
(C) Marca JP
Exemple
ACCESS - SGBD
Renvoie
Page 89
Opérateurs et expressions
Fonctions Conversion de type
Fonction
Description
CBool
Convertit une valeur numérique en type Boolean
CByte
Convertit une valeur numérique en type Byte
CCur
Convertit une valeur numérique en type Currency
CDate
Convertit une valeur numérique en type Date
CDd1
Convertit une valeur numérique en type Double
CInt
Convertit une valeur numérique en type Integer
CLng
Convertit une valeur numérique en type Long
CSng
Convertit une valeur numérique en type Single
CStr
Convertit une valeur numérique en type String
CVar
Convertit une valeur numérique en type Variant
(C) Marca JP
Exemple
ACCESS - SGBD
Renvoie
Page 90
Opérateurs et expressions
Fonctions Conversion de type
Fonction
Description
CVerr
Convertit un No d'erreur valide pour créer des
erreurs personnalisées
Nz
Convertit une valeur Null en zéro ou en une chaîne
de longueur zéro en fonction du contexte
(C) Marca JP
Exemple
ACCESS - SGBD
Renvoie
Page 91
Opérateurs et expressions
Des expressions typiques comme critères de requêtes
Champ
Expression
Renvoie
Pays
Not "France" And Not "Belgique"
Les sociétés qui ne sont ni en France ni en
Belgique
Pays
Not ("France" Or "Belgique")
Les sociétés qui ne sont ni en France ni en
Belgique
Société
Like "[N-Z]*"
Les sociétés dont le nom commence de N à Z
Société
Like S* Or Like V*
Les sociétés dont le nom commence par S ou V
Société
Like "*shop*"
Les sociétés ayant la chaîne "shop" dans leur
raison sociale
Code postal
>=75000
Les sociétés dont le code postal est > 75000
Date Commande
Year([Date Commande])=1997
Les commandes reçues en 1997
Date Commande
Year([Date Commande])=1997 And
DatePart("q",[Date Commande]) = 1
Les commandes reçues au premier trimestre 97
Voir pages suivantes
(C) Marca JP
ACCESS - SGBD
Page 92
Opérateurs et expressions
Des expressions typiques comme critères de requêtes
(C) Marca JP
♦
Important
♦
Traduction automatique de
l'expression (sauf en VBA)
♦
Problèmes liés à localisation
♦
Exemples fournis en code US
ne marchent pas du fait
traduction automatique des
codes (Exemple DatePart en
PartDate) mais non des
paramètres entre guillemets.
Le code "q" pour trimestre
(quarter) est transformé en
"/q" alors que la fonction
attend "t"
♦
Exige ; et non ,
♦
Retransformation après
sauvegarde
ACCESS - SGBD
Page 93
Opérateurs et expressions
Des expressions typiques comme critères de requêtes
♦
Exemple
♦
Ci joint syntaxe OK
♦
Syntaxe fournie
♦
Year([Date Commande])=1997 And DatePart("q",[Date Commande]) = 1
(C) Marca JP
ACCESS - SGBD
Page 94
Opérateurs et expressions
Des expressions typiques comme critères de requêtes
♦
Exemple
♦
Retransformation après sauvegarde
(C) Marca JP
ACCESS - SGBD
Page 95
Opérateurs et expressions
Exemple
♦
Exemple de requête (Nous anticipons sur les requêtes multitables
pour mette en évidence une expression intéressante)
♦
Ligne Opération obtenue en cliquant le bouton Opération de la
barre d'outils
♦
Insertion colonne spécifiant le montant net de chaque ligne de la
table Détails Commandes avec un format monétaire
♦
!! Opération "Somme" parfois transformée en "expression" avec
modif automatique de l'expression Somme(..) : cas ci-dessus
(C) Marca JP
ACCESS - SGBD
Page 96
Opérateurs et expressions
Exemple
(C) Marca JP
ACCESS - SGBD
Page 97
Opérateurs et expressions
Utilisation du générateur d'expressions
(C) Marca JP
ACCESS - SGBD
Page 98
Opérateurs et expressions
Champs calculés
(C) Marca JP
♦
Utilisation des expressions pour créer des champs
calculés dans une requête (Exemple montant TVA)
♦
Création nouvelle colonne
♦
Syntaxe NomRubrique: Expression
♦
Penser à spécifier Expression dans ligne Opération
(!! Affichage de cette ligne non implicite)
ACCESS - SGBD
Page 99
Cr
éer des
Créer
des requêtes
requêtes
multitables
ées
multitables et
et crois
croisées
•
•
•
•
•
•
•
•
•
•
•
(C) Marca JP
Retour sur les relations
Lier des tables pour les requêtes multitables
Utiliser des listes de choix dans les tables
Ajouter des sous-feuilles dans une table ou une requête
Les relations
Mettre à jour des tables avec des requêtes
Rendre tous les champs d'une table accessibles
Effectuer des calculs sur plusieurs enregistrements
Les paramètres d'une requête
Les requêtes Analyse croisée
Créer des requêtes avec des bases de données externes
ACCESS - SGBD
Page 100
Requêtes multitables
Retour sur les relations
♦
(C) Marca JP
Quatre types fondamentaux de relations
♦
Les équijointures
♦
Les jointures externes
♦
Les autojointures
♦
Les jointures Theta
♦
Un préalable : la définition des relations dans la
base (Retour diapo x du chapitre 2)
♦
Ne pas oublier : donner le même nom aux champs
qui peuvent être mis en relation
♦
Un outil : La fenêtre Relations
ACCESS - SGBD
Page 101
Requêtes multitables
Equijointure
♦
L'équijointure (INNER JOIN selon ANSI-SQL 92) est le type
de liaison le plus courant dans les requêtes Sélection
♦
Affichage dans une table de tous les enregistrements
correspondant aux enregistrement d'une autre table
♦
La correspondance entre les enregistrements est déterminée
par des valeurs identiques dans les champs liés (Where
champ1 = champ2 en SQL)
♦
Dans la plupart des cas, ce schéma dans le cadre d'une
relation un à plusieurs :
Table 1
Table 2
Champ Clef primaire unique
"Côté un"
(C) Marca JP
Champ Clef externe
"Côté Plusieurs"
ACCESS - SGBD
Page 102
Requêtes multitables
Equijointure
(C) Marca JP
♦
Si aucun enregistrement du côté "plusieur" ne contient
d'enregistrement correspondant à un enregistrement de la
table "un", les enregistrements du côté "un" ne sont pas
affichés dans le résultat de la requête.
♦
Access crée automatiquement les liaisons entre les tables si
elles partagent un nom de champ commun qui est la clef
primaire de l'une des tables.
♦
Ces liaisons sont aussi créées si on précise les relations
entre les tables dans la fenêtre Relations.
ACCESS - SGBD
Page 103
Requêtes multitables
Créer une équijointure conventionnelle
♦
Ouverture base
♦
Requête
♦
Requête en mode création
♦
Sélection table Clients dans liste
tables
♦
Sélection table Commandes dans
liste tables
♦
Fermeture liste tables
♦
Double clic sur rubrique société
dans la liste des rubriques de la
table Clients => création
automatique 1ere colonne de la
requête
♦
Idem avec les rubriques No
Commande et Date Commande
de la table Commandes
(C) Marca JP
ACCESS - SGBD
Page 104
Requêtes multitables
Créer une équijointure conventionnelle
♦
(C) Marca JP
Exécution requête
ACCESS - SGBD
Page 105
Requêtes multitables
Créer une équijointure conventionnelle
♦
(C) Marca JP
Exemple d'une requête mettant en relation 2 tables
n'ayant pas de lien direct : catégories de produits
commandés par les clients
ACCESS - SGBD
Page 106
Requêtes multitables
Créer une équijointure conventionnelle
♦
Résultats : 2155 lignes avec beaucoup de doublons
♦
Suppression des doublons par la propriété "Valeur
distinctes" de la requête (introduit le code SQL
DISTINCT)
♦
Résultat : 598 lignes
(C) Marca JP
ACCESS - SGBD
Page 107
Requêtes multitables
Format SQL de la relation
♦
SELECT DISTINCT Clients.Société, Catégories.[Nom de
catégorie]
♦
FROM Catégories INNER JOIN (Produits INNER JOIN
((Clients INNER JOIN Commandes ON Clients.[Code
client] = Commandes.[Code client]) INNER JOIN
[Détails commandes] ON Commandes.[N° commande]
= [Détails commandes].[N° commande]) ON
Produits.[Réf produit] = [Détails commandes].[Réf
produit]) ON Catégories.[Code catégorie] =
Produits.[Code catégorie]
♦
ORDER BY Clients.Société;
(C) Marca JP
ACCESS - SGBD
Page 108
Requêtes multitables
Equijointure sur plusieurs colonnes et sélection de valeur unique
♦
Besoin : Nom des clients dont les adresses de facturation et de
livraison sont identiques
♦
Création Requête
♦
Sélection Tables Clients et Commandes
♦
Création d'une nouvelle relation entre Adresse de Clients et
Adresse livraison de Commande par un glisser-déplacer
♦
Sélection rubriques Société, Adresse de Clients et Adresse
livraison de commande
♦
Elimination doublons
♦
Exécution
♦
SQL : SELECT DISTINCT Clients.Société, Clients.Adresse,
Commandes.[Adresse livraison] FROM Clients INNER JOIN
Commandes ON (Clients.Adresse = Commandes.[Adresse
livraison]) AND (Clients.[Code client] = Commandes.[Code
client]);
(C) Marca JP
ACCESS - SGBD
Page 109
Requêtes multitables
Listes de choix dans les tables
♦
Possibilité saisie données dans tables en sélectionnant
un élément dans une liste déroulante
♦
Evite les erreurs et sauvegarde l'intégrité référentielle
♦
Basé sur la création automatique d'une requête
♦
Voir exemple dans Base de données Photos
♦
Existence d'un Assistant Liste de Choix
♦
Possibilité de définir explicitement une liste de valeurs
au lieu de faire référence à une table (portabilité ?)
♦
D'une manière plus générale, débat sur l'opportunité
de l'intégration d'une requête dans les propriétés d'une
table.
(C) Marca JP
ACCESS - SGBD
Page 110
Requêtes multitables
Ajout de sous-feuilles dans une table ou une requête
♦
Nous avons défini les sous-feuilles dans le chapitre 2
♦
Elles présentent les valeurs des tables liées dans une
feuille de données incorporée où les champs sont
affichés dans des zones de liste ou zones de listes
modifiables
♦
Possibilité de présentation en cascade : exemple des
produits d'une commande d'un client
(C) Marca JP
ACCESS - SGBD
Page 111
Requêtes multitables
Sous-feuille en table
♦
La définition d'une sous-feuille se fait via les propriétés
de la table
♦
L'imbrication ci-contre
♦
s'opère simplement
du fait du paramètre
Auto:
(C) Marca JP
ACCESS - SGBD
Page 112
Requêtes multitables
Sous-feuille en table ou en requête
♦
On peut la définir explicitement en spécifiant une table
♦
ou une requête si l'on veut une présentation
personnalisée
(C) Marca JP
ACCESS - SGBD
Page 113
Requêtes multitables
Jointures externes
(C) Marca JP
♦
Nous passons en revue les autres types de jointures
♦
Les jointures externes (LEFT JOIN et RIGHT JOIN) sont
utilisées dans les bases de données pour supprimer les
enregistrements orphelins et les doublons par la création de
tables ne contenant que des enregistrements avec des
valeurs uniques.
♦
Une jointure gauche affiche tous les enregistrements de la
table côté un sans se soucier s'il existe des enregistrements
dans la table "plusieurs"
♦
Une jointure droite affiche tous les enregistrements de la
table côté plusieurs sans se soucier s'il existe des
enregistrements dans la table des un
♦
Exemple page suivante
ACCESS - SGBD
Page 114
Requêtes multitables
Jointures externes
(C) Marca JP
♦
Création d'un enregistrement zzzzz de client n'ayant pas de
commande dans la base test
♦
Création d"une requête avec Code Client et Société de
Clients, No employé et Date commande de Commandes
♦
Si la relation entre les deux tables est de type 1
(équijointure), le client vide n'apparait pas lors de
l'exécution de la requête
♦
Si la relation est définie de type 2,
ce client apparait et la flèche est
orientée sur le modèle
ACCESS - SGBD
Page 115
Requêtes multitables
Autojointures
(C) Marca JP
♦
Les autojointures mettent en relation des données dans
une seule table
♦
On peut créer ce genre de relation en ajoutant à la requête
un double de la table (Access fournit un alias pour le
duplicata) et créer des liaisons entre les champs des copies
♦
Avec une autojointure, on doit préciser que les
enregistrements doivent être uniques (Valeurs distinctes à
OUi)
ACCESS - SGBD
Page 116
Requêtes multitables
Jointures Theta
(C) Marca JP
♦
Les jointures Theta mettent des données en relation en
utilisant des opérateurs de comparaison différents de =
♦
Ces jointures comprennent les not-equal joins() utilisés dans
les requêtes pour retourner des enregistrements qui ne
correspondent pas à une relation particulière.
ACCESS - SGBD
Page 117
Requêtes multitables
Mettre à jour des tables avec des requêtes
♦
Dans certains cas, on peut modifier les données d'une requête en
mode Feuille de données pour modifier les données de la table
sous-jacente. Dans d'autres cas, on ne peut pas.
♦
Un objet Recordset représente le jeu d'enregistrements complet
d'une table de base de données ou les résultats d'une commande
exécutée.
♦
L'objet Recordset fait toujours référence à un seul enregistrement
du jeu comme étant l'enregistrement en cours.
♦
Lorsqu'une requête crée un Recordset de type Feuille de réponse
dynamique (par opposition à instantanée), la table créée présente
un enregistrement vide en fin de liste, ce qui permet la mise à jour
des tables.
♦
De nombreuses conditions restrictives
♦
Débat bien sûr sur l'intérêt de permettre un tel mode de mise à jour
(voir plus loin requêtes Action)
(C) Marca JP
ACCESS - SGBD
Page 118
Requêtes multitables
Mise en forme des données
♦
♦
♦
♦
♦
♦
(C) Marca JP
Mise en forme requête liée à la mise en forme des tables
utilisées.
Modification valeurs implicites via la fenêtre propriété du
champ dans la grille de création de reqête (voir diapo
suivante) :
Description (Affichage barre état)
Format
Masque de saisie
Légende (changement intitulé colonne)
ACCESS - SGBD
Page 119
Requêtes multitables
Mise en forme des données
Propriétés du champ
(C) Marca JP
ACCESS - SGBD
Page 120
Requêtes multitables
Effectuer des calculs sur plusieurs enregistrements
♦
Un des intérêts majeurs d'un BdD SQL : obtenir immédiatement des
informations de synthèse.
♦
Dans Access, présence simultanée des
(portabilité) et VBA (spécifique Microsoft)
Avg()
Count()
(C) Marca JP
fonctionnalités
First()
Moyenne
Nombre de valeurs Not
Null
Valeur premier
Last()
Max()
Min()
StDev() et StDevP()
Sum()
Var() et Var(p)
Valeur dernier
Valeur la plus élevée
Valeur la plus basse
Ecart type
Total
Variance
ACCESS - SGBD
SQL
Page 121
Requêtes multitables
Effectuer des calculs sur plusieurs enregistrements
Requête créée à
partir d'une
requête
Résultat
Fonctions de
synthèse
Modification
légende
(C) Marca JP
ACCESS - SGBD
Page 122
Requêtes multitables
Paramètres d'une requête
♦
(C) Marca JP
Possibilité de définir un paramètre au lancement d'une
requête
ACCESS - SGBD
Page 123
Requêtes multitables
Requête Analyse croisée
♦
Requêtes de synthèse
dynamiques Excel
♦
Utilisation de l'Assistant si la requête porte sur une seule table :
(C) Marca JP
s'apparentant
aux
tableaux
roisés
♦
Création nouvelle requête regroupant les éléments pertinents
♦
Précaution : revenir éventuellement à l'affichage des clefs (Liste de
choix = zone de texte) pour toutes les références à des listes
déroulantes
♦
Sauvegarde requête
♦
Appel Assistant
♦
Sélection requête sauvegardée
♦
Sélection champs analysés
♦
Sélection champ en-tête de colonne
♦
Maille de regroupement temporel
♦
Fonction de calcul
♦
Identification requête
ACCESS - SGBD
Page 124
Requêtes multitables
Requête Analyse croisée
(C) Marca JP
ACCESS - SGBD
Page 125
Requêtes multitables
Requête Analyse croisée
♦
♦
(C) Marca JP
Possibilité définir requête analyse croisée en manuel
Possibilité affectation valeurs fixes aux en-têtes
ACCESS - SGBD
Page 126
Requêtes multitables
Accès à des bases de données externes
♦
♦
♦
♦
(C) Marca JP
Possibilité accès à d'autres bases que la base en cours
Spécifier le paramètre Base Source dans la requête avec
le chemin d'accès
Paramètre
Chaine
Connexion
Source
avec
les
paramètres ODBC si nécessaire
La connexion n'est ouverte qu'en mode création ou
feuille de données
ACCESS - SGBD
Page 127
Requêtes multitables
Important (savoir-faire)
♦
♦
♦
♦
♦
♦
(C) Marca JP
En mode création de requête il est parfois nécessaire de
jouer avec les relations
Si une table mise en jeu a plusieurs relations avec les
autres tables, Access peut s'y perdre et ne rien afficher
Exemple : un établissement point sur une société
(siège), un service (implantation) et un poste de travail.
Si toute ces tables sont présentes, on devra éliminer les
relations non significatives pour la requête considérée
On trouvera aussi certains cas ou il faut garder la
relation mais modifier sa nature (recherche des postes
sans affectations)
Ces modifications n'influent pas sur le schéma
relationnel de base
ACCESS - SGBD
Page 128
Modifier
ées
Modifier les
les donn
données
avec
avec des
des requêtes
requêtes Action
Action
•
•
•
•
•
•
Qu'est ce qu'une requête Action
Requête Création de table
Créer et tester une requête Sélection
Conversion Requête sélection en requête création table
Définir les relations dans la nouvelle table
Ajouter des enregistrements à une table avec une
requête action
• Supprimer des enregistrements
• Modifier des enregistrements
• Suppressions et mises à jour en cascade
(C) Marca JP
ACCESS - SGBD
Page 129
Requêtes Action
Types de requêtes Action
♦
♦
♦
♦
♦
(C) Marca JP
Quatre types de requête Action
Requête Création de table
Requête Ajout (enregistrement)
Reqauête Suppression
Requête Mise à Jour
ACCESS - SGBD
Page 130
Requêtes Action
Requêtes Création de table
♦
♦
♦
♦
♦
♦
(C) Marca JP
Créer et tester la requête
Spécifier Requête->Requête Création Table
Nommer la table
La table créée hérite des propriétés de la (les ?) table
origine et reprend la structure des enregistrements sur
lesquels repose la requête
Compléter éventuellement la définition de la table
♦
Indexation
♦
Relations
♦
Intégrité référentielle
Modifier éventuellement la structure de la base pour
tirer parti de la nouvelle table
ACCESS - SGBD
Page 131
Requêtes Action
Requêtes Création de table
Requête création
de table
Définition de la
requête
(C) Marca JP
ACCESS - SGBD
Page 132
Requêtes Action
Requête Ajout d'enregistrement dans une table
♦
♦
♦
♦
(C) Marca JP
La requête création supprime avant exécution une table
éventuelle
La requête ajout fonctionne de manière identique mais
se contente d'ajouter les enregistrements à la table
existante
Existence d'une ligne "Ajoute à"
Contrôle des clefs
ACCESS - SGBD
Page 133
Requêtes Action
Requête Suppression d'enregistrements dans une table
♦
♦
♦
(C) Marca JP
La requête Suppression supprime les enregistrements
d'une table répondant à certains critères
Exemple : suppression de toutes les commandes des
clients dont le niveau de risque vient d'être mis à une
valeur critique
Suppression en cascade pour assurer l'intégrité
référentielle
ACCESS - SGBD
Page 134
Requêtes Action
Requête Mise à jour d'enregistrements dans une table
♦
♦
(C) Marca JP
La requête Mise à Jour modifie les enregistrements
d'une table répondant à certains critères
Exemple mise à jour des prix d'un tarif selon une loi
homogène
ACCESS - SGBD
Page 135
Les requêtes d ’Access
*
Différents types de requêtes
· Sélection
· Création table
· Ajout, suppression ou modification
d'enregistrements
*
*
*
*
*
(C) Marca JP
Requête à partir d'une ou plusieurs
tables
Assistant requête simple, Assistant
requête analyse croisée ou
définition spécifique en mode
création
Sélection tables, rubriques,
critères de sélection et de tri
Opérateurs et expression pour la
définition des critères de sélection
Conversion en forme SQL
ACCESS - SGBD
Page 136
ACCESS
Un Système de Gestion de
Base de Données
Compléments (3)
Formulaires et Etats
(C) Marca JP
ACCESS - SGBD
Page 137
Une série de questions
*
*
*
(C) Marca JP
Comment présenter les données de manière plus
attractive ?
Comment imprimer de simples listes ?
Comment construire des rapports complexes
exploitant la Base de Données ?
ACCESS - SGBD
Page 138
Plan du Module
♦
Créer et utiliser des
formulaires
♦
Créer des formulaires
personnalisés multi-tables
♦
Imprimer des états et des
étiquettes
♦
Préparer des états élaborés
(C) Marca JP
ACCESS - SGBD
Page 139
Cr
éer et
Créer
et utiliser
utiliser
des
des formulaires
formulaires
• Rôle des formulaires et des contrôles
• Création d'un formulaire avec l'Assistant Formulaire
• Fenêtre création de formulaire
• Mettre à jour des éléments et des contrôle de
formulaire
• Utiliser les formulaires
• Modifier les propriétés des éléments et des contrôle de
formulaire
(C) Marca JP
ACCESS - SGBD
Page 140
Créer et utiliser des formulaires
Formulaires et contrôles d'Access
(C) Marca JP
o
Une manière plus pratique de présenter les
informations relatives à un enregistrement donné
qu'en mode tabulaire, plus propice aux vues globales.
o
Un environnement
informations.
o
Les formulaires sont composés de contrôles (à l'image
de ceux des feuilles de Visual Basic).
o
Ces contrôles ont statut d'objet, ce qui leur fournit
propriétés et méthodes.
o
Existence de sous-formulaires, feuilles ou formulaires
inclus dans un formulaire.
o
Incorporation d'éléments
technologie ActiveX
plus
propice
ACCESS - SGBD
à
graphiques
la saisie
grâce
des
à
la
Page 141
Créer et utiliser des formulaires
Nouveautés d'Access 2000 en matière de formulaires
(C) Marca JP
o
Sous-feuilles de données
o
Sous-formulaires in situ
o
Correction automatique
o
Groupes de contrôles
o
Commande d'espacement vertical et
horizontal
o
Contrôle ActiveMovie
ACCESS - SGBD
Page 142
Créer et utiliser des formulaires
Création via l'Assistant formulaire
(C) Marca JP
o
Exemple de 2 tables liées par une relation Un
à Plusieurs
o
Employés -> Actions personnel
o
Création d'un Formulaire incluant un Sous
Formulaire
o
Assistant très intéressant pour dégrossir
ACCESS - SGBD
Page 143
Créer et utiliser des formulaires
Création via l'Assistant
Seconde Table (n)
Sélection de toutes les
rubriques
Elimination code
redondant
Première table (1)
Sélection de 4
rubriques
(C) Marca JP
ACCESS - SGBD
Page 144
Créer et utiliser des formulaires
Création via l'Assistant
Position relative
des rubriques
des 2 tables dans
Formulaire et
sous-formulaire
Formulaire avec
sous-formulaire
(C) Marca JP
ACCESS - SGBD
Page 145
Créer et utiliser des formulaires
Création via l'Assistant
Mode Tabulaire
(C) Marca JP
ACCESS - SGBD
Page 146
Créer et utiliser des formulaires
Création via l'Assistant
Style
(C) Marca JP
ACCESS - SGBD
Page 147
Créer et utiliser des formulaires
Création via l'Assistant
Titres
Actions suivante
(C) Marca JP
ACCESS - SGBD
Page 148
Créer et utiliser des formulaires
Création via l'Assistant
Résultat création
(C) Marca JP
ACCESS - SGBD
Page 149
Créer et utiliser des formulaires
Mode Création Formulaire
Grille en mode
création
Notez pour le formulaire
En-tête, Détail, Pied
Idem pour le sousformulaire
Boîte à Outils
(C) Marca JP
ACCESS - SGBD
Page 150
Créer et utiliser des formulaires
Mode Création Formulaire
(C) Marca JP
o
Barre d'outils : Création de Formulaires et menus
o
Barre d'outils Mise en Forme
o
Concept de format automatique. Possibilité définir ses
propres formats.
o
Couleurs et images de fond
o
Mode intuitif propre à Windows
o
Modification et déplacement des contrôles. Possibilités
d'Alignement.
o
!!! Les légendes sont associées à leurs contrôles
ACCESS - SGBD
Page 151
Créer et utiliser des formulaires
Utiliser les formulaires
(C) Marca JP
o
Barre d'outils spécifique au mode Formulaire
o
Eléments de navigation
o
Ajout
o
Modification
o
Prise en compte des modification : A la modification
du pointeur d'enregistrement ou en utilisant la
commande Enregistrement (Commit – Trans)
o
Annulation de la Mise à jour avec Edition Annuler
(Rollback)
ACCESS - SGBD
Page 152
Créer et utiliser des formulaires
Modification des propriétés d'un formulaire ou d'un contrôle
(C) Marca JP
o
Accès via la fenêtre Propriétés
o
A vérifier systématiquement : l'ordre de
tabulation
o
Viser cohérence et simplicité
ACCESS - SGBD
Page 153
Cr
éer des
Créer
des formulaires
formulaires
personnalis
és multi
-tables
personnalisés
multi-tables
• Boîte à outils
• Mise au point d'un formulaire
• Assistant sous-formulaire
• Modification formulaires
• Ecraser les propriétés des champs
• En-têtes et pieds de formulaire
• En-têtes et pieds de page
(C) Marca JP
ACCESS - SGBD
Page 154
Créer et utiliser des formulaires
Boîte à outils
(C) Marca JP
o
Trois catégories de
contrôles
o
Contrôle associé à
un champ de la
source de données
o
Contrôle
indépendant
o
Contrôle calculé
ACCESS - SGBD
Page 155
Créer et utiliser des formulaires
Mode création
Boîte à outils
Liste rubriques
source de données
(Table, requête)
Formulaire en
cours de création
Propriétés de
l'objet sélecté
(C) Marca JP
ACCESS - SGBD
Page 156
Créer et utiliser des formulaires
Mode création
Intitulé
Zone de texte
calculée
Zone de texte
associée à un
champ
(C) Marca JP
ACCESS - SGBD
Page 157
Créer et utiliser des formulaires
Mode création
Utilisation de
l'Assistant
pour définir
un groupe
d'options
(C) Marca JP
ACCESS - SGBD
Page 158
Créer et utiliser des formulaires
Assistants
(C) Marca JP
o
Utilisation des assistants pour les autres
contrôles
o
Assistant zone de liste modifiable pour
rechercher des valeurs dans une table ou une
requête
o
Id pour rechercher des valeurs dans une liste
statique
o
Id pour repérer un enregistrement en
fonction de la valeur sélectionnée dans la liste
ACCESS - SGBD
Page 159
Créer et utiliser des formulaires
Assistants
o
(C) Marca JP
Assistant sous-formulaire pour définir un
sous-formulaire indépendamment de la
fonctionnalité définie dans l'assistant
Formulaire.
ACCESS - SGBD
Page 160
Créer et utiliser des formulaires
Ecraser les propriétés des champs
(C) Marca JP
o
Les objets des formulaires et sousformulaires héritent des propriétés des
champs et/ou des requêtes sources
o
Il est bien sûr possible de les modifier dans le
formulaire
o
en respectant certaines règles de cohérence
(en particulier pour les règles de validation)
ACCESS - SGBD
Page 161
Créer et utiliser des formulaires
En-têtes et pieds
(C) Marca JP
o
En-têtes et pieds de formulaire pour la
présentation
o
En-têtes et pieds de page pour l'impression
ACCESS - SGBD
Page 162
Créer et utiliser des formulaires
Conseil pratique
o
o
Solution 1
o
Formulaire lié à une seule table
o
Données liées affichées via Rechdom :
o
(C) Marca JP
Affichage données liées
=RechDom("[EtIntitule]";"Etablissements";"[EtCodeEtablissement] = '"
& [SoCodeEtablissement] & "'")
o
Solution 2
o
Formulaire lié à une requete SQL faisant jointure sur plusieurs tables
o
SELECT [Sociétés].[CodeSociete], [Sociétés].[SoNomSociete],
[Sociétés].[SoActivite], [Sociétés].[SoNoAPE], [Sociétés].[SoRCS],
[Sociétés].[SoDateCreation], [Sociétés].[SoCodeEtablissement],
[Sociétés].[SoSiteWeb], [Etablissements].[EtIntitule],
[Etablissements].[ETAdresseRue], [Etablissements].[EtAdresseCommune],
[Etablissements].[EtComplAdresse], [Etablissements].[EtCodePostal],
[Etablissements].[EtBureauDistributeur] FROM Etablissements INNER JOIN
Sociétés ON
[Etablissements].[CodeEtablissement]=[Sociétés].[SoCodeEtablissement];
o
Toutes les rubriques récupérées de toutes les tables sont alors
disponibles
ACCESS - SGBD
Page 163
Imprimer
tats
Imprimer des
des éétats
et
tiquettes
et des
des éétiquettes
• Relations entre formulaires et états
• Différents types d'états
• Assistant état
(C) Marca JP
ACCESS - SGBD
Page 164
Créer et utiliser des états
Relations entre formulaires et états
(C) Marca JP
o
Les formulaires sont destinés à l'écran pour la
consultation et la mise à jour
o
Les états sont destinés à être imprimés et
diffusés.
o
On ne peut modifier les données sources d'un
Etat avec des contrôles, comme on peut le
faire avec des formulaires.
o
On peut cependant utiliser des contrôles pour
vérifier des valeurs ou le statut de certains
contrôles.
ACCESS - SGBD
Page 165
Créer et utiliser des états
Relations entre formulaires et états
(C) Marca JP
o
Caractéristiques communes
o
L'Assistant Etat fonctionne comme l'Assistant
Formulaire
o
Fonctionnement identique des section "En-tête" et
"Pied"
o
La section "Groupe" d'un Etat est l'équivalent de la
section "Détail" d'un Formulaire
o
Contrôles de la Boîte à Outils
o
Des sous-états peuvent être intégrés à un Etat, de
même qu'un sous-formulaire peut être intégré à un
Formulaire
ACCESS - SGBD
Page 166
Créer et utiliser des états
Différents types d'états
(C) Marca JP
o
Les états en colonne simple
o
Les tableaux
o
Les états sur plusieurs colonnes
o
Les états groupés
o
Les étiquettes
o
Les états indépendants
ACCESS - SGBD
Page 167
Créer et utiliser des états
Assistant Etat
Maîtrise ordre
insertion
Rubriques des
tables
Produits et
Fournisseurs
(C) Marca JP
ACCESS - SGBD
Page 168
Créer et utiliser des états
Assistant Etat
Spécification
niveau de
regroupement
Option de
Options
de
regroupement
(C) Marca JP
ACCESS - SGBD
Page 169
Créer et utiliser des états
Assistant Etat
Option de
Options
de
regroupement
synthèse
(C) Marca JP
ACCESS - SGBD
Page 170
Créer et utiliser des états
Assistant Etat
Choix style
Choix
présentation
(C) Marca JP
ACCESS - SGBD
Page 171
Créer et utiliser des états
Assistant Etat
(C) Marca JP
ACCESS - SGBD
Page 172
Créer et utiliser des états
Travailler un état en mode création
(C) Marca JP
ACCESS - SGBD
Page 173
Créer et utiliser des états
Travailler un état en mode création
(C) Marca JP
o
Supprimer, déplacer et modifier les contrôles
o
Ajouter des contrôles calculés
o
Aligner et mettre en forme les contrôles
o
Ajuster l'espacement entre les lignes
o
Ajuster les marges
o
Ajuster les sauts de page pour éviter les
enregistrements orphelins
ACCESS - SGBD
Page 174
Formulaires et états d ’Access
*
Formulaires pour consulter et
mettre à jour en ligne
*
Etats classiques de gestion
*
Apport des assistants
(C) Marca JP
ACCESS - SGBD
Page 175
Téléchargement