Access Créer une base de données |
SOMMAIRE
Généralités sur les bases de données 3
Création de la base de données 4
A) Lancement d'Access 4
B) Enregistrement de la base de données vide .. 4
Création des tables et champs .. 5
A) Mode création (modifier) – Mode feuille de données (ouvrir) 5
1) Mode feuille de données .. 5 2) Mode création 5
3) Passage d'un mode à l'autre . 5
B) Création d'une table en mode Création .. 6
C) Actions sur les champs .. 6
D) Création d'une table à l'aide de l'assistant .. 7
E) Les types de données 8
1) Les types de données Access . 8
2) Choix des types de données 8
F) Choix des propriétés de données . 9
1) Les formats du type date 10 2) Format d'affichage de texte .. 10 3) Paramétrer une liste de choix .. 10 4) Paramétrer un masque de saisie . 11
Clé primaire et indexation 12
A) La clé primaire 12
B) Champ "Unique" ou "Indexé sans doublons" . 12
C) Champ "Indexé avec doublons" .. 12
Contrôle de validité des données .. 13
Relations entre tables . 14
A) Afficher les tables à relier . 14
B) Relier les tables 14
C) Saisie d'enregistrements 15
Access est un Système de Gestion de Base de Données (SGBD), c'est-à-dire un ensemble de programmes permettant de gérer des bases de données.
C'est un SGBD de type Relationnel (SGBDR).
Un SGBD permet :
- de créer et modifier la structure de la base de données,
- de stocker des données, de les modifier (mettre à jour), de les supprimer, - d'effectuer des recherches (ou requêtes) dans cette base de données.
Une base de données est un ensemble cohérent de données structurées.
Une base de données contient en général plusieurs tables, éléments de stockage des données. Une table est un ensemble de données organisé en tableau avec des lignes (horizontales) et des colonnes (verticales). A l'intersection des colonnes et des lignes, se trouvent les données.
Le libellé des colonnes s'appelle un CHAMP.
Chaque ligne s'appelle un ENREGISTREMENT (en abrégé : ENR).
Exemple de table TypeInscription d'une base de données de gestion d'étudiants
CodeTypeInscription | LibelleTypeInscription | MontantTypeInscription |
A | apprentissage | 1500 |
C | formation continue | 2500 |
E | étudiant "standard" | 500 |
Exemple de table Etudiants d'une base de données de gestion d'étudiants
NumE | NomE | PrénomE | Titre | DateN | CP | Ville | Tél | TypeInscription | … |
1 | ANGE | Michelle | Mlle | 75001 | Paris | E | |||
2 | MIRRE | Abel | M. | 91000 | Evry | A | |||
3 | SARBAQUE | Anne | Mme | 75001 | Paris | E |
Dans une table, un champ (ou plusieurs champs) sert de clé primaire. La clé primaire permet de différencier les enregistrements d'une table. Une même clé primaire ne pourra pas être attribuée à deux enregistrements. Dans l'exemple, la clé primaire de la table Etudiants sera le champ numE. Deux étudiants ne peuvent avoir le même numéro numE.
Les tables d'une base de données sont reliées entre elles par la présence de clés primaires.
Dans l'exemple, le champ CodeTypeInscription quiest clé primaire dans la table TypeInscription devient une clé étrangère (nommée TypeInscrip) de la table Etudiants, indiquant que tel étudiant a telle type d'inscription.
Les deux tables sont mises en relation par un champ qui peut avoir le même nom ou pas mais qui correspond aux mêmes données.
|
Cliquez sur le bouton Démarrer puis Programmes puis Microsoft Access
Dans le volet Office à droite de l'écran, cliquez sur Base de données vide
Un écran vous propose d'enregistrer la base de données.
Une base de données Access est un fichier à extension .MDB (Microsoft DataBase).
Choisissez le dossier dans lequel vous voulez stocker la base de données. Il doit apparaître dans la zone Enregistrer dans.
Dans la zone Nom de fichier, indiquez le nom du fichier :
Une table peut être affichée sous 2 formes différentes
C'est l'affichage d'un tableau avec le nom des champs en ligne d'en-tête, les enregistrements en lignes et les champs en colonnes, l'intersection des champs et des colonnes contenant les données.
Le mode création correspond au dictionnaire de données : liste des champs avec leur type et leur description.
Un clic droit dans la table permet aussi de choisir un mode ou un autre.
Créer la table TypeInscription en indiquant les noms des champs :
- CodeTypeInscription
- LibelleTypeInscription
- MontantTypeInscription
Cliquez sur Tables dans la partie gauche.
Il existe plusieurs modes de création de table.
Double-cliquez sur Créer une table en mode création.
Saisissez le nom du premier champ dans la cellule nom.
Pour la compatibilité avec d'autres logiciels ainsi que pour la programmation :
- évitez d'utiliser l'espace
- si besoin, utilisez plutôt le caractère _ (underscore) ou un style d'écriture "dromadaire" avec minuscules/majuscules.
Remarque : Nous compléterons dans l'étape suivante le type de données.
Complétez si besoin la zone description (informations facultatives de type commentaire sur le champ).
Recommencez la procédure pour chaque champ.
Remarque : Il est d'usage (mais non obligatoire) dans une table de mettre en premier les champs clés.
Pour sélectionner un champ :
Cliquer sur la case grisée située à gauche du nom du champ.
Une flèche apparaît dans cette case.
Pour supprimer un champ, sélectionner le champ et appuyer sur Suppr
Pour insérer un champ, sélectionner le champ en dessous duquel le nouveau champ sera inséré, faites un clic droit > Insérer des lignes.
Pour déplacer un champ :
Sélectionner le champ à déplacer (case grisée en face).
Cliquer-déplacer dans cette case grisée jusqu'à l'endroit souhaité.
Relâcher lorsque le curseur apparait sous forme d'un trait à l'endroit souhaité.
Créer la tableEtudiantsen indiquant les noms des champs :
- NumE
- NomE
- PrénomE
- TitreE
- DateN
- CP
- Ville
- Tel
- TypeInscription
- MoyenneBac
Cliquez sur Tables dans la partie gauche.
Il existe plusieurs modes de création de table.
Double-cliquez sur Créer une table à l'aide de l'assistant.
Choisissez une table qui ressemble à ce que vous souhaitez.
Sélectionnez les champs que vous souhaitez avoir.
Cliquez sur la flèche pour les sélectionner dans la table à créer.
Remarque : Le bouton Suivant permet de préciser les clés, relations, etc. qui seront étudiés plus tard.
Enregistrez la table. Nous allons préciser les autres propriétés des champs.
Texte : Pour un champ destiné à contenir des caractères alphanumériques (lettres et/ou chiffres) comme un nom, une adresse. Il est limité à 255 caractères.
Mémo : Pour un champ destiné à contenir un grand nombre de caractères alphanumériques jusqu'à 65535 caractères, soit 64 Ko (description longue, résumé…) Numérique : Pour un champ destiné à contenir des nombres avec ou sans décimales
Date/Heure : Pour un champ destiné à contenir des dates ou des heures
Monétaire : Pour un champ destiné à contenir des valeurs monétaires (ex : 23,45€)
NuméroAuto : Pour un champ numérique (de type entier long) souvent clé primaire, incrémenté automatiquement par Access à chaque nouvel enregistrement.
Oui/Non : Seules deux données sont autorisées dans ce champ : Oui et Non.
Objet OLE : Pour un champ destiné à contenir une image, un son, un fichier OLE (Object Linked and Embbeded) est une technologie utilisée par Windows pour insérer dans une application des objets provenant d’autres applications.
Lien Hypertexte: Pour un champ destiné à contenir un lien cliquable.
Assistant liste de choix : ce n'est pas un type de données, mais une aide pour choisir l'élément dans une liste ou une table.
Régler chaque type de champ pour les 2 tables.
Pour chaque champ, déroulez la liste et choisissez le type de données adapté en vous aidant des tableaux suivants.
TypeInscription
Nom du champ | Clé-Index | Type de données | Propriétés |
CodeTypeInscription | Clé primaire | Texte | 1 caractère |
LibelleTypeInscription | Indexé sans doublons | Texte | 30 caractères |
MontantTypeInscription | Monétaire | Ex : 123, 45 € |
Etudiants
Nom du champ | Clé-Index | Type de données | Propriétés |
NumE | Clé primaire | NuméroAuto | |
NomE | Texte | 30 caractères | |
PrénomE | Texte | 30 caractères | |
TitreE | Texte * | Valeurs : M. ; Mme ; Mlle | |
DateNaissance | Date | JJ/MM/YYYY | |
CP | Texte | 5 caractères | |
Ville | Texte | 34 caractères | |
Tel | Texte | Masque de saisie | |
| Texte | 50 caractères | |
TypeInscription | Texte | 1 caractère | |
MoyenneBac | numérique |
Cliquez sur un champ pour accéder à ses propriétés en bas dans l'onglet Général. Choisissez la taille des champs de type texte et de type numérique dans l'onglet Général.
Choisissez le format des champs de type date et numérique. Propriétés des champs de type Texte et Mémo
Propriétés des champ | |
Taille du champ | Nombre de caractères maximum qui peuvent être saisis |
Format | Définit l'affichage du contenu du champ |
Masque de saisie | Oblige à saisir le contenu du champ selon un format précis (ex : exemple un numéro de téléphone) |
Légende | Libellé du texte qui remplace le nom de champ dans les affichages |
Valeur par défaut | Texte qui sera contenu par défaut dans ce champ |
Valide si | Expression pour valider la saisie exemple : <= 20 interdit la saisie de nombre >20 dans ce champ |
Message si erreur | Message d’erreur qui va être affiché si la saisie n’est pas valide exemple : taper un chiffre inférieur ou égal à 20 |
Null Interdit | Si oui, il faudra obligatoirement saisir une valeur dans ce champ |
Chaîne vide autorisée | La chaîne vide "" est autorisée si la propriété est à OUI. On peut l'utiliser quand on ne veut rien saisir dans un champ obligatoire. Si cette propriété est non, il faut obligatoirement saisir quelque chose dans ce champ. |
Indexée | Le champ sera un index avec ou sans doublons. Si l'index est sans doublons, il ne sera pas possible de saisir le même contenu deux fois pour ce champ dans la table |
Taille des champs selon le type | |||
Type / Format | Description | Taille | |
Texte | 1 caractère = 1 octet | 1 octet / caractère | |
Date/Heure | 8 octets | ||
Booléen | 1 bit | ||
Numéro Auto | Entier long, incrémenté, sans doublon | 4 octets | |
n u m ér iq u e | Octet | Nombres entier entre 0 et 255 (pas de fractions) sans décimale* | 1 octet |
Entier | Nombres entre –32 768 et 32 767 (pas de fractions), sans décimale* | 2 octets | |
Entier long | Nombres entre –2 147 483 648 et 2 147 483 647 (pas de fractions) sans décimale* (Valeur par défaut d'un numérique) | 4 octets | |
Réel simple | Nombres entre : –3,402823E38 et –1,401298E–45 pour les valeurs négatives 1,401298E–45 et 3,402823E38 pour les valeurs positives. | 4 octets | |
Réel double | Nombres entre : –1,79769313486231E308 et –4,94065645841247E–324 pour les valeurs négatives 1,79769313486231E308 et 4,94065645841247E–324 pour les valeurs positives. | 8 octets |
*Décimales : Nombres de chiffres après la virgule
En format abrégé, l'année est interprétée avec 1929 comme date pivot :
Dates de 1/1/00 à 31/12/29 1/1/2000 à 31/12/2029 (2 premiers chiffres = 20) Dates de 1/1/30 à 31/12/99 1/1/1930 à 31/12/1999 (2 premiers chiffres = 19)
A faire : Créer un format pour que le code d'inscription s'affiche toujours en majuscules quelle que soit la manière dont on le saisit. Idem pour le nom de l'étudiant.
Cliquez sur le champ pour lequel on souhaite imposer un format.
Dans l'onglet Général, complétez la zone Format avec le caractère choisi.
Format | Description |
> | Met en majuscules |
< | Met en minuscules |
Une liste de choix affiche des données prédéfinies qu’il est possible de sélectionner par la souris. Les données sont soit issues de valeurs préalablement fixées (cas ici du titre), soit issues d'une table (ce sera le cas du champ TypeInscription de la table Etudiants).
A faire : Créer une liste de choix pour le champ TitreE avec les 3 valeurs : "M.";"Mme";"Mlle".
Cliquez sur le champ pour lequel on souhaite créer une liste de choix.
Cliquez sur le type de données et sélectionnez « Assistant Liste de choix… »
Une boîte de dialogue permet de spécifier si l'on souhaite créer la liste à partir de données déjà existantes « …recherche les valeurs dans une table ou une requête » ou si l'on veut indiquer des valeurs particulières : Je taperai les valeurs souhaitées.
Sélectionnez l'option "Je taperai les valeurs souhaitées".
Laissez le nombre de colonne à 1
Cliquez dans la zone de saisie et taper la 1ère donnée de votre liste.
Appuyez sur Tab pour passer à la zone suivante qui s’incrémente automatiquement. Saisissez ainsi toutes les valeurs de la liste puis cliquer sur Suivant Conservez le nom Titre pour l’étiquette du champ.
Cliquez sur Terminer
Sélectionnez le champ Titre et régler dans l'onglet Liste de choix, la propriété Limiter à liste à Oui afin que l'utilisateur ne puisse pas saisir d'autres valeurs (liste non modifiable).
A faire : Paramétrer les champs CP et Tel en utilisant un masque de saisie prédéfini.
Les masques de saisie permettent de contrôler et de simplifier la saisie des données dans certains champs. Masque et format doivent être compatibles. Access permet d'utiliser un assistant pour choisir un masque de saisie prédéfini (ex : code postal, numéro de téléphone, date). Le masque de saisie contraint l'utilisateur à respecter ce masque (ex: saisie en majuscules)
Pour choisir un masque de saisie prédéfini avec l'assistant :
Sélectionner le champ.
Cliquer dans la zone Masque de saisie puis sur le bouton d’assistance qui apparaît à droite.
Dans la liste déroulante, choisir le masque voulu, tester éventuellement le masque en saisissant un exemple de donnée, puis cliquer sur Suivant.
Modifier si nécessaire le caractère qui s'affichera pour indiquer la position des caractères à saisir (par défaut _ ce qui convient dans la plupart des cas) , puis cliquer sur Suivant.
Indiquer si l'on souhaite enregistrer ou non les symboles du masque (espace du n° de téléphone par exemple). Pour gagner de mémoire de stockage, ne pas les enregistrer. Cliquer sur Terminer. La propriété Masque de saisie est complétée. Longueur et masque doivent donc être cohérents : si un numéro de téléphone est stocké sans les espaces, il faut 10 caractères. Sinon, il en faut 14.
On peut aussi créer un masque de saisie personnalisé, en tapant directement des symboles de contrôle des caractères dans la propriété Masque de saisie.
Symbole des masques de saisie | |
Caractère | Description |
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 de Windows). |
< | Conversion en minuscules de tous les caractères qui suivent. |
> | Conversion en majuscules de tous les caractères qui suivent. |
! | Le masque de saisie s'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. |
\ | Sert à afficher tout caractère compris dans ce tableau comme caractère d'affichage littéral (par exemple, \A s'affiche sous la simple forme A). |
Mot de passe | Tout caractère tapé dans cette zone de texte est stocké sous cette forme mais s'affiche sous forme d'astérisque *. |
Pour définir un caractère d'affichage littéral, entrer tout caractère différent de ceux du tableau, y compris les espaces et les symboles.
Pour spécifier l'un des caractères du tableau comme caractère d'affichage littéral, le faire précéder d'une barre oblique inversée ( \ ).
Si vous ne définissez pas de clé dans une table, Access proposera, lors de l'enregistrement de la table, de créer un nouveau champ clé ou utilisera un champ à numérotation s'il en existe un. Il est conseillé de mettre une clé à chaque table (pour établir des relations avec d'autres tables, et pour éviter les doublons) mais ce n'est pas techniquement obligatoire.
A faire :
Mettre comme clé primaire le code d'inscription dans la table TypeInscription
Mettre comme clé primaire le numéro d'étudiants dans la table Etudiants
Ouvrez la table concernée en mode création
Faites un clic DROIT sur la ligne du champ concerné et choisissez clé primaire.
Une petite clé apparaît à droite du champ.
Remarque : La clé primaire peut être constituée d'un ou parfois de plusieurs champs.
Un champ, sans être la clé primaire de la table, doit parfois être "unique", c'est-à-dire ne pas comporter de doublons dans les données.
A faire :
Mettre le libellé d'inscription de la table TypeInscription en index sans doublons
Ouvrez la table concernée en mode création Cliquez dans le champ concerné.
Dans l'onglet Général, déroulez la liste pour mettre la propriété Indexé à : Oui - Sans doublons
Un champ peut être indexé avec doublons. Indexer un champ améliore la recherche sur ce champ.
A faire : Mettre le nom des étudiants en index avec doublons
Ouvrez la table concernée en mode création Cliquez dans le champ concerné.
Dans l'onglet Général, déroulez la liste pour mettre la propriété Indexé à :
Oui - Avec doublons
A faire : mettre un contrôle de validité sur la moyenne au Bac (entre 0 et 20)
Cliquez sur le champ concerné
Dans l'onglet Général, complétez la zone valide si avec une condition
Dans l'onglet Général, complétez la zone Message si erreur
A faire : mettre un contrôle de validité sur le montant de l'inscription qui doit être entre 0 et 10 000.
Cliquez sur le menu Outils puis la commande Relations ou dans la barre d'outils, cliquez sur Relations
Dans la boite de dialogue Afficher la table, sélectionnez les tables à relier (si besoin avec la touche Maj ou Ctrl) et cliquez sur le bouton Ajouter.
Fermez la boite de dialogue Afficher la table.
Si vous souhaitez ajouter une autre table, sélectionnez le menu Relations puis la commande Afficher la table.
Déplacez les tables si besoin par cliquer/glisser.
Créer la relation entre les tables Etudiants et TypeInscription grâce au champ CodeTypeInscription qui va établir la jointure.
Cliquez sur le champ dela: table Etudiants à la table TypeInscription et le glisser vers le champ correspondantde la table TypeInscription.
Le pointeur devient pendant le déplacement
Une boite de dialogue Modification des relations s'affiche.
Les relations entre les tables peuvent être de type :
- Un à un (quand les 2 champs reliés sont des clés primaires ou unique) - Un à plusieurs (quand un des champs est une clé primaire ou unique).
Cochez les cases suivantes si besoin puis cliquez sur Créer :
- Appliquer l’intégrité référentielle : la contrainte d''intégrité référentielle oblige à ce que toute valeur de clé étrangère existe dans la table correspondante. Par exemple, le type d'inscription d'un étudiant doit correspondre à un type d'inscription présent dans la table Typeinscription.
- Mettre à jour en cascade les champs correspondants (si l'on souhaite que la modification d'une clé primaire, entraine la modification dela clé étrangère correspondante (ex : si le code d'inscription est modifié dans la table TypeInscription, il le sera aussi dans la table Etudiants.
- Effacer en cascade les enregistrements correspondants (si un enregistrement concernant un type est effacé, les enregistrements des étudiants correspondant à ce type sont aussi effacés).
Une relation matérialisée par un TRAIT existe maintenant entre les deux tables grâce au champ commun.
Remarque : double-cliquer sur le trait pour afficher de nouveau la boite de dialogue Modification des relations
Appelez le menu Fichier puisla commande Enregistrer.
Remarque : pour supprimer une relation :
Cliquez sur le trait (le trait sélectionné devient plus épais)
Appuyez sur la touche Suppr
Femez la fenêtre Relations
Saisissez les enregistrements donnés dans l'exemple du début.
Essayez d'ajouter dans la table TypeInscription
- un code d'inscription déjà existant
- un libellé d'inscription déjà existant
Essayez d'ajouter dans la table Etudiants
- un étudiant dont le type d'inscription n'est pas dans la table correspondante.
Modifiez dans la table TypeInscription :
- un code d'inscription existant (par exemple : E en S) pour vérifier la mise à jour en cascade.