Tuto Acces Nab
Tuto Acces Nab
Tuto Acces Nab
BASE DE DONNEES
ACCESS
Soad LHAROUI 1
Cours ACCESS
Introduction
Ce type de base de données a plusieurs avantages comparés à une base de données simple aussi appelée "flat file". Elle
utilise beaucoup moins d'espace parce qu'elle réduit au minimum les redondances ou les répétitions des données.
Pour mieux comprendre l'avantage d'un système de gestion de base de données relationnel (SGBDR), utilisons un
exemple de factures pour comparer ces deux types de BD et pour montrer certains concepts de base d'un SGBDR.
Regardons quelques-unes des données que l'on retrouve normalement sur une facture:
Ex.: Date, Numéro de facture, Numéro du vendeur, Numéro du produit, Quantité vendue, Prix unitaire, Description
du produit, sous total, Taxes, Total ...
L'idée d'une base de données relationnelle est de répartir les données dans plusieurs BD ou tables et de créer des
connexions, des points communs, des liens, des relations entre chacune d'elles. Voici comment les variables
pourraient être divisées dans une BD relationnelle.
Dans le tableau précédent, la table FACTURE va chercher les informations sur le client de la table CLIENT par le
champ commun NO. CLIENT. Il est inutile de réécrire les données du client plusieurs fois. On peut aller chercher
l'information grâce à une relation entre ces deux tables: soit par le champ No. Client. La même chose se produit pour
les informations nécessaires pour les tables VENDEUR et INVENTAIRE par leurs variables communes NO.
VENDEUR et NO. PRODUIT respectivement.
Soad LHAROUI 2
Cours ACCESS
De cette manière, il est inutile de réécrire les données redondantes ou répétitives. Ceci conserve de l'espace pour
d'autres données. Pour les trois factures de l'exemple, on économise de l'espace et du temps à ne pas avoir à réécrire
les informations sur le client ABC ni la description et le prix unitaire du produit 415.
Définitions
L'utilisation d'une base de données apporte aussi de nouveaux termes à comprendre. Voici une liste des termes qui
seront utilisés pour toutes les pages sur les sujets d'Access.
Champ: Une information nécessaire sur une personne, une chose ou un événement. Ex.: couleur, taille,
modèle, date, nom, prénom, téléphone, adresses, description, commentaires etc.
Enregistrement: Un regroupement de champs qui décrient une personne, une chose ou un événement. Ex.: nom,
prénom, date de naissance, téléphone, numéro d'assurance sociale ou compagnie, adresse, téléphone,
télécopieur, personne responsable ou département, personne responsable, téléphone.
Le champ téléphone est utilisé de trois manières différentes. Il est soit le numéro de téléphone d'un
employé, d'une personne dans une compagnie ou d'un département.
Table: Un regroupement d'enregistrements sur un thème un commun. Ex.: employés, inventaire, client,
fournisseurs, véhicules, contacts etc.
Base de Un regroupement de tables, de requêtes, de formulaires, et de rapports et de programmation qui
données: constitue un système complet. Ex.: gestion de la facturation, gestion de l'inventaire, immatriculation
des véhicules, carnet de numéro de téléphone, réservations etc.
La définition d'une base de données prend maintenant un sens plus large qu'auparavant. Ce n'est plus juste un fichier
qui contient de l'information utile pour l'utilisateur. Il contient aussi les requêtes, les formulaires, les états, les macros
et les modules pour développer une "application" ou un "système" qui répond aux besoins spécifiques de l'utilisateur.
Pour vous aider à comprendre la création d'une base de données, cette page va démontrer les étapes à suivre.
L'exercice va consister à créer une base de données pour la facturation d'une entreprise.
La première étape de la création d'une base de données est l'analyse. C'est d'ailleurs probablement l'étape la plus
importante. Si vous passez trop rapidement sur cette étape, vous allez ensuite perdre beaucoup de temps et d'efforts à
refaire ce qui aurait dû être accompli auparavant.
Avant de créer votre base de données, il faut avoir une idée claire de ce que seront vos besoins pour celle-ci. Il faut
préparer une analyse approfondie de vos besoins. Quelles sont les informations dont vous avez besoin ? Ex.: Quelles
informations ai-je besoin sur mes clients, sur mes fournisseurs, sur mon inventaire, sur mon personnel etc.
Une technique parmi d'autres que vous pouvez utiliser consiste à fonctionner "à l'envers" (top-down). Songez aux
formulaires et aux états dont vous aurez besoin. Connaissant les résultats dont vous avez besoin, il faut découvrir
quels sont les champs nécessaires pour atteindre ceux-ci. Par exemple, il faut connaître les quantités vendues et à quel
prix unitaire avant de connaître le total des ventes .
Soad LHAROUI 3
Cours ACCESS
Vous pouvez aussi utiliser la technique "bottom-up". À partir de la base, vous déterminer toutes les informations qui
sont nécessaires pour les requêtes, les formulaires et les états de votre base de données. Vous pouvez utiliser les deux
techniques pour vous assurer d'avoir toutes les informations nécessaires.
Pour les besoins de l'exercice, prenez quelques instants et écrivez sur une feuille quels champs que l'on retrouve sur
une facture. Essayez de trouver autant de champs que vous pouvez.
Date, Numéro de facture, Numéro de client, Adresse de facturation du client, Ville, Numéro de téléphone, Numéro de
télécopieur, Adresse de courriel (courrier électronique), Adresse de livraison, Personne contact, Conditions de
paiement, Numéro de produit, Description du produit, Prix unitaire du produit, Quantité achetée, Total pour l'item,
sous total, TPS (Taxe sur le Produits et Services, 7% du total), TVQ (Taxe de vente du Québec, 7,5% du total et de la
TPS, TVA en Europe), Grand total, Escompte, Bon de commande, Numéro du vendeur, Nom du vendeur ...
Ouf ! C'est peut être un peu plus que vous vous attentiez.
Il faut ensuite regrouper en entités toutes ces informations (champs) dans une table ou un "thème" en commun. Ex.:
Est-ce que le champ "Escompte" ou "Conditions de paiement" ira dans l'entité (table) "Facture" ou avec "Client" ?
Je vais premièrement vous démontrer ma technique pour regrouper les champs dans des tables et pour déterminer les
relations entre ces tables. Par après, on discutera de la technique de la normalisation. Ma technique est un peu plus
simpliste et demande un peu d'expérience. L'utilisation de la technique de la normalisation est une manière difficile
d'accomplir à accomplir et à réaliser. Mais elle est infaillible lorsqu'on la comprend et on l'applique correctement. Ces
deux manières veulent atteindre le même résultat: regrouper des champs dans des tables de manière la plus efficiente
possible. Premièrement ... ma technique.
Le concept est de distribuer les champs dans le plus grand nombre de tables possibles. Mais il y a certaines règles à
suivre:
Regroupement des champs dans des tables qui peuvent être reliées.
Pas de dédoublement de champs, sauf pour les champs en commun.
Pas de dédoublement d'entrée d'information.
Pas de champs calculables dont on peut avoir le résultat avec les informations des autres champs des tables. Ex.:
Total = Qté * Prix unitaire
Il faut regrouper les champs dans des tables. Quels sont les champs que l'on peut regrouper ensemble ? Pour vous
aider dans cette tâche, basez-vous sur des éléments de la vie de tous les jours, du concret. Cela aide aussi de connaître
les processus de l'entreprise. Quelles sont les opérations accomplies ? Qui utilise quelle information ? Pour la facture,
on retrouve des éléments qui distinguent la facture, le client, les produits et le vendeur. Ce sont les quatre tables qui
seront utilisées.
S'assurer que les champs sont dans la bonne table. Qu'il n'y a pas de tables cachées à l'intérieur des autres.
À l'exception des champs en commun qui servent à "relier" les tables, un champ ne devrait pas se retrouver dans
plusieurs tables.
Une clé primaire est un champ, ou une série de champs, qui permet de différencier un enregistrement des autres. Par
exemple, bien qu'il puisse avoir plusieurs factures avec la même date, la même quantité achetée, au même client ou
avec le même vendeur, il n'y aura pas deux factures avec le même numéro de facture. Une clé primaire n'est pas obligatoire
pour une table. Elle le devient lorsque vous voulez relier deux tables. L'une des tables doit avoir une clé primaire.
Soad LHAROUI 4
Cours ACCESS
Essayez de déterminer quel champ serait approprié pour une clé primaire pour la table Employés. Certainement pas
le champ sexe. À moins qu'il y ait seulement un homme et une femme dans l'entreprise. Cela limite un peu la
croissance de l'entreprise ! Fumeur ? Permanence ? Même chose. Il y a seulement deux valeurs possibles (H ou F, Oui
ou Non ...). Puisqu'on ne peut pas entrer deux fois la même valeur dans une clé primaire, ceux-ci ne sont pas de bon
choix.
Il est possible d'utiliser le champ Nom de famille aussi longtemps que deux personnes dans l'entreprise n'aient pas le
même nom. Ensuite, il est toujours possible de créer une clé primaire composé de deux champs: nom de famille et
prénom. Cette clé va fonctionner correctement jusqu'à ce que deux employés aient le même prénom et le même nom.
Pour régler ce problème, il est possible de créer une clé primaire composée du nom de famille, du prénom et de la
date de naissance. Cette clé primaire va fonctionner correctement jusqu'à ce que ... Cela peut continuer longtemps.
Rendu à un certain point, vous verrez qu'il est préférable d'avoir un champ nommé Numéro d'employé ou Numéro
d'assurance social pour distinguer chacun des enregistrements de la table. Mais il y a des occasions où il est nécessaire
d'avoir une clé primaire qui est composée de plusieurs champs. L'une de ces situations sera expliquée un peu plus loin
sur cette page.
Prenez quelques instants pour essayer de déterminer quels champs dans la table seraient appropriés pour être la clé
primaire ou être dans la clé primaire.
Vous n'êtes pas obligé de relier toutes les tables l'une à l'autre. Il est possible d'accéder à l'information tant que les
tables soient reliées directement ou indirectement en elles. Vous trouverez plus de détails sur la page des relations.
Il existe trois types de relations : 1 à 1, 1 à plusieurs et plusieurs à plusieurs. Afin de ne pas répéter le texte, vous
trouverez toutes les informations nécessaires pour déterminer le type de relation et comment créer des relations sur la
page sur les relations.
Pour l'exemple qui est utilisé sur ce site, voici comment relier les tables dont les informations se retrouvent sur une
facture.
Soad LHAROUI 5
Cours ACCESS
L'image ci-dessus démontre la liste des tables avec les champs qui les composent. De plus les lignes indiquent les
relations entre les tables. La relation de types plusieurs à plusieurs requiert une tables intermédiaire composé, au
minimum de la clé primaire des deux tables à relier. C'est la raison d'être de la table Transition Fact-Inv qui pourrait
tout aussi s'appeler Items de la facture.
L'avantage d'une base de données relationnelle est d'éviter au maximum les répétitions ou les redondances
d'information. La normalisation sert à séparer la liste des champs en plusieurs tables pour avoir une base de données
qui est plus efficace. On parle de retirer progressivement quelques problèmes que l'on retrouve dans les bases de
données pour afficher la base de données sous différentes formes normales (1ère, 2ième, 3ième ...) Pour le moment,
nous allons seulement regarder les trois premières formes normales.
Pour atteindre la première forme normale, il faut éliminer les groupes répétitifs en les séparant en plusieurs tables. Le
travail à accomplir pour atteindre la première forme normale est d'éviter complètement les répétitions d'entrée de
données.
Donc, il peut avoir plusieurs numéros de produits pour une même facture. Ceci est de la redondance et ce n'est pas
une forme appropriée pour conserver de l'information dans une base de données relationnelle. Comment fera-t-on
ensuite pour relier une modification au bon produit ? Il faut donc mettre Numéro de produit dans une table autre que
Facture. On peut en même temps déplacer les champs similaires dans l'autre table. Le test de la deuxième forme
normale va s'assurer que les champs sont à la bonne place.
Il faut s'assurer que l'utilisateur ne va entrer plusieurs fois la même information. Par exemple, cela ne serait pas
efficace d'avoir une table "Facture" qui contiendrait aussi les champs "Nom du client", "Adresse de livraison",
"personne contact". Cela ne passerait pas à la première forme normale. La raison est qu'il faudrait que l'utilisateur
rentre pour chaque facture la même information qu'il a déjà entré dans les factures précédentes pour le même client.
Après tout, combien de fois peut-on entrer la même adresse ? Pas vraiment efficient ! C'est pour cette raison qu'il faut
"découper" la liste des champs dont vous avez besoin dans plusieurs tables pour avoir une forme efficiente d'entrée et
d'utilisation des données. La même situation se répète pour les informations sur le vendeur.
Clients: Numéro de client, adresse de facturation, ville, numéro de téléphone, numéro de télécopieur, adresse de
courriel, adresse de livraison, personne contact, escompte, conditions de paiement
Inventaire: Numéro de produit, description, prix unitaire, quantité achetée, quantité disponible
Il faut ensuite déterminer la clé primaire pour chaque table. Cela est nécessaire pour la seconde forme normale. Une
clé primaire est un champ, ou une série de champs, qui permet de distinguer un enregistrement des autres. Pour la
table Facture, la clé primaire est le champ Numéro de facture. Le contenu de tous les autres champs de la table peut se
répéter ce qui serait contraire à la convention d'une clé primaire.
Pour se rendre à la deuxième forme normale, il faut premièrement avoir passer à travers la première forme normale. Il
faut ensuite éliminer les dépendances partielles. Cela veut dire qu'il faut s'assurer que tous les champs de la table
dépendent de la clé primaire de la table. Sinon, il faudra créer une nouvelle table ou déplacer le champ.
Soad LHAROUI 6
Cours ACCESS
Le problème pour ce niveau est le champ Quatité achetée. Il dépend en même temps du numéro de facture et du
numéro de produit. Une facture peut avoir plusieurs produits. Mais un produit peut aussi se retrouver sur plusieurs
factures. Il y a donc une relation de plusieurs à plusieurs entre ces deux tables.
Clients: Numéro de client, adresse de facturation, ville, numéro de téléphone, numéro de télécopieur, adresse de
courriel, adresse de livraison, personne contact, escompte, conditions de paiement
Voici un exemple du contenu de la table items. Pour cette base de données, la table est appelé Transition Fact-Inv
puisqu'elle permet de relier les tables Facture et Inventaire. Vous remarquez aussi que la clé primaire de cette table est
composé de deux champs: Numéro de facture et Numéro de produit. Ce sont aussi les clés primaires des tables
Facture et Inventaire.
2 1 50
2 2 100
Dans cette table, un même numéro de facture et un même numéro de produit peuvent être utilisé plusieurs fois. Mais
Troisième forme normale: éliminer les dépendances transitives. Il faut s'assurer qu'il n'y a pas de tables qui soient
cachées parmi les autres.
Aussi, les tables ne devraient jamais contenir de champs calculés. Par exemple, il ne devrait pas avoir les champs "sous
total", "Total", "TPS", "TVQ", "TVA" ou "Autres taxes" dans les tables puisqu'il est possible de les calculer à partir des
données qui sont déjà dans les tables. Il est possible d'avoir le "sous total" en multipliant les "Quantité vendue" par les
"Prix unitaire". Donc, il est inutile de l'avoir dans les tables.
La troisième étape est de déterminer les relations entre les différentes tables. Il faut regarder quelles sont les relations
possibles entre les entités. Pour avoir une relation, deux tables doivent avoir au moins un champ en commun. On peut
relier une facture à un client par le champ "ID_Client". Ou encore, relier un produit à une facture par le champ
"ID_Produit" etc. Vous devriez à ce moment vous apercevoir que certains champs seraient mieux placés dans une
autre entité. Une fois que vous avez réalisé les regroupements et déterminé les relations, vous avez votre base pour la
création des tables.
Maintenant que vous avez les entités et les champs qui les composent, pensez à quoi devrait ressembler vos
formulaires et vos états. Est-ce que les champs que vous avez choisis répondent à tous vos besoins ? Prenez tout le
temps nécessaire pour l'analyse. Il vous coûtera beaucoup plus de temps et d'effort si vous passez trop rapidement à la
création et oubliez des éléments importants.
Soad LHAROUI 7
Cours ACCESS
A/ Quels sont les renseignements dont j’aurai besoin? La réponse à cette question va déterminer les champs à
définir pour la table.
Soad LHAROUI 8
Cours ACCESS
Remarque : pour les champs de type numérique, il faut choisir la taille la plus petite possible correspondant au
besoin par exemple pour un champ Nombre d'enfants le type octet suffit, pour des montants avec virgule la taille
réél simple suffit largement)
LE THEME
Votre mission (si vous l'acceptez) va consister à créer la table CLIENT appartenant à la base de données
PAPETIERE.MDB
2) Sélectionnez le type de
données en cliquant sur le
bouton « liste déroulante »
Enregistrements à saisir
Code NOMCLI ADRCLI VILLECLI PAIEMENT ENCOURS PLAFO CPCLI
Soad LHAROUI 9
Cours ACCESS
« Mode création »:
* Si la table client est fermée, sélectionnez celle-ci dans la fenêtre « Base de données » et cliquez sur le
bouton « modifier » :
1) Sélectionner la table
CLIENT
2) Le mode de paiement étant une donnée répétitive, vous allez codifier ce champ (il est plus rapide de saisir un
code plutôt qu’une expression du type « CHEQUE A RECEPTION ») on va donc insérer un nouveau champ :
CODEREG juste avant le champ PAIEMENT :
* Pour insérer un champ : on sélectionne la ligne avant laquelle on veut insérer le champ (ici on
sélectionne la ligne PAIEMENT)
Soad LHAROUI 10
Cours ACCESS
Informations
LE FORMAT D’AFFICHAGE
Le format d'un champ définit la manière dont doivent être présentées les données. On peut utiliser dans
certains cas des formats prédéfinis ou alors personnaliser son format (pour les formats prédéfinis faites donc
des essais!!!)
Exemples de formats personnalisés (à définir dans la propriété FORMAT de la table en mode création :
Soad LHAROUI 11
Cours ACCESS
LES REGLES DE VALIDATION limitent les valeurs que doit prendre le champ et permettent donc un
contrôle de saisie
LES MESSAGES D’ERREUR : lorsqu’une règle de validation a été définie, on peut provoquer l’affichage d’un
message en cas d’erreur.
ACCESS utilise des EXPRESSIONS DE VALIDATION en Français.
Par exemple dans la propriété "VALIDE SI " on peut utiliser les expressions suivantes :
ACTIVITE
Paramétrez les propriétés de certains champs de la table CLIENT en tenant compte des indications ci-dessous
Soad LHAROUI 12
Cours ACCESS
Astuces : pour la propriété Valide si, Access convertit la première lettre de chaque mot clé en majuscule. S’il ne
le fait pas, cela traduit une erreur
4) Vous allez vérifier les formats et les règles de validation en saisissant les cinq enregistrements suivants de la
table CLIENT :
Code NOMCLI ADRCLI code VILLEC COD PAIEMENT ENCOURS PLAFON
client postal LI ERE CLI DCLI
G
00006 Mécanord ZAC les 59450 SIN LE 3 60 jours fin de 269 000.00 280000
Epis NOBLE mois F
00007 Le soleil de 125, place 59500 DOUAI 4 90 jours fin de 29 600.00 F 50000
Tunis du Barlet mois
00008 Joue Club 356, rue de 59500 DOUAI 4 90 jours fin de 176 200.00 190000
Bellain mois F
00009 Micropuce 147, rue de 59500 DOUAI 3 60 jours fin de 72 350.00 F 95000
Paris mois
00010 Centre 15, rue de 59187 DECHY 3 60 jours fin de 294 150.00 310000
français de Saint mois F
restauration Sulpice
Basculez en mode Feuille de données et effectuez la saisie.
1) La saisie directe dans la table client n’est pas agréable, aussi vous allez créer un formulaire de saisie que vous
appellerez :
Saisie modification des clients
Mode opératoire :
- Fermez la table CLIENTS,
- Dans la fenêtre base de données, sélectionnez l’objet
- Cliquez sur le bouton Nouveau
Soad LHAROUI 13
Cours ACCESS
Soad LHAROUI 14
Cours ACCESS
2) Vous allez saisir les sept derniers enregistrements de la table CLIENT en utilisant le formulaire précédent :
LE THEME
Vous devez compléter la base de données de la société PAPETIERE en créant les tables
- REGLEMENT,
- CATEGORIE de produits,
- PRODUIT.
Vous devrez créer les formulaires de saisie correspondants afin de saisir les données.
Le contenu des tables à créer est le suivant
REGLEMENT CATEGORIE
CODERE MODEREG CODECAT LIBELLECAT
G ACC Accessoires
1 cheque a reception fournitures
2 30 jours fin de mois MOB Mobilier petit
3 60 jours fin de mois matériel
4 90 jours fin de mois OUV Ouvrages
5 cheque a 60 jours PAP Papeterie
Soad LHAROUI 15
Cours ACCESS
PRODUIT
CODEAR DESIGNART TVAAR PUHT CODECAT
T T
1 Transparents photocopieurs/10 19.60% 30.00 F ACC
2 Transparents manuels/10 19.60% 13.50 F ACC
3 Stylo à transparents effaçables 19.60% 7.50 F ACC
4 Stylo à transparents permanents 19.60% 7.50 F ACC
5 Boîtes de disquettes 3,5''/10 19.60% 35.00 F MOB
6 Boîte de CD-R 74 mn/10 19.60% 99.00 F MOB
7 Boîte de CD-RW /10 19.60% 152.00 F MOB
8 Calulatrice scientifique Cazio 19.60% 225.00 F MOB
9 Calculette Euro 19.60% 27.00 F MOB
10 Ramette papier multi usages 19.60% 45.00 F PAP
11 Papier qualité photo /20 19.60% 58.00 F PAP
12 Support mural pour moniteur 19.60% 352.00 F MOB
13 Filtre anti-reflet pour moniteur 19.60% 159.00 F MOB
14 Créer un site avec Front Page 5.50% 125.00 F OUV
15 Programmation en javascript 5.50% 250.00 F OUV
16 Les grandes courants du management 5.50% 75.00 F OUV
17 Le mémento du comptable débutant 5.50% 226.00 F OUV
18 WebCam Sauni 19.60% 467.00 F MOB
19 Kit de reconnaissance vocale pour PC 19.60% 450.00 F MOB
ACTIVITE
2) table CATEGORIE
b) Créez un formulaire de saisie des catégories de produits, le nom du formulaire est « Saisie des catégories
de produits »
3) Table REGLEMENT
3) Table PRODUIT
b) Créez le formulaire de saisie des produits (nom du formulaire : Saisie des produits)
Soad LHAROUI 16
Cours ACCESS
Les requetes
Introduction
L'un des éléments les plus puissants d'une base de données est la capacité de faire une recherche sur une masse de
données entreposée dans la base de données. Il est ensuite possible de faire des analyses et d'en sortir des
tendances.Par exemple, vous n’avez pas besoin de voir toute la liste des clients si vous avez seulement besoin du
numéro de téléphone de l’un d’eux. Il y a aussi des requêtes pour certaines requêtes d'action telles que la mise à jour et
la suppression de données.
La prochaine section consiste à comprendre la procédure de création d'une requête en créant une qui donnera des
informations sur les employés. Il faut premièrement avoir créé la table "employé" de la page de création de tables.
Access vous offre plusieurs manières de créer une requête: en utilisant l'un des assistants qu'Access vous offre ou en la
bâtissant du début à la fin en mode création.
Le mode Création est celui qui vous permet toutes les options pour la création d'une requête. Cependant, il n'y a pas
d'assistant pour vous aider. C'est en partie pour cette raison que cette page existe; pour vous démontrer le potentiel
des requêtes.
L'assistant requête simple vous demande la liste des champs que vous voulez voir et affiche le résultat. Il n'y a pas
de critères de sélection. Il affiche les champs demandés pour tous les enregistrements.
L'assistant requête analyse croisée vous demande quelques questions pour créer un tableau croisé. Vous pouvez
facilement savoir le nombre, la somme, la moyenne et d'autres opérations d'un champ par rapport à un autre. Par
exemple, vous pouvez savoir le nombre d'employés qui travaille dans l'entreprise par lieu de travail et par occupation.
Ou, quels types de produits achètent les différents clients de l'entreprise. Cela peut devenir un outil d'analyse
puissant.
L'assistant requête trouver les doublons est aussi très intéressant lorsque vous ayez des difficultés à créer des
relations entre les tables. L'une des raisons pour qu'Access refuse de créer une relation entre les tables est qu'il y a un
doublon illégal dans l'une des tables. Cette requête vous permettrait de savoir quel enregistrement a un contenu d'un
Soad LHAROUI 17
Cours ACCESS
Vous pouvez créer une requête à partir d'une table ou même d'une autre requête. Il est même possible d'avoir une
requête qui est composée de champs provenant de plusieurs tables ou de requêtes. Access va vous demander de la
liste des tables et des requêtes de choisir laquelle ou lesquelles vous voulez ajouter à votre nouvelle requête.
Sélectionnez, une à la fois, les tables et les requêtes et appuyez sur le bouton ajouter. Une fois que vous aurez
sélectionné la table, la requête ou une combinaison des deux dont vous avez besoin, appuyez sur le bouton Fermer.
Il est possible de créer une requête à partir de plusieurs tables ou de requêtes ou une combinaison des deux. Si, pour
une raison ou une autre, vous avez oublié une table ou une requête, vous pouvez en ajouter en mode création en
appuyant sur le bouton . Il faudra ensuite répéter l'opération ci-dessus.
Pour les besoins de formation, les prochaines requêtes seront tous composées à partir de la table Produit.
Exemple :
La première ligne sert pour sélectionner les champs dont vous avez besoin pour votre requête. La seconde ligne est
pour déterminer l'ordre d'affichage des données. La troisième ligne est pour déterminer si le champ doit être affiché
ou pas. Pour certaines conditions, il est préférable de ne pas afficher un champ. La quatrième ligne et les lignes
suivantes servent à déterminer les critères pour afficher un enregistrement.
Access vous offre six genres de requêtes. Chacune est spécialisée pour un certain genre de recherche ou d'opération.
Requête sélection : Affiche les enregistrements qui répondent aux critères demandés. C'est le type que vous allez
utiliser le plus souvent. Il affiche seulement les enregistrements qui répondent aux critères sélectionnés.
Requête analyse croisée : Affiche un tableau de synthèse selon les champs demandés.
Requête nouvelle table: Création d’une nouvelle table avec les champs demandés selon les critères demandés.
Requête mise à jour: Mise à jour des enregistrements selon les critères demandés.
Requête ajout: Ajoute des enregistrements d’une autre table selon les critères demandés.
Soad LHAROUI 18
Cours ACCESS
Requête suppression: Élimine des enregistrements selon les critères demandés. Il est possible d'effacer en même
temps un groupe d'enregistrements qui répondent aux critères demandés.
Parmi les tables et les requêtes que vous avez choisies, vous devez choisir les champs dont vous avez besoin pour
votre nouvelle requête. Cela veut dire que vous n’êtes pas obligé d’utiliser tous les champs; seulement ceux
nécessaires pour la requête. Aussi, le caractère " * " situé au début de chaque table qui se retrouve dans une requête
indique que vous pouvez ajouter tous les champs de celle-ci dans la requête dans l'ordre qu'ils sont présentement dans
la table. Ceci s'applique aussi aux autres requêtes que vous pouvez ajouter à votre requête.
Répétez l’opération jusqu’à ce que vous ayez tous les champs nécessaires à la requête.
Soad LHAROUI 19
Cours ACCESS
De la liste des tables et requêtes que vous avez sélectionnée, placez le pointeur sur l’un des champs que vous voulez
dans votre nouvelle requête.
Appuyez et gardez votre doigt sur le bouton gauche de la souris.
Une petite boîte blanche va apparaître. Ceci est pour indiquer que vous "tenez" le champ de votre choix. Il ne reste
qu'à le mettre dans la zone des critères.
En gardant un doigt sur le bouton gauche de la souris, déplacez le pointeur sur la ligne où vous devez insérer le
nom des champs.
Cette dernière méthode est très pratique pour insérer un champ entre deux autres. Une fois choisis, ces champs seront
affichés dans le même ordre que vous les avez choisis de gauche à droite. Il est aussi possible de déplacer les champs
dans la requête.
Une fois que vous avez choisi les champs nécessaires pour compléter votre nouvelle requête, vous devez déterminer si
ces champs ont besoin d’être affichés dans un ordre déterminé. Voulez-vous la liste des clients en ordre alphabétique,
en ordre selon leur chiffre d’affaire avec votre compagnie, selon leur lieu géographique ou une combinaison de ces
ordres?
En dessous de chaque nom du champ se trouve l'option pour activer le tri sur celui-ci. Vous pouvez décider de ne pas
l'activer, le tri ou de l'avoir en ordre croissant ou décroissant.
Il faut cependant faire attention. Le champ trié le plus à la gauche à la priorité sur les autres qui est à sa droite. Donc,
si les champs prénom et nom sont triés, il sera premièrement en ordre de prénom suivi du nom de famille. Ex.:
Alain Lacasse
Alain Lemire
Josée Lacasse …
Normalement, tous les champs que vous sélectionnez seront affichés. Il arrive par moments cependant que vous avez
besoin d'un champ pour la recherche mais que vous ne voulez pas afficher celui-ci. Par exemple, vous voulez le
prénom et nom des personnes gagnant un revenu supérieur à 50 000 $ mais vous ne voulez pas afficher ce montant.
Soad LHAROUI 20
Cours ACCESS
Un "X" dans la case indique que le champ sera affiché lors de la présentation des enregistrements.
Pour la création de votre première requête, il est inutile de cacher des champs.
Après avoir choisi les champs et placé dans l'ordre de votre choix, trié sur certains champs, décidé d'afficher ou pas
certains champs, il faut déterminer quels sont les critères de sélection. Si vous n'écrivez aucun critère, tous les
enregistrements vont apparaître.
Les critères servent à filtrer les enregistrements pour afficher seulement ceux dont vous avez besoin. Pour cela, Access
vous offre plusieurs opérateurs pour différentes situations. Voici une liste ainsi qu'une courte description de chacun.
Les opérateurs
À moins qu'un autre opérateur soit choisi, le critère est toujours égale
=, <, >, <=, >=
au contenu du critère.
Ces opérateurs remplacent un caractère (?) ou une série de caractères
?, *
(*).
Il est possible de combiner des critères pour limiter le nombre
Et
d'enregistrements qui répondent aux critères.
Il est possible de combiner des critères pour avoir le plus
Ou
d'enregistrements possibles.
Affiche les enregistrements qui sont entre tels et tels critères. Ceux-ci
Entre et
sont inclusifs.
Affiche tous les enregistrements SAUF ceux qui répondent aux
Pas ou <>
critères.
Affiche les enregistrements dont le contenu d'un certain champ est
Est Null
vide.
Il est possible de créer des champs calculés qui donnent le résultat
Champ calculé d'une formule qui utilise le contenu des champs de l'enregistrement.
Ex.: Total: [Quantité]*[Prix_Unitaire]
Permets d'avoir la somme, la moyenne, le nombre ainsi d'autres
Les opérations opérations mathématiques sur les enregistrements qui répondent aux
critères demandés.
7. Exécuter la requête
Soad LHAROUI 21
Cours ACCESS
Une requête paramétrée est une requête nécessitant l’entrée d’une valeur (d’un paramètre) par l’utilisateur au
moment de l’éxécution de la requête.
Dans l’exemple du 8 ACCESS demandera à l’utilisateur d’entrée la valeur du paramètre CODE PRODUIT
RECHERCHE pour afficher le résultat de la requête.
Mode opératoire :
• Créez une nouvelle requête fondée sur la table PRODUIT
• Cliquez dans le menu Requête - Paramétre
• Saisissez le nom du paramètre : CODE PRODUIT RECHERCHE et le type de données : Entier long
Soad LHAROUI 22
Cours ACCESS
• Visualisez le résultat de la requête : vous devez entrer un n° de produit (entre 1 et 19), par exemple 10
I. CONNAISSANCES PREALABLES
Au cours des étapes précédentes, vous avez créé la table PRODUIT et CATEGORIE. Ces deux tables peuvent
être mises en relation car une catégorie de produits comprend plusieurs produits ou encore un produit
appartient à une seule catégorie de produits.
Pour qu’il y ait relation entre deux tables, il faut que les deux tables comportent un champ commun.
Par exemple les relations entre les 2 tables apparaissent comme suit dans ACCESS et ont pour champ commun
CODECAT :
Clé primaire
Relation
Clé étrangère
La table CATEGORIE comporte comme champ CODECAT qui constitue la clé primaire.
La table produit comporte également le champ CODE CAT car chaque produit appartient à une catégorie. On dit
que ce champ constitue la clé étrangère de la table PRODUIT.
La mise en relation de tables évite la redondance d’informations : par exemple le champ LIBELLECAT n’a
pas à figurer dans la table PRODUIT car à partir d’un numéro de produit donné on connait le codecat qui lui-
même nous permettra de connaître, grâce à la relation, le libellé de la catégorie.
Soad LHAROUI 23
Cours ACCESS
• Le bon sens et la logique prédominent en la matière : par exemple entre la table PRODUIT et la table
REGLEMENT il n’y aucune relation logique
• les relations doivent être de type UN – PLUSIEURS, ou UN – UN : contre exemple : Il n’y a pas de relation
directe possible entre la table PRODUIT et la table CLIENT car plusieurs produits peuvent être achetés par
plusieurs clients
• la table côté UN comporte une clé primaire et la table côté PLUSIEURS comporte une clé étrangère du même
nom
II. Application
Vous allez mettre en relation la table produit et la table catégorie
Remarque : pour déplacer les tables à l’écran pointez le titre de la table et faites glisser.
4. Créez la relation en faisant glisser le champ CODECAT de la table CATEGORIE (côté
UN) vers le champ CODECAT de la table PRODUITS (côté PLUSIEURS) (Cf schéma ci-
dessus). La boîte de dialogue suivante apparaît :
Remarques :
a) L’intégrité référentielle signifie qu’un code catégorie saisi dans la table PRODUIT doit avoir été au préalable
saisi dans la table CATEGORIE. Inversement, si on essaie de supprimer une catégorie donnée de produits
(dans la table catégorie) alors qu’il existe des produits appartenant à cette catégorie, ACCESS refusera de
supprimer la catégorie concernée.
Pour créer des relations UN à PLUSIEURS on doit obligatoirement cocher la case Appliquer l’intégrité
référentielle
b) La case « Mettre à jour en cascade les champs correspondants », lorsqu’elle est cochée, permet de changer
automatiquement les valeurs du champ clé étrangère de la table côté plusieurs lorsqu’on modifie la valeur
correspondante de
la clé primaire côté un. Pour cela, la case « appliquer l’intégrité référentielle doit être cochée »
c) La case « Effacer en cascade les enregistrements correspondants », lorsqu’elle est cochée, permet de supprimer
les enregistrements de la table côté Plusieurs dont la clé étrangère fait référence à une valeur de clé primaire
dans la table côté Un que l’on a effacé. En d’autres termes, si on supprime une Catégorie de produit donnée
dans la table catégorie, tous les produits de la catégorie donnée seront effacées en cascade. Pour utiliser cette
option, il faut « appliquer l’intégrité référentielle ».
5. Pour avoir une représentation concrète de la relation établie entre les tables CATEGORIE et PRODUIT,
ouvrez la table CATEGORIE (côté 1) en mode feuille de données :
Soad LHAROUI 24
Cours ACCESS
ACCESS a ajouté à gauche une colonne supplémentaire contenant des symboles +. Ce symbole indique la
présence d’enregistrements liés. Un clic sur l’un de ces symboles ouvre les enregistrements liés, cela donne pour
la catégorie OUV :
Soad LHAROUI 25
Cours ACCESS
Créez le formulaire « 2 Saisie/modification des produits », ce formulaire est fondé sur la requête nommée
« Requête formulaire produits » et doit être réalisée avec l’assistant. A un moment donné l’assistant propose de
choisir entre un affichage par CATEGORIE ou un affichage par PRODUIT :
• Choisissez par PRODUIT de manière à avoir un tri des données par produit plutôt que par catégorie.
Choisissez une présentation permettant un affichage par produit (par exemple la présentation
« Justifié ») et un style (selon votre goût).
• Saisissez le titre du formulaire : « 2 Saisie/Modification du formulaire ».
• Pour terminer, ouvrez le formulaire en mode formulaire (choix par défaut proposé dans le dernier
assistant).
Vous devez obtenir ceci :
UTILISER ACCESS AVEC PLUSIEURS TABLES : 3ème sous-partie : Créer une zone de liste modifiables
C/ Modification du formulaire
Vous allez effectuer des modifications dans la présentation du formulaire « 2 – Saisie/Modification des
produits », en particulier en remplaçant le contrôle CODECAT par un bouton liste modifiable :
Résultat à obtenir au final :
QUELQUES PRECISIONS :
Le formulaire « 2 Saisie Modification/des produits » se présente comme suit en mode création :
Etiquettes
Zone de texte
La grille permet d’ajuster la position des
éléments à l’écran. Cette grille n’apparait
pas en mode formulaire
Soad LHAROUI 26
Cours ACCESS
Pour déplacer une zone de texte et l’étiquette associée, on pointe la bordure et on fait glisser (le pointeur
prend la forme d’une main : I)
Pour déplacer un des deux éléments, on pointe le coin supérieur gauche du contrôle (Le curseur prend la
forme d’un doigt G)
Pour supprimer un contrôle on le sélectionne et on appuie sur la touche Suppr.
Remarque : la suppression d’une zone de texte n’entraine aucunement la suppression du champ de la table
ou requête source.
ACTIVITE :
• Sélectionnez les étiquette et zone de texte CODECAT et supprimez les
• Créez un bouton liste déroulante en cliquant sur le bouton « Liste modifiable » de la barre d’outils « Boîte
à outils » (si celle-ci n’est pas affichée : sélectionnez le menu Affichage – Barres d’outils … - Boîte à outils).
Le pointeur prend la forme d’une croix avec un petit rectangle
• Ajoutez et alignez le champ CODECAT à la place du contrôle CODECAT que vous venez de supprimer
• Complétez les boîtes de dialogue successives de l’Assistant zone de liste :
⇒ Réduisez la largeur de la colonne contenant le code cat et élargissez celle du libellé cat
Décochez cette case (voir remarque ci-après)
Remarque : Comme le champ LIBELLECAT est déjà affiché dans le formulaire, on doit ici afficher le champ
CODECAT, c’est pourquoi, il faut décocher la case à « Colonne clé cachée ». Si l’affichage de la clé n’était pas
important pour l’utilisateur, on aurait pu simplement afficher le LIBELLECAT (et laisser la case cochée)
⇒ La valeur utilisable est CODECAT :
Ici on vous demande en fait quelle valeur vous souhaitez afficher.
Comme on souhaite afficher la valeur du CODECAT, on sélectionne
ce champ
⇒ La valeur choisie est à stocker dans le champ CODECAT (de la table PRODUIT) :
Soad LHAROUI 27
Cours ACCESS
• Il ne reste plus qu’à positionner correctement les étiquette et zone de liste modifiable CODECAT correctement
sur la grille
• Testez le formulaire (cliquez sur le bouton Affichage - mode formulaire)
• Saisissez l’enregistrement suivant :
20 Tout sur Merise 2 - 5,50% - 120 F - catégorie : ouvrage
REMARQUE :
La création d’une zone de liste modifiable peut se faire automatiquement si et seulement si, lors de la création
du champ CODECAT dans la table PRODUIT on définit une « liste de choix » :
La table PRODUIT est ouverte en mode création et le champ CODECAT est sélectionné :
Dans la fenêtre des propriétés on sélectionne « Liste de choix »
On sélectionne le contrôle
Soad LHAROUI 28
Cours ACCESS
Les Etats
Alors qu’un formulaire permet l’affichage à l’écran, un état permet d’imprimer des données soit sous forme de
fiches soit sous forme de tableau.
On veut imprimer le catalogue des produits classés par code croissant et connaître le nombre de références pour
chaque catégorie
Entête d’ETAT
CATALOGUE DES PRODUITS
Date : 20/11/2001
Entête de page
COMMENTAIRE :
les sections sont hiérarchisées
• La section Entête d’ETAT apparaît une seule fois sur la 1ère page de l’état et la section Pied d’état apparaît à
la fin de l’état en dernière page
• Les sections Entête et Pied de page apparaissent sur chaque page : en entête on indique généralement les
étiquettes de champs
• Les sections entêtes et pieds de groupe permettent de regrouper plusieurs enregistrements par catégorie (dans
l’exemple le regroupement se fait par Libellé de catégorie - La première catégorie est « Accessoires
Fournitures » qui regroupe 6 enregistrements.
• La section détail est le niveau de base : Dans l’exemple la section Détail contient les enregistrements relatifs
aux produits.
ACTIVITES :
Soad LHAROUI 29
Cours ACCESS
1. Créez, à l’aide de l’assistant Etat, l’Etat « CATALOGUE DES PRODUITS » fondée sur la requête
« Requête formulaire produits » :
• Revenez dans la fenêtre Base de données
• Sélectionnez l’objet Etat
• Cliquez sur l’onglet Nouveau
• Etape 1 :Dans la liste des tables et requêtes, sélectionnez la requête « Requête formulaire des produits »
• Etape 3 : Il est possible déterminer un sous-niveau de regroupement (on pourrait par exemple demander un
regroupement par taux de TVA)
Soad LHAROUI 30
Cours ACCESS
Les options de synthèse permettent de calculer des sommes, des moyennes… sur des champs numériques. Dans
l’application présente, elles ne présentent aucun sens (on ne va pas additionner des taux de TVA ou des prix
unitaires).
• Etape 7 : Saisissez le titre de l’état : CATALOGUE DES PRODUITS puis cliquez sur le bouton Terminer
Soad LHAROUI 31
Cours ACCESS
1. Modification de l’Etat
On aimerait avoir pour chaque groupe de produits le nombre de produits du groupe. Pour cela il faut afficher la
section « Pied de groupe », puis y inclure un contrôle zone de texte contenant une formule de calcul.
a) Afficher un pied de groupe :
Basculer en mode création
Menu Affichage – Trier et grouper
On voudrait réaliser un Etat « Liste des clients » classé par code client. Les champs à prévoir sont :
CODECLI, NOMCLI, RUECLI, CPCLI, VILLECLI, CODEREG, LIBELLEREG, ENCOURSCLI, PLAFONDCLI
Cet état sera fondé sur la requête « Requête formulaire clients » créée dans l’application non guidée facultative
Les dirigeants de la société Papetière souhaiteraient maintenant gérer les commandes des clients.
Vous allez donc élaborer la structure des tables nécessaires et réaliser un formulaire de saisie des commandes.
ANALYSE DU PROBLEME :
Examinez le bon de commande ci-dessous :
Soad LHAROUI 32
Cours ACCESS
Clé étrangère de la table UNE BASE DE DONNEES OPTIMISEE EST UNE BASE DE DONNEES
COMMANDE. Ce champ permettra SANS REDONDANCE
d’établir une relation avec la table
CLIENT
LIGNECOMMANDE La clé primaire est composée du numéro de comande ET d’un code produit. Car la
quantité commandée dépend à la fois du N° de commande et du code produit. On pourra
NO COM+CODEPROD ainsi établir une relation (jointure) entre :
DATECOM la table commande et la table LIGNE COMMANDE
QTESCOM et
La table LIGNE COMMANDE et PRODUIT
ACTIVITES PRATIQUES
Sélecteur de champ
Soad LHAROUI 33
Cours ACCESS
Un clic sur ce symbole et il est alors possible de visualiser les enregistrements de la table liée LIGNE
COMMANDE ou d’ajouter, comme vous allez le faire des enregistrements :
Saisissez maintenant Dans la table liée LIGNE COMMANDE les enregistrements relatifs à la 1ère commande :
Soad LHAROUI 34
Cours ACCESS
REMARQUE : Dans la table liée le chmp NOCOM qui sert de lien entre les deux tables n’est pas affiché. En
fait, ce champ se met à jour automatiquement.
1. IV. LE COIN DES AMATEURS : CREATION D’UN FORMULAIRE AVEC UN SOUS FORMULAIRE
Vous avez pu apprécier la facilité avec laquelle on saisit une commande directement dans les tables (SIC). Vous
allez créer un formulaire de saisie des commandes. Ce formulaire va comprendre les champs de la table
COMMANDE et un sous-formulaire incluant les champs de la table LIGNE COMMANDE.
MODE OPERATOIRE :
En faisant glisser le pied de formulaire vers le bas, vous pouvez agrandir le formulaire
4. Agrandissez la taille du formulaire
Soad LHAROUI 35
Cours ACCESS
Insertion du sous-formulaire
Soad LHAROUI 36
Cours ACCESS
7. Fermez le formulaire
LES FORMULAIRES ET LES SOUS FORMULAIRES
• L’une permettant la saisie de la date de commande et l’affichage de l’identité et l’adresse du client. Cette
requête servira pour le formulaire principal
• L’autre qui permettra la saisie du Code produit, des quantités commandées et l’affichage : du prix unitaire, du
taux de TVA. On profitera également de cette requête pour créer des champs calculés :
• Dans le menu affichage vérifiez que l’option soit cochée (cette option est
très importante lorsqu’on créée des requêtes multitables
• Faites glisser les champs utiles (dans l’ordre d’apparition dans le formulaire)
La liste des champs et les tables sources sont indiquées ci-après :
Soad LHAROUI 37
Cours ACCESS
Ces 3 champs seront mis à jour à chaque nouvelle commande. Les autres champs ne sont affichés qu’à titre
d’information et de contrôle
Champs calculés qui ne sont pas stockés dans les tables. Ces champs ont pour nom HT
et MTVA. L’expression est à saisir. Access ajoute les [ ] lorsqu’on les omet à la saisie
Formatez les deux champs calculés en Monétaire – 2 Décimales (Sélection du champ puis clic sur le bouton
Propriétés)
Visualisez le résultat de la requête en cliquant sur le bouton Affichage – Mode Feuille de données
Soad LHAROUI 38
Cours ACCESS
Il ne reste plus qu’à inclure le sous-formulaire contenant les lignes de chaque commande :
• En mode création de formulaire, augmentez la taille du formulaire :
Soad LHAROUI 39
Cours ACCESS
• Sélectionnez ensuite la requête source (soit CORPS BC) et sélectionnez tous les champs.
• Il faut ensuite indiquer à l’assistant quel est le champ permettant de lier le formulaire principal (contenant en
fait l’entête du bon de commande) avec le sous-formulaire (en fait les lignes de commande) :
REMARQUES :
• Lorsque le formulaire et le sous-formulaire sont fondés sur des tables et que des relations ont été établies
entre les tables sur la base de clés primaires et étrangères, ACCESS sait automatiquement déterminer
le champ qui sert de liaison entre le formulaire et le sous-formulaire. En revanche, lorsque le formulaire
et/ou le sous-formulaire sont fondés sur des requêtes, il faut définir soi-même le champ de liaison.
• Le champ NOCOM du formulaire principal est appelé champ Père et le champ NOCOM du sous-
formulaire est appelé champ Fils :
• Un Père a 1 ou plusieurs Fils mais un Fils n’a qu’1 seul Père. Dans l’exemple, en effet, une commande
(identifié par un numéro de commande unique) comporte plusieurs lignes (chaque ligne est identifiée par un
numéro de commande ET un numéro de produit)
• Donnez un nom significatif au sous-formulaire avant de terminer la création du sous-formulaire :
C/ Le fignolage
Le formulaire est maintenant créé mais la mise en forme laisse certainement à désirer. Basculez en mode
création et déplacez les champs, renommez certaines étiquettes et augmentez la taille du sous-formulaire
pour obtenir une présentation ressemblant à cela :
Soad LHAROUI 40
Cours ACCESS
ATTENTION : Cette partie devient très technique. vous pouvez la contourner en saisissant les bons de
commande de l’annexe 1 en utilisant le formulaire « Saisie des commandes »
Soad LHAROUI 41
Cours ACCESS
Commencez d’abord par enregistrer le Formulaire « Saisie des commandes » sous le nom « Saisie des commandes
2 ». Enregistrez ensuite le sous-formulaire « Articles en commande » sous le nom « Articles en commande 2 »
(Dans la fenêtre Base de données, sélectionnez l’objet Formulaire et cliquez sur Modifier. Puis Fichier
enregistrer sous.). Fermez ensuite tous les formulaires.
Pour mettre des sous-totaux dans le formulaire principal deux étapes sont à suivre :
- Mettre les sous totaux dans le pied de page du sous-Formulaire
- Mettre une formule dans le pied de page du formulaire principal.
• Procédez de même pour les champs TOT TVA et TOT TTC (à paramétrer comme suit :)
Etiquette
Soad LHAROUI 42
Cours ACCESS
Visualisez le formulaire Saisie des commandes 2 : les totaux concernent toutes les lignes de toutes les
commandes :
Le générateur d’expressions :
Au lieu de saisir la propriété Source contrôle soi-même, cliquez sur le bouton Générateur d’expressions qui
apparaît lorsqu’on clique dans certaines propriétés :
Soad LHAROUI 43
Cours ACCESS
Mode opératoire :
⇒ En mode création, sélectionnez le contrôle contenant le numéro de client
⇒ Cliquez sur le menu Format – Remplacer par - Zone de liste modifiable
⇒ Affichez ensuite les propriétés de la zone de liste et paramétrez les propriétés suivantes :
Soad LHAROUI 44
Cours ACCESS
Affichez le Formulaire pour verifier l’affichage, en mode creation, vous pouvez élargir la taille de la zone de liste
pour améliorer l’affichage :
Soad LHAROUI 45
Cours ACCESS
ANNEXE 1
Soad LHAROUI 46
Cours ACCESS
CONNAISSANCES DE BASE
Les requêtes action permettent de modifier les données dans les tables alors que les requêtes sélection et
opération ne modifient en rien les données stockées dans les tables.
Création de table Permet de créer une nouvelle table à partir des enregistrements répondant à un critère
de sélection
Ajout Ajoute le contenu des enregistrements correspondant au critère de sélection à une table
existante (ou nouvelle)
Mise à jour Permet de mettre à jour le contenu d’un ou plusieurs champs pour les enregistrements
sélectionnés correspondant au critère de sélection
Suppression Permet de supprimer les enregistrements correspondant au critère de sélection
• créer une requête sélection (ou opération) pour sélectionner les enregistrements
• Afficher le résultat de la requête sélection (pour contrôle)
• Transformer la requête sélection (ou opération) en requête action par le menu Requête ou par les
boutons de la barre d’outils requête
DANGER : UNE REQUÊTE ACTION MODIFIE LE CONTENU DES TABLES, PAR CONSEQUENT IL FAUT
ÊTRE RIGOUREUX QUANT AU CRITERE DE SELECTION
le thème
Dans la table CLIENT de la base de données PAPETIER.MDB figure le champ ENCOURS (contenant le
montant du crédit accordé aux clients). Ce champ constitue une donnée de situation (au même titre qu’un solde
de compte ou un stock) et doit être régulièrement mis à jour. Par conséquent, vous allez :
- créer AUTOMATIQUEMENT par requête une table « ENCOURS DE CREDIT » comprenant les champs
suivants :
- CODECLI
- ENCOURS
- ensuite supprimer le champ ENCOURS de la tale CLIENT
- ensuite établir une relation entre la table CLIENT et la table ENCOURS DE CREDIT
Soad LHAROUI 47
Cours ACCESS
7. Exécutez la requête (Menu Requête - Exécution ou bouton Exécuter de la barre d’outils Requête)
Un message d’alerte vous informe que 17 enregistrements vont être collés dans une nouvelle table :
8. Enregistrez la requête sous le nom Création table Encours et fermez-la (la requête évidemment !)
Attention, si vous tentez une deuxième exécution de la requête Création, Access affichera un message
d’erreur car la table ENCOURS DE CREDIT a été créé lors de la 1ère exécution. Pour signaler le danger,
Le nom des requêtes action (dans la liste des requêtes) est précédé d’un point d’exclamation
Comme le champ ENCOURS fait partie d’une nouvelle table, vous devez le supprimer de la table CLIENT :
Soad LHAROUI 48
Cours ACCESS
Comme UN client n’a qu’UN seul encours de crédit et inversement, la relation entre les tables CLIENT et
ENCOURS DE CREDIT sera du type UNE à UNE. Le champ commun au deux tables est CODECLI.
travail a faire :
Le coin des
Pros
La structure de la table CLIENT ayant été modifiée, les requêtes, les formulaires ou les Etats fondés sur la table
CLIENT ne se mettent pas automatiquement à jour. Conséquence : si une requête, un état ou un formulaire
utilise le champ ENCOURS, il faudra faire des modifications
APPLICATION :
Au cours des TD précédents(CAS PAPETIERE : 3ème partie - UTILISER ACCESS AVEC PLUSIEURS TABLES -
Troisième sous-partie : Créer une zone de liste modifiable)
vous avez créé le formulaire « 2 Saisie/Modification des clients » fondé sur la requête « REQUETE
FORMULAIRE CLIENT »
Comme ces éléments font référence au champ ENCOURS, vous allez les modifier « en cascade »
Passez à la rubrique « Le coin des experts » OU fermez le formulaire puis passez directement au II
II. CREATION D’UNE REQUETE MISE A JOUR, D’UNE REQUETE SUPPRESSION
Le coin des
experts
Profitons du formulaire « 2 Saisie/modification des clients » pour découvrir de nouveaux « trucs » :
Soad LHAROUI 49
Cours ACCESS
Le champ ENCOURS représente une Donnée de situation (comme cela a pu être dit précédemment) dont la
valeur augmente à chaque nouvelle commande et diminue avec les règlements reçus des clients). Par conséquent,
ce champ doit être mis à jour avec une requête action.
Pour éviter que l’utilisateur du formulaire ne saisisse une valeur dans le champ ENCOURS, on va le
protéger en paramétrant certaines propriétés :
1. Sélectionner le contrôle ENCOURS (si ce n’est pas déjà fait)
2. Affichez la fenêtre des propriétés (si ce n’est pas déjà fait)
3. Paramétrez les propriétés indiquées ci-dessous :
Oui : le contrôle ne peut pas être mis à jour (on empêche la saisie
ou la modification)
Non : le contrôle peut être mis à jour
Remarque :
AU PREALABLE :
Vous allez effectuez une copie de la base de données PAPETIERE.MDB et travailler sur cette copie.
Plutôt que d’utiliser l’explorateur de WINDOWS, vous allez utiliser la commande COMPACTER d’ACCESS.
Cette commande permet de réduire la taille d’une base de données. Le compactage se fait dans un nouveau
fichier.
PROCEDURE :
PAPETIERERAC.MDB
Une fois l’opération achevée, ouvrez la base de données PAPETIERERAC.MDB, c’est dans cette base de données
que vous allez effectuer diverses requêtes action.
Soad LHAROUI 50
Cours ACCESS
Le directeur commercial de la société PAPETIERE a décidé de majorer de 10% le prix unitaire des articles de
papeterie. Vous êtes chargé de modifier les prix unitaires.
Plutôt que de calculer manuellement les prix unitaires pour les articles de papeterie et de les saisir vous allez,
grâce à une requête Mise à jour, faire la modification automatiquement.
MODE OPERATOIRE :
1. Créer une nouvelle requête fondée sur les tables PRODUITS et CATEGORIE
2. Faites glisser les champs CODEART, DESIGNART, LIBELLECAT et PUHT
3. Mettez le critère : Papeterie pour le champ LIBELLE CATEGORIE
4. Visualisez la requête en mode Feuille de données pour vérifier que vous n’avez que les enregistrements
relatifs aux articles de papeterie
5. En mode création, sélectionnez le type de requête « Mise à jour » dans le menu requête (ou cliquez sur
le bouton
6. Dans la grille d’interrogation, saisissez la formule suivante sur la ligne mise à jour et en dessous du
champ Prix unitaire :
[PUHT]*1.10
7. Exécutez la requête (Menu Requête Exécuter et visualisez le résultat : les prix ont augmentés de
10% (de 12,60 F ils sont passés à 13,86 F)
Soad LHAROUI 51
Cours ACCESS
9. Fermez la requête
10. Exécutez de nouveau la requête : Que se passe-t-il ?
Remède :
Lors de la création des relations entre la table commande (côté UN de la relation) et la table LIGNE
COMMANDE (Côté PLUSIEURS) Vous avez demandé à ACCESS d’appliquer l’intégrité référentielle : Pour
pouvoir supprimer une enregistrement de la table côté UN, il faut d’abord supprimer les enregistrements liés de
la table côté PLUSIEURS.
Soad LHAROUI 52
Cours ACCESS
CONNAISSANCES DE BASE
Faire une analyse croisée consiste à effectuer une synthèse des données sur plusieurs niveaux.. Dans Access,
l’analyse croisée constitue une forme particulière de requête opération.
Dans l’exemple qui suit, vous aurez à effectuer une analyse croisée du chiffre d’affaires consistant à déterminer
le montant du chiffre d’affaires par client et pour chaque catégorie d’article.
Ici, les noms des clients représentent des « entêtes de ligne » et les libellés de catégorie représentent des « entêtes
de colonnes ». Les sommes figurant dans le tableau correspondent aux « valeurs » et sont le fruit d’un calcul
(opérateur Somme).
Application guidée :
Créez une nouvelle requête en mode création
Soad LHAROUI 53
Cours ACCESS
Maintenant, il ne reste plus qu’à transformer la requête sélection en requête analyse croisée :
Cliquez sur le menu Requête puis sur .
Il faut ici définir les champs de regroupement (ici NOMCLI et LIBELLECAT) et l’opérateur de calcul (ici
l’opérateur SOMME appliqué au champ HT.
Il faut également définir l’entête de ligne(NOMCLI), l’entête de colonne (LIBELLECAT).
Il faut noter aussi que les trois champs proviennent de trois tables différentes.
Remarques :
- Il est tout à fait possible de trier les clients comme les libellés de catégorie
- l’analyse s’est faite sur deux niveaux (dimensions), à savoir un premier niveau sur le nom des clients et un
second niveau sur le libellé catégorie. On peut ajouter des niveaux supplémentaire d’analyse en entête de ligne.
Par exemple, si l’on veut obtenir le cumul du chiffre d’affaires par client , par taux de TVA et par libellé
catégorie, la requête analyse croisée se présente alors de la manière suivante :
Ce qui donne :
Soad LHAROUI 54
Cours ACCESS
restauration
Crion 19.60% 959.21 F
Joue Club 5.50% 19.06 F
Joue Club 19.60% 49.16 F 573.67 F
Lycée Rambaux 19.60% 228.67 F 301.85 F
Mécanord 5.50% 76.22 F
Mécanord 19.60% 43.45 F 34.30 F
Micropuce 5.50% 439.82 F
Micropuce 19.60% 137.20 F 90.55 F
SériTech 19.60% 22.87 F 378.99 F 68.60 F
Le résultat n’est pas significatif car une catégorie d’articles ne semble comporter qu’un seul taux de TVA.
Activité :
Répondez à la demande des dirigeants à l’aide d’Access
Les macros
Définition
Une macro comporte une ou plusieurs actions effectuant chacune une opération particulière, telle
l'ouverture d'un formulaire ou l'impression d'un état. Les macros permettent d'automatiser les tâches
habituelles. Vous pouvez, par exemple, exécuter une macro qui imprime un état lorsqu'un utilisateur clique sur
un bouton de commande.
Une macro peut se présenter sous forme de macro unique composée d'une série d'actions ou sous forme
de groupe de macros. Vous pouvez également utiliser une expression conditionnelle pour déterminer si, dans
certaines circonstances particulières, une action est effectuée lorsqu'une macro s'exécute.
Série d'actions
Une macro peut être composer d'une série d'actions, Microsoft Access effectue ces actions en bloc chaque
fois que la macro est exécutée.
Groupe de macros
Si vous utilisez un grand nombre de macros, regroupez les macros liées dans des groupes de macros
pour faciliter la gestion de votre base de données. Pour afficher les noms des macros d'un groupe de macros,
cliquez sur "Nom de macro" dans le menu "Affichage" de la fenêtre Macro. Pour exécuter une macro contenue
dans un groupe de macros, vous devez indiquer le nom du groupe de macros suivi d'un point, puis le nom de la
macro.
Actions conditionnelles
Dans certaines situations, il peut être nécessaire d'exécuter conditionnellement une ou plusieurs actions
dans une macro. C'est par exemple le cas lorsque vous définissez une macro qui valide le contenu d'un champ.
Pour ce faire, affichez la colonne "Condition" en cliquant sur "Conditions" dans le menu "Affichage"
de la fenêtre Macro, tapez l'expression conditionnelle sur la ligne qui contient l'action à exécuter
conditionnellement.
Soad LHAROUI 55
Cours ACCESS
La partie supérieure de la fenêtre "Macro" est composée de deux colonnes intitulées "Action" et
"Commentaire". La première donne accès à 53 actions prédéfinis. Quant à la seconde, elle apporte des
précisions sur les actions complexes.
Dans la colonne "Action", cliquez dans la première cellule puis cliquez sur la flèche pour afficher la
liste d'actions à partir de laquelle vous allez sélectionner l'action que vous voulez utiliser. Par suite vous pouvez,
si vous le désirez, saisir un commentaire. En fait, les commentaires sont facultatifs mais souhaitables pour
mieux comprendre votre macro plus tard. Dans la partie inférieure de la fenêtre, spécifiez les arguments de
l'action, si ceux-ci sont obligatoires. Cliquez ensuite sur le bouton d'enregistrement pour sauvegarder la macro, le
nom saisi apparaîtra dans la fenêtre "Base de données"
Soad LHAROUI 56
Cours ACCESS
Soad LHAROUI 57
Cours ACCESS
Associer les macros créées précédemment à des boutons de commandes créés dans un formulaire que
vous nommerez MENU.
Soad LHAROUI 58
Cours ACCESS
ANNEXE 2
I. Les propriétés
Vous limitez ainsi la place mémoire mais également des erreurs d'utilisation. Pour un champ texte, vous limiter le nombre de
caractères, la valeur par défaut est 50, si vous indiquez 0 c'est la valeur 255 qui sera retenue.
Pour un champ numérique, vous avez les tailles suivantes :
I.2. Format
Selon le type de champ, vous avez des formats prédéfinis ou non, mais vous pouvez également concevoir votre propre format
en utilisant des symboles, différents selon le type de champ. Certains symboles sont communs à tous les types :
Symbole Explications
"" Tous les caractères compris entre les 2 guillemets sont affichés.
\ Le caractère qui suit \ s'affiche, utilisez plutôt les guillemets.
* Complète l'espace vide du champ avec le caractère situé après *
Espace Affiche un espace dans le champ
! Force l'alignement à gauche
[couleur] Affiche le champ dans la couleur spécifiée. Les couleurs disponibles sont : Noir, Bleu, Vert, Cyan, Rouge,
Magenta, Jaune, Blanc.
Texte : vous n'avez aucun format prédéfini, les formats personnalisés utilisent les symboles suivants :
Symbole Explications
@ Caractère obligatoire
& Caractère non obligatoire
< Convertit les caractères en minuscules
> Convertit les caractères en majuscules
Date/heure : détermine le mode d'affichage de la date et de l'heure. Utilisez les formats de la liste :
Soad LHAROUI 59
Cours ACCESS
Format Exemple
Date, général 19/06/94 17:34:23
Date, complet dimanche 19 juin 1994
Date, réduit 19-juin-94
Date, abrégé 19/06/94
Heure, complet 17:34:23
Heure, réduit 05:34
Heure, abrégé 17:34
Symbol Explications
e
: séparateur d'heure
/ séparateur de date
J Jour - j affiche en 1 ou 2 chiffres (1 à 31) - jj affiche en 2 chiffres (01 à 31)
jjj affiche les 3 premières lettres du jour (dim à sam)
jjjj affiche le jour entier en lettres (dimanche à samedi) (Vous pouvez marier ces affichages : j jjjj ou jj jjj, etc.)
E e affiche le jour dans la semaine (1 à 7) - ee affiche le jour de la semaine (1 à 53)
M Mois - m affiche en 1 ou 2 chiffres (1 à 12) - mm affiche en 2 chiffres (01 à 12)
mmm affiche les 3 1er lettres du jour (jan à déc) - mmmm affiche le jour entier en lettres (janvier à décembre)
T trimestre (1 à 4)
A numéro du jour de l'année
A l'année - aa affiche en 2 chiffres - aaaa affiche en 4 chiffres
H l'heure - h affiche en 1 ou 2 chiffres (1 à 23) - hh affiche en 2 chiffres (01 à 23)
N Minute - n affiche en 1 ou 2 chiffres (1 à 59) - nn affiche en 2 chiffres (01 à 59)
S Seconde - s affiche en 1 ou 2 chiffres (1 à 59) - ss affiche en 2 chiffres (01 à 59)
" Tout les caractères compris entre 2 guillemets sont affichés. Exemple, "Le "j jjjj mmmm aaaa affichera : Le 2
novembre 2000
Numérique et Monétaire : vous avez le choix entre 6 formats pour les champs de type Numérique, NumeroAuto, Monétaire
:
Format Exemple
Nombre général 3456,789
Monétaire 3456,79 F
Fixe 3456,79
Standard 3 456,79
Pourcentage (x10) 345678,9%
Scientifique (puissance 10) 3,46E+03
Ou créez votre propre format. Il comportent entre une et quatre sections et utilise le point-virgule (;) comme séparateur de
section. Chacune peut avoir un format différent et corresponde à :
nombres positifs;nombres négatifs;zéro;valeur null
Exemple : # ###0;0,00;"zero";"Nul"
Soad LHAROUI 60
Cours ACCESS
Oui/Non : Vous pouvez choisir entre 3 formats prédéfinis : Oui/Non, Vrai/Faux, Actif/Inactif. Par défaut ces 3 formulaires
s'affichent dans la feuille de données ou le formulaire sous forme de case à cocher, si vous préférez voir du texte, modifiez la
propriété Afficher le contrôle en zone de texte (vous devrez alors tapez oui ou non pour entrer la donnée). Vous pouvez
également créer votre propre format pour afficher votre propre texte, pour cela il vous faut respecter ce format :
;"Texte pour les valeurs oui ou vrai ou actif";"Texte pour les valeurs non ou faux ou inactif".
Il est indispensable de mettre le 1er point virgule. Si vous ne voulez afficher du texte que pour les valeurs oui : ;"texte". Si vous
ne voulez afficher du texte que pour les valeurs non : ;;"texte".
I.3. Décimales
La valeur par défaut est Auto, ainsi la propriété Format indique le nombre de décimales. Si vous indiqué un nombre, celui-ci
sera prioritaire au nombre de décimale indiqué dans la propriété Format, excepté le format Nombre général. Exemple avec
3456,789, avec le format Nombre général et Décimales à 0, 3456,789 s'affiche; par contre avec n'importe quel autre format,
"0,000" par exemple, le nombre s'affiche 3457 car Décimales est à 0.
S'utilise exclusivement pour le type de champ NumeroAuto, ce dernier champ se calcule automatiquement pour ne jamais
exister en double :
• Incrément, Access ajoute 1 à la valeur du dernier enregistrement, si vous supprimez un enregistrement la valeur qui
lui avait été attribué ne sera jamais réutilisé.
• Aléatoire Access choisit une nouvelle valeur, n'existant pas encore, de façon aléatoire.
Un masque de saisie facilite l'entrée de données et contrôle les valeurs tapées, par exemple, un masque pour un champ
numéro de téléphone qui vous montre comment le tapez. Pour établir votre masque de saisie vous avez 2 possibilités,
l'Assistant Masque de saisie ou le taper directement dans la propriété. Il est souvent plus facile d'utiliser l'Assistant Masque
de saisie et de le personnaliser :
Sélectionnez un de ces masques, si vous ne trouvez pas exactement celui que vous voulez, choisissez le plus proche. Cliquez
sur Suivant. Si vous n'avez pas besoin de modifier le masque, sautez cette étape. Sinon modifiez le masque de saisie en
utilisant les symboles suivant :
Caractè Description
re
0 Chiffre (0 à 9, saisie obligatoire; signes plus [+] et moins [-] non autorisés).
9 Chiffre ou espace (saisie facultative; signes plus et moins non autorisés).
# Chiffre ou espace (saisie facultative; blancs convertis en espaces, signes plus et moins autorisés).
L Lettre (A à Z, saisie obligatoire).
? Lettre (A à Z, saisie facultative).
A Lettre ou chiffre (saisie obligatoire).
a Lettre ou chiffre (saisie facultative).
& Tout caractère ou espace (saisie obligatoire).
C Tout caractère ou espace (saisie facultative).
.,:;-/ Virgule décimale et séparateurs des milliers, de date et d'heure. (En fonction des paramètres régionaux du
Panneau de configuration de Microsoft Windows).
< Implique la conversion en minuscules de tous les caractères qui suivent.
> Implique la conversion en majuscules de tous les caractères qui suivent.
! Implique que le masque de saisie affichera de droite à gauche et non de gauche à droite. Les caractères tapés
dans le masque le rempliront toujours de la gauche à la droite. Vous pouvez mettre le point d'exclamation
n'importe où dans le masque.
\ Implique l'affichage du caractère qui suit comme caractère d'affichage littéral. Sert à afficher tout caractère
Soad LHAROUI 61
Cours ACCESS
compris dans ce tableau comme caractère d'affichage littéral (par exemple, \A s'affiche sous la simple forme A).
• Modifiez éventuellement le caractère qui remplit le champ et indique le format de celui-ci tant qu'il est vide.
• Cliquez sur Suivant.
• Choisissez l'option que vous désirez pour stocker les données.
• Cliquez sur Terminer.
I.6. Légende
Permet d'indiquer à l'avance le texte que les contrôles devront afficher en intitulé. Dans notre exemple de bibliothèque, dans
la table Plages, le champ de référence aux auteurs est nommé No A, ce n'est pas très explicite, indiquez alors "Auteur" dans la
propriété Légende.
Si un champ prend souvent la même valeur, vous pouvez éviter une saisie en attribuant cette valeur à cette propriété. Elle
peut être également le résultat d'une expression, comme Date() par exemple. Pour entrez cette expression, utilisez le
générateur d'expression en cliquant sur le bouton situé à droite de la zone de texte de la propriété.
I.8. Valide si
Permet de limiter la saisie des données selon une ou des conditions. Il est alors fortement recommandé d'indiquer la règle de
validité dans la propriété Message si erreur. Cette règle utilise les opérandes : <, >, =, ET, OU, ainsi que le mot Comme, les
symboles *,?. Le tableau suivant vous donne des expressions souvent utilisées.
Expression Description
<>0 Toutes les valeurs différentes de 0.
>=500 ET <=1000 Toutes les valeurs comprises entre 500 et 1000.
>Date()+15 La date ne doit pas être antérieure à aujourd'hui + 15 jours.
"Machin" OU Le texte doit être Machin ou Machine
"Machine"
Comme "A????" Tout texte commençant par la lettre A et contenant 5 lettres.
Comme "A*.???" Tout texte commençant par la lettre A, d'un nombre de caractère minimum de 5 lettres (A, . et les 3 ?)
et finissant par un point et 3 lettres quelconques.
Cette propriété est indispensable si vous avez attribué une règle de validité au champ. Tapez le texte d'explication pour cette
règle afin de l'expliquer à l'utilisateur en cas d'erreur de saisie. Ce message s'affichera dans une petite boîte de dialogue.
Si vous voulez que l'utilisateur soit obligé de donner une valeur à un champ, attribuez OUI à cette propriété.
Si vous attribuez la valeur NON à cette propriété, l'utilisateur est obligé de tapez un texte d'au minimum 1 caractère.
La propriété Null interdit et celle-ci vous paraissent similaires, mais Access les différencie. Par exemple, dans une requête
faisant appel à plusieurs tables , les enregistrements dont le champ commun contient une valeur nulle ne sont pas affichés
par contre ceux contenant une chaîne vide sont affichés.
I.12. Indexé
Un index permet à Access d'accélérer les requêtes sur les champs indexés ainsi que les tris et regroupement. La propriété
peut prendre les 3 valeurs suivantes :
Soad LHAROUI 62
Cours ACCESS
Cette propriété se trouve sur l'onglet Liste de choix, elle définit le contrôle à afficher lors de la création d'un formulaire. La
valeur par défaut est zone de texte, selon le champ, vous avez le choix entre Case à cocher, Zone de texte et Zone de liste
modifiable.
LISTE DE CHOIX
Dans une table, pour entrer des données dans un des champs, vous pouvez utiliser une liste de choix basée sur une ou
plusieurs autres tables. Pour créer cette liste, vous utilisez l'Assistant liste de choix. Dans ce cas, de nouvelles propriétés sont
disponibles pour ce champ.
Paramètres Description
Table/requête Les données proviennent d'une table ou sont le résultat d'une requête enregistrée ou d'une requête définie
par la propriété Contenu. C'est la valeur par défaut.
Liste valeurs Les données constituent une liste d'éléments définie dans la propriété Contenu.
Liste champs Les données constituent une liste de noms de champs provenant d'une table, d'une requête enregistrée ou
d'une requête définie par la propriété Contenu.
I.2 Contenu
Cette propriété renseigne la propriété précédente, selon le paramètre de cette dernière, elle contient :
OrigineSource Contenu
Table/requête Un nom de table, de requête ou une instruction SQL.
Liste valeurs Une liste d'éléments séparés par des points-virgules (;).
Liste champs Le nom d'une table, d'une requête ou une instruction SQL.
Pour indiquer le nom d'une table ou d'une requête, sélectionnez- la dans la liste déroulante de la propriété. Pour la liste de
valeurs, tapez chacune des valeurs séparés par des points-virgules dans la zone de texte de la propriété. Pour l'instruction
SQL, cliquez sur le bouton , situé à droite de la propriété, une fenêtre de création de requête s'ouvre, procédez comme
pour la création d'une requête. Si vous voulez mieux décrire la liste, celle-ci peut se composer de plusieurs colonnes, le titre de
chacune de ces colonnes est un champ résultant de la requête créée dans cette fenêtre.
Cette propriété indique à Access, quelle colonne contient la valeur à enregistrer dans le champ. La valeur par défaut est 1. Si
vous indiquez la valeur 0, c'est le numéro de la ligne qui est enregistré, à savoir que la première ligne a le numéro 0. Si vous
indiquez une valeur supérieure à 0, c'est la valeur sélectionnée dans la colonne spécifiée qui est enregistrée.
Cette propriété permet d'indiquer le nombre de colonnes affichées par la liste. Elle est comprise entre 1 et le nombre de
champs de la table ou de la requête. La liste affiche alors les champs de la source, de gauche à droite, jusqu'au nombre
spécifié par la propriété. Elle est automatiquement définie par l'Assistant Liste de choix.
Si vous l'utilisez sur une liste de valeurs, elle répartira ces valeurs sur le nombre de colonnes spécifié. Par exemple, dans la
propriété Origine source, vous tapez la liste "a";"b";"c";"1";"2";"3", si vous affectez :
Soad LHAROUI 63
Cours ACCESS
c 1
2 3
3 a b d
1 2 3
Si la propriété est défini à OUI, la liste affiche une ligne d'en-tête, dans le cas d'une source Table ou Requête, les titres des
champs sont affichés, dans le cas d'une source de valeurs, la première ligne des éléments est affichée comme en-tête.
Cette propriété permet d'indiquer la largeur de chacune des colonnes d'une liste multi-colonnes. La largeur spécifiée de
chacune des colonnes doit être séparé par un point virgule. Pour ne pas afficher une colonne, indiqué la valeur 0. Si nous
reprenons l'exemple de la propriété Nbre colonnes (avec la valeur 3), avec la propriété Largeur colonnes : 1,5cm;0;1,5cm. La
liste se présente ainsi :
Avec cette propriété vous indiquez le nombre de lignes affichées lorsque vous déroulez la liste. La valeur par défaut est 8.
Cette propriété vous permet d'indiquer la largeur de la liste lorsqu'elle est déroulée. Elle peut être plus large que la largeur
du champ mais plus petite.
Cette propriété permet de gérer l'insertion d'une donnée non comprise dans la liste. Si vous la définissez à OUI, Access
refusera cette donnée, et l'utilisateur doit recommencer la saisie, dans le cas contraire il accepte toute donnée qui respecte la
propriété Valide si.
Soad LHAROUI 64
Cours ACCESS
Soad LHAROUI 65