Cours de Base de données MS Access
...
n UNE APPLICATION SUR LE POSTE DE TRAVAIL Manipulations via un formulaire
n LA BASE DE DONNÉES
Ensemble structuré d'informations cohérentes et pérennes, correspondant ici aux activités d'une organisation
n MODÉLISATION DES DONNÉES
Analyse des informations manipulées dans l'organisation avec représentation formelle de leur nature et leur structuration
n IMPLÉMENTATION DES DONNÉES
Utilisation d'un système de gestion de base de données (SGBD), avec des outils pour la manipulation des données
PRÉSENTATION ICI DU CAS D'UNE PETITE BASE AVEC L'OUTIL ACCESS
Introduction aux bases de données avec Access - Page 4
SYSTÈME D'INFORMATION : VUE PRATIQUE
A QUELLES SITUATIONS DE LA COOPÉRATIVE CELA CORRESPOND ?
n DU CÔTÉ DES FOURNISSEURS
Enregistrement d'un nouveau lot, fournisseur ou produit
n DU CÔTÉ DES CLIENTS
Enregistrement d'une vente, d'un nouveau client,
n EN INTERNE
Mise à jour du prix d'un produit, rapports, état du stock, etc.
n EXEMPLES DE QUESTIONS
Quel est le prix du kilogramme de pomme ?
Quelle est l'adresse de De La Rue ?
Y-a-t-il des choux de Chine en stock ? Et combien ?
A qui correspond le numéro de téléphone 01.44.08.16.01 ?
Combien de légumes sont répertoriés ?
Quand est-ce que King King a livré des carottes ?
Combien de lots de brocolis a-t-on enregistré cette année ?
Quelle est le poids moyen des ventes de panais ?
Y-a-t-il un fruit dont le prix dépasse 10 euros ?
Quels sont les producteurs situés dans les Yvelines ?
Quel est le plus gros stock de produit actuel ?
LE SYSTÈME D'INFORMATION DOIT RÉPONDRE À TOUS LES BESOINS, QUI DOIVENT ÊTRE EXAMINÉS AVANT SA CRÉATION (« ANALYSE DES BESOINS »)
Introduction aux bases de données avec Access - Page 5
EXEMPLES DE MANIPULATION
CAS D’ACTIVITÉS DE LA COOPÉRATIVE
n LISTE DES PERSONNES (ACHETEURS ET-OU PRODUCTEURS)
n ENREGISTREMENT D’UN NOUVEAU PRODUIT
n MODIFICATION DES COORDONNÉES D’UNE PERSONNE
n ETAT DU STOCK
PRINCIPES DES BASES DE DONNÉES Modélisation des données
Modèle « entité-association »
Modèle « relationnel »
MODÉLISATION DES DONNÉES
QUELLES SONT LES INFORMATIONS MANIPULÉES ?
n DONNÉES : INFORMATIONS CORRESPONDANT À DES ÉLÉMENTS RÉELS exemples : un client, un produit, un fournisseur, un lot, une vente
n INVENTAIRE DES ÉLÉMENTS RÉELS (« ENTITÉS ») liste des données élémentaires 1 rattachées (« attributs »)
exemple : produit avec numéro, nom, type (légume ou fruit), prix
n REPRÉSENTATION DE CHAQUE INFORMATION (« FORMAT ») utilisation de types de données élémentaires (texte, nombre, etc.)
exemple : le nom d'un produit est un texte
n IDENTIFICATION DE DÉPENDANCES ENTRE ENTITÉS (« ASSOCIATIONS»)
exemple : une vente s'applique à un seul produit et un seul client, avec une date et un prix associés
LA MODÉLISATION DES DONNÉES INTERVIENT DANS LA PREMIÈRE ÉTAPE DE LA CONCEPTION DU SYSTÈME D'INFORMATION (MODÈLE CONCEPTUEL « ENTITÉ-ASSOCIATION » 2 PRÉSENTÉ ICI)
1 Une donnée élémentaire ou « atomique», correspond à une valeur simple (nombre, texte, date, etc.) et non pas à une valeur multiple (liste, ensemble, etc.)
2 En anglais : entity-relationship model, traduit aussi par modèle « entité-relation »
DONNÉE DU PRODUIT
MODÉLISATION DE L'ENTITÉ « PRODUIT » 1
n DE QUOI A-T-ON BESOIN ?
Le nom du produit, exemple : carotte
Connaître son type, légume ou fruit, exemple : légume Connaître son prix de vente (1 kilogramme), exemple : 1 euro
n COMMENT IDENTIFIER UN PRODUIT DE MANIÈRE UNIQUE ? Identification possible avec son nom mais risque d'ambiguïté, donc plus fiable avec un numéro d'ordre associé
n REPRÉSENTATION PAR LES ATTRIBUTS
1) numéro : nombre entier, l'« identificateur » 2
2) nom : texte
3) type : texte, soit LEGUME, soit FRUIT
4) prix : nombre à 2 décimales, exemple : 1,00 (1 euro)
n MODÉLISATION
Représentation de l'entité « produit »
Conventions du modèle « entité-association » 3:
entité --> rectangle, attribut --> ovale, identificateur --> souligné
1 La représentation est bien sûr simplifiée ici, dans le cadre de cette présentation.
2 Dans le modèle « entité-association », l'« identificateur » identifie de manière unique et invariable une entité ; il correspond à un ou plusieurs attributs.
…
MODÉLISATION D'UNE ENTITÉ
EXEMPLE DU PRODUIT
n LISTE DES ATTRIBUTS
ensemble des données élémentaires caractéristiques de l'entité principaux types de donnée possibles :
− une valeur numérique avec ou sans partie décimale, éventuellement une valeur monétaire
− un texte libre (taille maximale fixée en nombre de caractères), ou un libellé parmi quelques valeurs possibles
− une date et-ou une heure
n DÉTERMINATION DE L'ATTRIBUT IDENTIFICATEUR
il sert à identifier de manière unique un exemplaire de l'entité, il est toujours connu et il ne peut pas être modifié (invariable) cet attribut identificateur consiste préférentiellement en un code ou sinon, de manière générale, on prend un numéro d'ordre
DONNÉE DE LA PERSONNE
UNE PERSONNE EST SOIT UN PRODUCTEUR, SOIT UN ACHETEUR
n DE QUOI A-T-ON BESOIN ?
La nom de la personne exemple : De La Rue
Connaître son adresse dont notamment le code postal et la ville, exemple : 80, bd. J. Jaurès - 92110 - Clichy
Connaître son numéro de téléphone exemple : 01.47.15.30.00
n COMMENT IDENTIFIER UNE PERSONNE DE MANIÈRE UNIQUE ? Identification avec un numéro d'ordre associé
REPRÉSENTATION PAR LES ATTRIBUTS
1) numéro : nombre entier, l'« identificateur »
2) nom : texte
3) adresse : texte
4) code postal : texte
5) ville : texte
n MODÉLISATION
Représentation de l'entité « personne »
ENTITÉS ET BASE DE DONNÉES
CAS DES ENTITÉS PRODUIT ET PERSONNE
n TRADUCTION D'ENTITÉ DANS LA BASE DE DONNÉES
Définition d'une « table » 1 pour une entité, avec une colonne 2 par attribut et une ligne par élément de donnée (« n-uplet » 3) L'identificateur est appelé la « clef »
Le « schéma de la table » indique le nom de la table et la liste des attributs, avec la spécification des caractéristiques de chacun : - indication si c'est une clef
- type de ses valeurs (« domaine »)
n SCHÉMA DE LA TABLE « PRODUIT »
1) numero : nombre entier (clef)
2) nom : texte, d'au plus 40 caractères
3) type : texte, soit LEGUME, soit FRUIT
4) prix : nombre à 2 décimales
n SCHÉMA DE LA TABLE « PERSONNE »
1) numero : nombre entier (clef)
2) nom : texte, d'au plus 40 caractères
3) adresse : texte, d'au plus 60 caractères
4) code_postal : texte, de 5 caractères
5) ville : texte, d'au plus 40 caractères
6) telephone : texte, de 14 caractères
...
DONNÉE DE LA VENTE
LA VENTE D'UN PRODUIT À UNE PERSONNE
n CARACTÉRISATION D'UNE VENTE
Association entre entités : un produit est vendu à une personne, à une date, avec une quantité, et à un prix éventuellement différent du prix du produit (exemple : réduction)
Identification impossible de manière unique avec ces informations : → identification par un numéro d'ordre
n REPRÉSENTATION
Association entre un produit et une personne avec les attributs :
1) numéro : nombre entier, l'« identificateur »
2) quantité : nombre entier de kilogrammes achetés
3) prix : nombre à 2 décimales du prix payé
4) date : de la vente
MODÉLISATION DE L'ASSOCIATION « VENTE »
Détermination du nombre d'associations possibles (« cardinalité») pour chacune des entités, sous la forme « minimum : maximum »
Conventions du modèle « entité-association » :
relation --> losange avec les attributs propres de l'association et avec les cardinalités notées sur les branches d'entités
1 N désigne ici un nombre non limité a priori, c'est-à-dire plusieurs fois.
Introduction aux bases de données avec Access - Page 14
ASSOCIATION VENTE ET BASE DE DONNÉES
CAS DE L'ASSOCIATION DE LA VENTE
n TRADUCTION DANS LA BASE DE DONNÉES
Définition d'une table pour l'association, où chaque entité impliquée est représentée par sa clef ; ici, clefs d'entités associées : numéro de produit et numéro de personne (l'acheteur)
Schéma de la table « vente » :
1) numero : nombre entier (clef)
2) produit : numéro d'identification dans la table « produit »
3) acheteur : numéro d'identification dans la table « personne »
4) quantite : nombre entier de kilogrammes achetés
5) prix : nombre à 2 décimales du prix payé en centimes
6) date : de la vente
EXEMPLE DE DONNÉES
Exemple : vente n° 1 de 30 Kg de brocolis à Lili le 27/12/2005 au prix de 1 € 90 le kilogramme
personne
numero nom adresse code_postal ville telephone
1 DE LA RUE 9, rue Convention 93100 MONTREUIL 01.48.70.60.00
2 KING KING 1, place d'Italie 75013 PARIS 01.44.08.13.13
3 LILI 3, rue Résistance 95200 SARCELLES 01.34.38.20.00
ASSOCIATION ET BASE DE DONNÉES
TRADUCTION DANS LE MODÈLE RELATIONNEL
n CAS GÉNÉRAL D'UNE ASSOCIATION SANS CARDINALITÉ 1:1
Association représentée par une table, où chaque entité impliquée dans l'association y est représentée par sa clef en tant qu'attribut
Exemple : association « est vendu à »
n CAS PARTICULIER D'ASSOCIATION À CARDINALITÉ MAXIMALE DE 1 (0:1 OU 1:1)
Association représentée dans l'entité à cardinalité 1:1, par l'identificateur de l'autre entité liée en tant qu'attribut
Exemple : association « fournit »
n CLEF PRIMAIRE ET CLEF ÉTRANGÈRE
Exemple : acheteur est une clef étrangère dans la table vente, numéro est la clef primaire dans la table personne
UNE ASSOCIATION EST REPRÉSENTÉE EN GÉNÉRAL PAR UNE TABLE,
SAUF DANS LE CAS OU UNE DES BRANCHES PORTE UNE CARDINALITÉ 1:1
1 Une clef étrangère est aussi appelée « clef externe » et une clef primaire « clef de relation »
DONNÉE DU LOT
UN LOT CORRESPOND ICI À UN SEUL PRODUIT
n CARACTÉRISATION D'UN LOT
Une entité en double association avec produit et personne : un lot contient un produit, et il est fourni par une personne (producteur)
Il faut aussi connaître la taille initiale du lot, la taille du reste (pas encore vendu), la date de la fourniture et le prix d'achat (pour 1 kg)
Exemple : lot de 450 Kg de carottes entièrement vendus, fourni par De La Rue le 29 décembre 2005 au prix de 0,70 € le kg
n COMMENT IDENTIFIER UN LOT DE MANIÈRE UNIQUE ?
Impossible de manière unique avec les informations → identification par un numéro d'ordre
n MODÉLISATION
CAS PARTICULIER D'ASSOCIATIONS AVEC UNE CARDINALITÉ 1:1
UN LOT EST COMPOSÉ D'EXACTEMENT 1 PRODUIT,
UN LOT EST FOURNI PAR EXACTEMENT 1 PRODUCTEUR
Introduction aux bases de données avec Access - Page 17
LOT DANS LA BASE DE DONNÉES
ENTITÉ « lot » EN ASSOCIATION
AVEC « produit » ET « personne »
n REPRÉSENTATION DANS LA BASE DE DONNÉES
Associations « fournit » et « compose » avec une cardinalité 1:1
Schéma de la table « lot » :
1) numero : nombre entier unique d'identification (clef)
2) produit : numéro d'identification dans la table « produit »
3) producteur : numéro d'identification dans la table « personne »
4) taille_initiale : nombre entier de kg (taille à la livraison)
5) taille_reste : nombre entier de kg (pas encore vendus)
6) prix : nombre à 2 décimales, correspondant au prix d'un kilogramme acheté au producteur
n EXEMPLE DE DONNÉES
Le lot n° 1 : 450 Kg de carottes entièrement vendus, achetés au prix de 70 centimes le kilogramme, le 29 décembre 2005 à De La Rue
...
EXERCICE DE MODÉLISATION
1) Un lot peut être vérifié une ou plusieurs fois par un employé (éventuellement différent à chaque fois) afin de déterminer son état général (bon, dégradé ou perdu) ; un employé est caractérisé par sa fonction et son poste téléphonique.
Exemple : le lot n° 1, vérifié le 30/12/2005 comme bon par Joyeux puis dégradé le 3/1/2006 par Lapin.
Proposer une modélisation de l'employé et puis de la vérification
2) La coopérative offre des promotions sous la forme d'un panier de 2 produits, avec un prix attractif au kilogramme
Exemple : le panier « purée hivernale », à 3,2 euros, composé de 1 Kg de carottes et de 1 Kg de panais
REDONDANCE ET DÉPENDANCE FONCTIONNELLE
DUPLICATION INUTILE DE DONNÉES
n EXEMPLE
On définit un référent unique pour toute personne enregistrée, qui correspond à un employé de la coopérative en contact avec elle, identifié par le nom de cet employé et son poste téléphonique
Si on rajoute ces attributs dans la table « personne » :
personne
numero nom ... telephone referent poste
1 DE LA RUE ... 01.48.70.60.00 GERARD 223
2 KING KING ... 01.44.08.13.13 GARANCE 222
3 LILI ... 01.34.38.20.00 GARANCE 222
on voit apparaître rapidement une duplication d'information inutile et dangereuse car si par exemple le poste téléphonique d'un référent change, il faut alors répercuter la modification à chaque répétition
n CONSÉQUENCES
Gâchis de mémoire en cas de répétitions nombreuses
Risques élevés d'incohérence lors de mises à jour incomplètes
n ANALYSE
Exemple : si on connaît le nom du référent, on peut trouver le poste
n SOLUTION
Elimination des dépendances fonctionnelles par décomposition de l'entité en plusieurs entités ; exemple :
LA REDONDANCE EST A PRIORI UN DÉFAUT DANS UNE BASE DE DONNÉES
INCOHÉRENCE ET INTÉGRITÉ RÉFÉRENTIELLE
CAS OÙ LES DONNÉES ENREGISTRÉES SONT INCORRECTES
n EXEMPLE
Cas où un lot fait référence à un produit non enregistré
lot
numero produit producteur taille_initiale taille_reste prix date
1 1 1 450 0 0,70 29/12/2005
2 3 2 100 0 3,00 29/12/2005
3 1 2 300 110 0,60 30/12/2005
produit
numero nom type prix
LEGUME FRUIT
1 CAROTTE X 1,00
2 BROCOLIS X 2,00
4 KIWI X 2,20
n CAUSE POSSIBLE
Suppression de l'enregistrement n° 3 dans la table produit
n EXEMPLE
Toute référence à un produit doit exister dans la table produit
n CONTRAINTE D'INTÉGRITÉ RÉFÉRENTIELLE
Toute valeur d'une clef étrangère doit exister pour la clef primaire
LA COHÉRENCE EST UNE QUALITÉ INDISPENSABLE DES BASES DE DONNÉES
EXERCICE DE MODÉLISATION
DANS LE CADRE DU SYSTÈME D'INFORMATION DE LA COOPÉRATIVE,
INDIQUER LES CONTRAINTES D'INTÉGRITÉ RELATIONNELLE
EXISTE-T-IL D'AUTRES CONTRAINTES DE COHÉRENCE ? LESQUELLES ?
CRÉATION D'UNE BASE DE DONNÉE AVEC ACCESS
L’outil Access
Création d'une base
Définition d'une table
Types de données
Ajout et mise à jour de données
MICROSOFT ACCESS
UN SYSTÈME DE GESTION DES BASES DE DONNÉES (SGBD)
n UN LOGICIEL DE MICROSOFT
payant, pour Windows, dans Office professionnel 1 présentation ici des bases de la version 2007
n GESTION VIA UNE INTERFACE GRAPHIQUE INTÉGRÉE
organisation relationnelle des données dans des tables de la base manipulations via des formulaires et visualisation via des états récupération des données via des requêtes
possibilité de programmation (« macros ») en Visual basic
CRÉATION D'UNE BASE
CAS DE LA BASE POUR LA COOPÉRATIVE
Passage automatique au remplissage d’une nouvelle table
Annuler ce mode en cliquant sur le bouton X à droite de TABLE1
UNE BASE SOUS ACCESS EST ENREGISTRÉE DANS UN FICHIER UNIQUE
AVEC L'EXTENSION .aacdb 1
1 Dans le cas d'Access 97/2000/2003, l'extension est « .mdb » (Microsoft data base »)
CRÉATION D'UNE TABLE : DÉBUT ET CLEF
CAS DE LA BASE « coop »
n LANCEMENT DE LA PROCÉDURE DE CRÉATION onglet CRÉER UNE TABLE puis CRÉATION DE TABLE
n DÉFINITION DU CHAMP DE LA CLEF
saisie du nom de champ 1 puis choix du type NUMÉROAUTO 2
marquage du champ en tant que clef de la table par la commande CRÉATION CLEF PRIMAIRE
TOUTE TABLE DOIT COMPORTER UNE CLEF PRIMAIRE DANS ACCESS 1
1 Le nom d'un champ ne doit pas être trop long (taille maximale de 64) et ne peut pas comporter certains symboles (« . " ! `[ ] ») ; il est sage de n'utiliser que des lettres (sans accents) avec des chiffres (mais pas en début) et éventuellement le trait de souligné (« _ »).
2 Le type « NuméroAuto » correspond à la fixation automatique par Access de la valeur du champ de la clef pour tout nouvel enregistrement, en séquence sans reprise d'un numéro déjà utilisé.
CRÉATION D'UNE TABLE : TEXTE ET LISTE
n DÉFINITION D'UN CHAMP DE TEXTE
saisie du nom de champ puis choix du type TEXTE
fixation du nombre maximal de caractères (TAILLE DU CHAMP 1) et indication de l'obligation d'une valeur non vide pour la cohérence (NULL INTERDIT à OUI, et CHAÎNE VIDE AUTORISÉE à NON)
n DÉFINITION D'UN CHAMP AVEC UNE LISTE DE VALEURS POSSIBLES
type TEXTE avec fixation de la liste des valeurs via l'onglet LISTE DE CHOIX avec les réglages de AFFICHER LE CONTRÔLE à ZONE DE LISTE, ORIGINE SOURCE à LISTE VALEURS et dans CONTENU les valeurs possibles séparées par un point-virgule (« ; »)
CRÉATION D'UNE TABLE : MONÉTAIRE ET FIN
n DÉFINITION D'UN CHAMP MONÉTAIRE 2
saisie du nom de champ puis choix du type MONÉTAIRE
indication de l'obligation d'une valeur non vide pour la cohérence, avec une valeur nulle par défaut d'indication
(VALEUR PAR DÉFAUT à 0, NULL INTERDIT à OUI)
ou via la commande au menu Office, en fixant le nom de la table
CRÉATION DU 1ER ÉLÉMENT DE LA BASE « COOP » : LA TABLE « PRODUIT »
1 Le type « Texte » autorise une valeur jusqu'à 255 caractères au maximum ; au-delà, le type « Mémo » permet l'enregistrement d'un texte jusqu'à 64 000 caractères.
2 Correspond à une valeur exprimée dans l'unité monétaire définie sur le poste (€ en France)
CRÉATION D'UNE TABLE : NUMÉRIQUE ET DATE
n DÉFINITION D'UN CHAMP NUMÉRIQUE
saisie du nom de champ puis choix du type NUMÉRIQUE
conservation du sous-type ENTIER LONG proposé (TAILLE DU CHAMP), d'une valeur nulle par défaut d'indication (VALEUR PAR DÉFAUT à 0) et indication de valeur obligatoire (NULL INTERDIT à OUI)
n DÉFINITION D'UN CHAMP DE DATE
saisie du nom de champ 1 puis choix du type DATE
indication du format (abrégé, exemple : 26/09/2012), de l'obligation d'une valeur non vide pour la cohérence, avec une valeur nulle par défaut d'indication (VALEUR PAR DÉFAUT à 0, NULL INTERDIT à OUI)
1 Le champ ne peut pas s'appeler exactement « date », d'où ici le nom « la_date »
TYPE DE DONNÉES DANS ACCESS
DÉTERMINATION LORS DE LA CRÉATION D'UNE TABLE
Sans partie décimale : Numérique puis Taille du champ à entier (de - 32 767 à + 32 768) ou
entier long (de - 2,1 milliards à + 2,1 milliards)
Avec partie décimale : Numérique puis Taille du champ à décimal (de - 1028 à + 1028, avec tous les chiffres significatifs) ou réel simple (de - 1038 à + 1038, 7 chiffres significatifs) ou réel double (de - 10308 à + 10308, 15 chiffres significatifs)
(de - 1015 à + 1015, avec 4 chiffres significatifs après la virgule)
Cas particulier de numéro d'ordre fixé automatiquement : NuméroAuto (de 1 à 2,1 milliards)
Texte court : Texte (taille limité fixée, 255 caractères au maximum) avec possibilité d'une liste de valeurs via Liste de choix
Texte long : Memo (65 535 caractères au maximum)
Horodate (date et heure ensemble) : Date/Heure avec en option présentation réglable via Format dans l'onglet Général
AJOUT DE DONNÉES
INSERTION D'ENREGISTREMENT DANS UNE TABLE DE LA BASE
Saisir successivement les données pour chaque enregistrement en laissant Access fixer automatiquement la valeur de la clef, et en passant à la zone suivante avec les touches ENTRÉE ou TAB
Terminer la saisie en refermant la fenêtre
DANS LE CAS D'UN CHAMP DE TYPE NUMÉROAUTO, ACCESS FIXE SA VALEUR
MISE À JOUR DE DONNÉES
MODIFICATION OU SUPPRESSION DANS UNE TABLE DE LA BASE
Terminer la mise à jour en refermant la fenêtre
Ouvrir la table, repérer la ligne de l'enregistrement puis cliquer avec le bouton droit sur son bord gauche
Commande SUPPRIMER L'ENREGISTREMENT
Confirmer enfin la demande de suppression
IL PEUT DONC Y AVOIR DES VALEURS ABSENTES POUR UNE CLEF SI NUMÉRO,
EXEMPLE : 1 3 4 5 6 ... (2 SUPPRIMÉ)
EXERCICES SUR LA CRÉATION D'UNE BASE
Requêtes de recherche
Critères simples : comparaison, correspondance, présence
Critères avancés : combinaisons, calculs, alternatives
Compléments sur les requêtes : doublons, tri, limitation, opérations, regroupements
RECHERCHE DE DONNÉES : REQUÊTE
RECHERCHE SIMPLE D'ENREGISTREMENTS DANS UNE TABLE DE LA BASE
1) CRÉATION DE LA REQUÊTE
Onglet CRÉER puis bouton CRÉATION DE REQUÊTE
2) INDICATION DE LA TABLE CONCERNÉE
Sélectionner la table puis cliquer sur le bouton AJOUTER
RECHERCHE DE DONNÉES : REQUÊTE (SUITE)
EXEMPLE N° 1 : TROUVER TOUS LES LÉGUMES
3) INDICATION DES DONNÉES À AFFICHER
Régler CHAMP à produit.* pour voir tous les champs en résultat 1 et vérifier que AFFICHER est bien coché pour la colonne
4) INDICATION DU CRITÈRE DE RECHERCHE
Ici afin d'obtenir tous les légumes, ajouter le champ type décocher AFFICHER, et à CRITÈRES taper la valeur LEGUME 2
UNE RECHERCHE RENVOIE DES DONNÉES SOUS LA FORME D'UNE TABLE
1 On peut bien sûr ne demander à afficher que certains champs et non l'ensemble de l'enregistrement
2 Après la saisie de valeur de texte, Access ajoute automatiquement les apostrophes (") autour
REQUÊTE : CRITÈRES SIMPLES
EXPRESSIONS ÉLÉMENTAIRE DE CRITÈRES
n NOTATIONS DE VALEURS
texte 1 entre guillemets (" 2), nombre entier, décimal (,) ou en notation scientifique (e), date entre dièses (# 3) avec séparation de jours, mois et année par la barre oblique (/) ou un trait d'union (-), heure avec séparation de minute et seconde par deux-points (:),
valeur inexistante (null), logique (vrai, faux), choix (oui, non)
exemples : "LEGUME" legume -5 1,12e5 #30/6/2009#
n COMPARAISON AVEC UNE VALEUR
égalité 4 (=), différence (<>), inférieur (<), inférieur ou égal (<=), supérieur (>), supérieur ou égal (>=)
n CORRESPONDANCE AVEC UN TEXTE GÉNÉRIQUE : comme motif
où motif peut contenir un ou plusieurs caractères génériques 5 :
* (aucun ou toute suite de caractères), ? (un caractère quelconque et un seul)
# (un chiffre quelconque et un seul, dans du texte)
exemples : comme "*CHOU*" comme "fran?oise"
n COMPARAISON SELON UN INTERVALLE : entre valeur1 et valeur2
s'applique à des valeurs numériques, de date ou de texte 6
exemples : entre 1 et 5 entre "a" et "i"
n PRÉSENCE DANS UNE LISTE : in(valeur1;valeur2 ...) exemple : in("panais";"carotte";"poireau")
n VALEUR ABSENTE : est null
avec la possibilité d'inversion : est pas null
1 Access ne fait pas la différence entre les lettres minuscules et majuscules lors d'une recherche
2 Ajout automatique des guillemets autour d'un texte si pas d'ambiguïté
3 L'encadrement d'une date par des dièses (#) est facultatif si pas d'ambiguïté
4 En l'absence de notation d'une comparaison, c'est l'égalité qui est alors appliquée
5 Pour utiliser un symbole générique comme véritable symbole à chercher (par exemple l'astérique), il faut le noter entre crochets ([ ]) ; exemple : [*]
6 Ordre lexicographique des symboles (selon l'alphabet informatique, chiffres avant lettres)
REQUÊTE : CRITÈRES AVANCÉS
EXPRESSIONS PLUS COMPLEXES DE CRITÈRES
n COMBINAISON LOGIQUE
conjonction (et), disjonction (ou), négation (pas) exemple : comme "*chou*" et pas "*bruxelle*"
n VALEUR ISSUE D'UN CALCUL
opérations arithmétiques (+ - * /) et parenthèsage (), avec possibilité d'utiliser des fonctions 1
exemples : 55 * 1,196 racine(500)
n REPRISE D'UN CHAMP DE L'ENREGISTREMENT
le champ doit être présent dans une colonne de la requête notation du nom du champ entre crochets : [nom] exemple : > [prix_achat] * 1,4
n CALCULS SUR LES DATES ET HEURES
valeur d'une date considérée comme un nombre de jours,
avec la date du jour désignée par Date()
l'heure courante désignée par Temps()
exemple : Date() - 60 (60 jours avant aujourd'hui)
n CRITÈRES ALTERNATIFS
plusieurs critères où l'un au-moins doit être vérifié,
notés en utilisant les lignes supplémentaires libellées par OU :
exemple : prix de légume supérieur à 1 € ou de fruit supérieur à 2 €
1 Liste des fonctions dans l'aide d'Access ou manipulable via le générateur d'expression (cf. page 40)
REQUÊTE : ASSISTANCE
ASSISTANCE POUR LA SAISIE D'UN CRITÈRE
n MENU SPÉCIFIQUE
clic-droit dans la zone du critère et commandes CRÉER ou ZOOM
CRÉER : GÉNÉRATEUR D'EXPRESSION
saisie assistée des comparaisons, fonctions et calculs
n ZOOM 1
agrandissement de la zone de saisie du critère
1 Raccourci au clavier pour obtenir le zoom : MAJUSCULE+F2
REQUÊTE : COMPLÉMENTS
COMPOSANTS OPTIONNELS DE LA REQUÊTE
n VALEURS DISTINCTES
élimination de doublons dans les résultats : 1
(ou clic droit dans le fond du panneau de la requête et PROPRIÉTÉS) puis réglage de la zone VALEURS DISTINCTES
exemple : demande de valeurs distinctes
n LIMITATION
élimination de doublons dans les résultats : 1
(ou clic droit dans le fond du panneau de la requête et PROPRIÉTÉS) puis réglage de la zone PREMIÈRES VALEURS
exemple : au plus les 5 premiers résultats
Voir aussi le bouton de paramètrage de la requête :
n TRI
classement des résultats selon un ou plusieurs champs (tri successif dans l'ordre des colonnes de la requête)
exemple : tri par type croissant puis par nom croissant
1 Attention à ne pas appliquer cette commande lorsqu'une cellule de champ est sélectionnée car on obtient alors les propriétés du champ et non pas celles de la requête.
REQUÊTE : OPÉRATIONS
CALCULS PARTICULIERS SUR LES DONNÉES
n PRINCIPE D'UNE OPÉRATION 1
Résultats sous la forme de calculs effectués sur une colonne des données extraites de la base par la requête
via clic-droit dans le panneau de la requête et TOTAUX, ou bouton
n COMPTAGE DE DONNÉES
Nombre d'enregistrements : opération COMPTE
n TOTAL
n STATISTIQUES SIMPLES
Extrema : opérations MIN et MAX
Moyenne : opération MOYENNE
Ecart-type et variance : opérations ÉCARTTYPE et VAR
LE RÉSULTAT DE L'OPÉRATION EST TOUJOURS SOUS LA FORME D'UNE TABLE
1 Une opération dans une requête est aussi appelée une « agrégation » de données
REQUÊTE : REGROUPEMENTS
CALCULS SUR LES DONNÉES REGROUPÉES
n PRINCIPE D'UN REGROUPEMENT
Regroupement des données extraites de la base par la requête selon les différentes valeurs d'un champ avant calcul
Opération particulière : REGROUPEMENT
n EXEMPLES
Comptage des produits par type
Nombre de de lots et taille globale par date
CHAQUE COLONNE DE LA REQUÊTE DOIT ÊTRE UNE OPÉRATION
Introduction aux bases de données avec Access - Page 43
REQUÊTE : EXPRESSIONS DE CALCUL
CALCULS PARTICULIERS SUR LES DONNÉES
n PRINCIPE DU CALCUL DANS UN CHAMP
Champ spécial (« calculé ») avec la double indication d'un nom et d'une expression de calcul
Notation particulière dans la ligne du CHAMP :
1) nom de nouveau champ, terminé par deux-points (« : »)
2) calcul sous la forme d'une expression 1, avec : − noms de champ indiqués entre crochets (« [ ] ») − calculs arithmétiques (+ - * /)
n EXEMPLE
Retraits effectués sur chaque lot :
retraits: [taille_initiale]-[taille_reste]