• Aucun résultat trouvé

[PDF] Cours Base de donnée Access metodes et explications | Cours access

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Cours Base de donnée Access metodes et explications | Cours access"

Copied!
53
0
0

Texte intégral

(1)

Introduction

Avant de commencer, regardons quelques-uns des avantages d'une base de données. Accès à l'information plus rapidement et facilement.

Toute l'information se retrouve à une seule place; dans votre base de données. Plus besoin d'essayer de regrouper l'information qui provient de plusieurs sources. Recherche Ad hoc facile.

Ex.: Combien me reste-t-il en stock du produit X ? Qui sont mes dix clients les plus importants en ce moment ? Quels produits sont mes meilleurs vendeurs ? Quels sont mes meilleurs représentants ?

Meilleur suivi de l'information. Meilleure gestion des données. Meilleure analyse des données. Meilleure prise de décision.

Mieux apte à répondre aux besoins de la clientèle. Automatisation de certaines tâches répétitives.

POURQUOI APPRENDRE UNE BASE DE DONNÉES RELATIONNELLES ?

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 ...

Voici quelques-unes de ces données dans un BD simple.

No. Facture Client Produit Description Prix Unitaire Qté ...

1001 ABC 415 TRIANGLE 12.75 50

1002 ABC 416 CARRÉ 10.00 20

1003 XYZ 415 TRIANGLE 12.75 75

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.

Facture Client Vendeur Inventaire

No. Facture No. Client No. Vendeur No. Produit

No. Produit Adresse Nom Description

Qté vendue Code Postal Prénom Prix unitaire

No. Vendeur No. téléphone No. Ass. Soc. Qté disponible No. Client Personne autorisée Date d'embauche Qté commandée

(2)

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.

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

données: Un regroupement de tables, de requêtes, de formulaires, et de rapports et de programmation qui 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.

Quelles sont les composantes d'Access ?

Tables: Structure de la table, type de champs et les informations qui y sont entreposées. Requêtes

:

Recherche d'information qui répond à certains critères déterminés par l'utilisateur.

Formulai re:

Présentation de l'information à l'écran d'une manière pratique pour l'utilisateur.

(3)

État: Présentation de l'information sur papier d'une manière pratique pour l'utilisateur. Macro: Développement de routines pour automatiser certaines tâches. Modules:Programmation

Création d'une base de données

Pour vous aider à comprendre la création d'une base de données, cette page va

démontrer les étapes à suivre. Afin d'éviter la répétition du texte de ce site, il vous sera demandé d'aller lire le texte d'autres pages pour les tables et les relations. 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 .

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.

Liste des champs

Voici la liste de champs que l'on peut retrouver une facture.

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.

(4)

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.

Déterminer les clés primaires

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.

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

(5)

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. L'explication pour

appliquer la clé primaire sur un ou plusieurs champs de la table est sur la page Web suivante sur les tables.

Déterminer les relations entre les tables

Pour qu'une relation soit possible entre deux tables, il faut: 2 tables (ou requêtes ou une combinaison des deux) 1 champ en commun dans chacune des tables.

Même type de champ (Texte avec texte, numérique avec numérique... sauf exception de numéroauto avec numérique)

Même longueur (Pas un champ long de 15 caractères avec un autre long de 50 caractères !)

Même genre d'information (Ex.: Code d'inventaire avec des codes d'inventaires, NAS avec NAS ...)

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.

Déterminer les types de relations (cardinalité)

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.

(6)

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.

La normalisation et les formes normales.

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. Première forme normale: répétition des données

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.

Par exemple, une facture peut contenir plusieurs produits. Numéro de facture Numéro de produit

1 1, 3, 5

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

(7)

chaque facture la même information qu'il a déjà entrée 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.

Facture: Numéro de facture, date, bon de commande, escompte

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

Employés: Numéro du vendeur, nom, prénom, numéro d'assurance social

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.

Deuxième forme normale: Dépendance directe à la 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.

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.

Facture: Numéro de facture, Date, bon de commande, escompte

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

Employés: Numéro du vendeur, nom, prénom, numéro d'assurance social Inventaire: Numéro de produit, description, prix unitaire, quantité disponible Items: Numéro de facture , Numéro de produit , Quantité achetée

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ée de deux champs: Numéro de facture et Numéro de produit. Ce sont aussi les clés primaires des tables Facture et Inventaire.

(8)

Numéro de facture Numéro de produit Quantité achetée

1 1 10

1 2 25

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: Dépendances partielles de la clé

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.

Attention !

Si vous êtes dans le laboratoire d'informatique au moment de la création de votre première base de données, assurez-vous de sauvegarder le fichier sur le lecteur A: . Ne créez pas votre base de données sur le disque dur. Sinon, un technicien sera obligé de venir vous aider à la déplacer sur votre disquette. À chaque session, un étudiant "perd" sa base de données qu'il, ou elle, a créer sur le disque dur au lieu de sa disquette personnelle.

Du menu Fichier, sélectionnez l'option Nouveau.

Access va ensuite vous demander quel nom vous voulez donner à votre fichier et sur quel lecteur. Pour les besoins des démonstrations appelez-le ACCESS1.MDB.

Appuyez sur le bouton OK.

Maintenant que vous avez créé la base de données, il reste qu'a créer les tables, entrer l'information, créer les requêtes, les formulaires, les états, les macros et les modules pour votre base de données. Donc, il reste encore beaucoup de travail.

(9)

Réparer une base de données

Il peut arriver par accident que vous retirez la disquette sur laquelle se retrouve votre base de données avant de l'avoir fermé dans Access. Ou, la base de données s'est mal sauvegardée sur la disquette. Ceci peut endommager une base de données. Access vous offre une manière de réparer une base de données endommagée. La procédure se fait en deux étapes: réparer et compacter la base de données. Le premier isole le problème et le second le retire de la base de données.

Ouvrez le programme Access mais n'ouvrez aucune base de données. Du menu Outils, sélectionnez l'option Utilitaires de base de données. Sélectionnez l'option Réparer une base de données.

Sélectionnez le fichier à réparer sur le disque dur ou la disquette.

Appuyez sur le bouton Réparer.

Access va prendre quelques instants pour réparer votre base de données. Si tout s'est bien déroulé, Access vous affiche ensuite un message indiquant que la base de données a été réparé avec succès.

Compacter une base de données

La dernière étape a isolé le problème. Mais celui-ci est encore dans la base de données. L'opération de compacter va non seulement retirer les enregistrements, les tables, les requêtes et les états que vous avez supprimés de votre base de données, mais aussi le problème. Bien qu'ils ne soient plus accessibles, ils sont encore dans le fichier de la base de données.

Ouvrez le programme Access mais n'ouvrez aucune base de données. Du menu Outils, sélectionnez l'option Utilitaires de base de données. Sélectionnez l'option Compacter une base de données.

(10)

Appuyez sur le bouton Compacter.

L'opération pour compacter une base de données consiste à en créer une nouvelle avec seulement les éléments qui sont encore utiles. Access va ensuite vous demander quel est le nom de la nouvelle base de données.

Donnez un nom à la nouvelle base de données de votre choix dans la case "Nom du fichier".

Appuyez sur la touche Entrée ou le bouton Enregistrer.

Malgré cette procédure, il est toujours possible que la base de données soit trop endommagée pour être réparée. C'est pour cette raison, autant pour les bases de données d'Access que pour tout autre document, que vous devriez avoir une copie de sécurité de vos documents. N'oubliez pas qu'avec Access, il est impossible de faire une

(11)

copie de sécurité pendant que la base de données est ouverte. Vous pouvez copier le fichier de la base de données seulement après avoir quitté Access.

Note au lecteur

Ceci est la première page d'Access sur ce site. Il y a plusieurs autres pages sur Access qui couvrent des thèmes précis. Appuyez sur le bouton suivant de la barre d'outils pour voir la suite. Ou cliquez ici pour revoir la liste des thèmes couvert mentionnée au début de cette page.

Références

http://www.cathyastuce.com Cathy Astuces, site très intéressant et complet sur plusieurs logiciels incluant Access et VBA

http://enseignement.insset.u-picardie.fr/deug/ti/cours/access/ Cours sur Access complet.

http://perso.wanadoo.fr/jeanmarc.stoeffler/access/IndexAccess.htm Offert par Jean-Marc Stoeffler

http://www.mvps.org/accessfr/ Quelques trucs et astuces sur Access

Introduction

Avant de commencer, regardons quelques-uns des avantages d'une base de données. Accès à l'information plus rapidement et facilement.

Toute l'information se retrouve à une seule place; dans votre base de données. Plus besoin d'essayer de regrouper l'information qui provient de plusieurs sources. Recherche Ad hoc facile.

Ex.: Combien me reste-t-il en stock du produit X ? Qui sont mes dix clients les plus importants en ce moment ? Quels produits sont mes meilleurs vendeurs ? Quels sont mes meilleurs représentants ?

Meilleur suivi de l'information. Meilleure gestion des données. Meilleure analyse des données. Meilleure prise de décision.

Mieux apte à répondre aux besoins de la clientèle. Automatisation de certaines tâches répétitives.

POURQUOI APPRENDRE UNE BASE DE DONNÉES RELATIONNELLES ?

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 ...

(12)

Voici quelques-unes de ces données dans un BD simple.

No. Facture Client Produit Description Prix Unitaire Qté ...

1001 ABC 415 TRIANGLE 12.75 50

1002 ABC 416 CARRÉ 10.00 20

1003 XYZ 415 TRIANGLE 12.75 75

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.

Facture Client Vendeur Inventaire

No. Facture No. Client No. Vendeur No. Produit

No. Produit Adresse Nom Description

Qté vendue Code Postal Prénom Prix unitaire

No. Vendeur No. téléphone No. Ass. Soc. Qté disponible No. Client Personne autorisée Date d'embauche Qté commandée

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.

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.

(13)

Base de données:

Un regroupement de tables, de requêtes, de formulaires, et de

rapports et de programmation qui 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.

Quelles sont les composantes d'Access ?

Tables: Structure de la table, type de champs et les informations qui y sont entreposées. Requêtes

:

Recherche d'information qui répond à certains critères déterminés par l'utilisateur.

Formulai re:

Présentation de l'information à l'écran d'une manière pratique pour l'utilisateur.

État: Présentation de l'information sur papier d'une manière pratique pour l'utilisateur. Macro: Développement de routines pour automatiser certaines tâches. Modules:Programmation

Création d'une base de données

Pour vous aider à comprendre la création d'une base de données, cette page va

démontrer les étapes à suivre. Afin d'éviter la répétition du texte de ce site, il vous sera demandé d'aller lire le texte d'autres pages pour les tables et les relations. 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 .

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

(14)

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.

Liste des champs

Voici la liste de champs que l'on peut retrouver une facture.

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.

La seconde étape: regrouper les informations dans des tables.

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.

(15)

À l'exception des champs en commun qui servent à "relier" les tables, un champ ne devrait pas se retrouver dans plusieurs tables.

Déterminer les clés primaires

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.

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. L'explication pour

appliquer la clé primaire sur un ou plusieurs champs de la table est sur la page Web suivante sur les tables.

Déterminer les relations entre les tables

Pour qu'une relation soit possible entre deux tables, il faut: 2 tables (ou requêtes ou une combinaison des deux) 1 champ en commun dans chacune des tables.

Même type de champ (Texte avec texte, numérique avec numérique... sauf exception de numéroauto avec numérique)

Même longueur (Pas un champ long de 15 caractères avec un autre long de 50 caractères !)

Même genre d'information (Ex.: Code d'inventaire avec des codes d'inventaires, NAS avec NAS ...)

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.

(16)

Déterminer les types de relations (cardinalité)

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.

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.

La normalisation et les formes normales.

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. Première forme normale: répétition des données

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.

Par exemple, une facture peut contenir plusieurs produits. Numéro de facture Numéro de produit

1 1, 3, 5

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

(17)

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ée 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.

Facture: Numéro de facture, date, bon de commande, escompte

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

Employés: Numéro du vendeur, nom, prénom, numéro d'assurance social

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.

Deuxième forme normale: Dépendance directe à la 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.

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.

Facture: Numéro de facture, Date, bon de commande, escompte

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

Employés: Numéro du vendeur, nom, prénom, numéro d'assurance social Inventaire: Numéro de produit, description, prix unitaire, quantité disponible

(18)

Items: Numéro de facture , Numéro de produit , Quantité achetée

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ée de deux champs: Numéro de facture et Numéro de produit. Ce sont aussi les clés primaires des tables Facture et Inventaire.

Numéro de facture Numéro de produit Quantité achetée

1 1 10

1 2 25

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: Dépendances partielles de la clé

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.

Attention !

Si vous êtes dans le laboratoire d'informatique au moment de la création de votre première base de données, assurez-vous de sauvegarder le fichier sur le lecteur A: . Ne créez pas votre base de données sur le disque dur. Sinon, un technicien sera obligé de venir vous aider à la déplacer sur votre disquette. À chaque session, un étudiant "perd" sa base de données qu'il, ou elle, a créer sur le disque dur au lieu de sa disquette personnelle.

(19)

Du menu Fichier, sélectionnez l'option Nouveau.

Access va ensuite vous demander quel nom vous voulez donner à votre fichier et sur quel lecteur. Pour les besoins des démonstrations appelez-le ACCESS1.MDB.

Appuyez sur le bouton OK.

Maintenant que vous avez créé la base de données, il reste qu'a créer les tables, entrer l'information, créer les requêtes, les formulaires, les états, les macros et les modules pour votre base de données. Donc, il reste encore beaucoup de travail.

Réparer une base de données

Il peut arriver par accident que vous retirez la disquette sur laquelle se retrouve votre base de données avant de l'avoir fermé dans Access. Ou, la base de données s'est mal sauvegardée sur la disquette. Ceci peut endommager une base de données. Access vous offre une manière de réparer une base de données endommagée. La procédure se fait en deux étapes: réparer et compacter la base de données. Le premier isole le problème et le second le retire de la base de données.

Ouvrez le programme Access mais n'ouvrez aucune base de données. Du menu Outils, sélectionnez l'option Utilitaires de base de données. Sélectionnez l'option Réparer une base de données.

Sélectionnez le fichier à réparer sur le disque dur ou la disquette.

Appuyez sur le bouton Réparer.

Access va prendre quelques instants pour réparer votre base de données. Si tout s'est bien déroulé, Access vous affiche ensuite un message indiquant que la base de données a été réparé avec succès.

Compacter une base de données

La dernière étape a isolé le problème. Mais celui-ci est encore dans la base de données. L'opération de compacter va non seulement retirer les enregistrements, les tables, les

(20)

requêtes et les états que vous avez supprimés de votre base de données, mais aussi le problème. Bien qu'ils ne soient plus accessibles, ils sont encore dans le fichier de la base de données.

Ouvrez le programme Access mais n'ouvrez aucune base de données. Du menu Outils, sélectionnez l'option Utilitaires de base de données. Sélectionnez l'option Compacter une base de données.

Sélectionnez le fichier à compacter sur le disque dur ou la disquette.

Appuyez sur le bouton Compacter.

L'opération pour compacter une base de données consiste à en créer une nouvelle avec seulement les éléments qui sont encore utiles. Access va ensuite vous demander quel est le nom de la nouvelle base de données.

(21)

Donnez un nom à la nouvelle base de données de votre choix dans la case "Nom du fichier".

Appuyez sur la touche Entrée ou le bouton Enregistrer.

Malgré cette procédure, il est toujours possible que la base de données soit trop endommagée pour être réparée. C'est pour cette raison, autant pour les bases de données d'Access que pour tout autre document, que vous devriez avoir une copie de sécurité de vos documents. N'oubliez pas qu'avec Access, il est impossible de faire une copie de sécurité pendant que la base de données est ouverte. Vous pouvez copier le fichier de la base de données seulement après avoir quitté Access.

Note au lecteur

Ceci est la première page d'Access sur ce site. Il y a plusieurs autres pages sur Access qui couvrent des thèmes précis. Appuyez sur le bouton suivant de la barre d'outils pour voir la suite. Ou cliquez ici pour revoir la liste des thèmes couvert mentionnée au début de cette page.

Références

http://www.cathyastuce.com Cathy Astuces, site très intéressant et complet sur plusieurs logiciels incluant Access et VBA

http://enseignement.insset.u-picardie.fr/deug/ti/cours/access/ Cours sur Access complet.

http://perso.wanadoo.fr/jeanmarc.stoeffler/access/IndexAccess.htm Offert par Jean-Marc Stoeffler

http://www.mvps.org/accessfr/ Quelques trucs et astuces sur Access

Pour ce faire, la première partie de cette page consiste à la création d'une table pour conserver certaines informations sur les employés d'une compagnie. Vous allez voir de cette manière toutes les étapes pour la création et la gestion d'une table.

Au moment de la création de vos tables pour vos besoins, n'oubliez surtout pas la phase d'analyse. Une bonne analyse en profondeur de vos besoins et des données dont vous avez besoin pour atteindre vos attentes peuvent à la fin vous sauver beaucoup de temps et d'aggravations. Cette phase est expliquée en plus de détails sur la page d'introduction d'Access.

Avant de commencer, voici quelques explications sur les champs de la table Employés. Chaque enregistrement de la table doit avoir le nom et le prénom de la personne. Le poste est l'occupation que la personne occupe dans l'entreprise. Pour cet exemple, il n'y a que deux types de poste: les gérants et les vendeurs. Le champ bureau indique le lieu de travail. Pour cette entreprise, il y a des employés à Montréal et à Québec. Les gérants travaillent selon un salaire tandis que les vendeurs travaillent seulement à commission. Pour terminer, il est nécessaire d'avoir la date d'embauche de l'employé.

Voici la liste des champs de la table Employés ainsi que les caractéristiques obligatoires. En plus de donner un nom au champ, il faut lui déterminer un type et, dans la plupart des cas, une taille. Il faut indiquer la taille des champs selon le nombre de caractères que vous voulez conserver dans ces champs.

(22)

Nom du champ Type de champ Taille Format Prénom Texte 15 Nom Texte 15 Poste Texte 10 Bureau Texte 15 Salaire Monétaire Commission Monétaire

Embauche Date Date abrégée

Création d'une table

Pour cet exercice, il consiste à créer une table qui contient de l'information sur les employés d'une compagnie. Avant même d'entrer de l'information, il faut donner une structure à cette table. Il faut déterminer une liste de champs ainsi que les

caractéristiques de ces champs. C'est seulement après cette étape qu'il sera possible d'entrer de l'information.

Cliquez sur l'onglet Tables . Appuyez sur le bouton Nouveau.

Access vous offre plusieurs manières de créer une table de données. Le mode feuille de données vous affiche une grille dans laquelle vous écrivez simplement les informations que vous voulez conserver. Vous pourrez ensuite choisir le mode création pour changer les options qu'Access avait déterminées pour vous. Le mode création contient toutes les options pour créer et personnaliser la structure d'une table de données. L'assistant Table vous donne de l'aide à la création d'une table en vous demandant de choisir parmi une liste de champs qui se retrouvent le plus souvent dans une table. Vous pouvez aussi importer une table à partir d'une autre base de donnée d'Access ou même d'une feuille de travail d'Excel. La dernière option vous permet de faire un lien à une autre table d'une autre base de données et d'accéder à ses informations.

De la liste des choix, sélectionnez l'option Mode Création.

(23)

Lors de l'ajout d'un champ à la structure d'une table, il faut lui donner un nom et un type de champ. Selon le type de champ, il faut aussi indiquer à Access le nombre de

caractères que vous voulez préserver dans le champ. Vous pouvez aussi, à votre choix, ajouter un commentaire pour donner plus d'information sur le contenu du champ.

Les types de champs

Access vous donne le choix entre plusieurs types de champ

Texte Peut contenir des chiffres ou des lettres. Par défaut, Access indique que la taille du champ est de 50 caractères. Vous pouvez toujours modifier la taille du champ selon vos besoins. Le maximum est de 255 caractères. Mémo Utile pour inscrire des commentaires. La taille du champ n'est pas

déterminée. Le maximum est de 65 535 caractères.

Numérique Peut contenir des chiffres seulement. Vous pouvez aussi déterminer le nom de chiffres après la décimale selon vos besoins.

Date/Heure Peut contenir ou afficher des dates ou même de l'heure. Bien qu'une date ou une heure soit affichée, Access conserve ces données sous forme de chiffre. Chaque chiffre représente une journée. Chiffre 1 est pour le 1 janvier 1900. Le chiffre 2 pour le 2 janvier ... Access conserve l'heure, les minutes et les secondes en fractions de journée. Donc 0,5 est l'équivalent de midi, 0,75 de 18h etc. C'est aussi plus facile de faire la différence entre deux dates.

Monétaire Il s'agit d'un type de champ numérique. Le format du champ est déjà prêt pour afficher le signe $.

NuméroAuto Champ numérique entier qui augmente automatiquement d'un (1) à chaque nouvel enregistrement que vous ajoutez à la table. Autrefois appelé compteur. C'est idéal pour ajout de nouvelles factures, de commandes ou de clients.

Oui/Non Champ logique. Détermine si un cas s'applique ou pas. Ex.: fumeur, non-fumeur. Access conserve l'information sous forme numérique. 0 = faux, -1 = vrai.

Objet OLE Permet de faire un lien à un objet provenant d'applications Windows. Il est capable de gérer en liant ou en implantant dans la base de données (Object Linking and Embedding).

Lien

(24)

gopher, et les newsgroups. Assistant liste

de choix Cet assistant vous permet d'accéder à une liste de choix prédéterminé qui est contenu dans une autre table ou requête. Cette liste peut être le contenu d'une tables, d'une requête ou que vous avez préparé vous même.

Au choix de l'utilisateur, il est aussi possible d'ajouter une description. Ceci est pratique lorsque vous revenez quelques mois plus tard et voulez savoir pourquoi vous avez choisi d'avoir ces champs dans la table. Cette description va aussi apparaître dans le coin inférieur gauche de la fenêtre au moment de l'entrée ou la modification des données.

Les propriétés du champ

Au bas de l'écran, il y a les caractéristiques ou les propriétés du champ. Chacun est pratique selon les circonstances. La partie qui suit explique chacune de ces propriétés et quand ceux-ci sont pratiques. Vous pouvez aussi aller chercher plus d'information sur l'une des propriétés ci-dessous en plaçant le pointeur sur celle-ci et en appuyant sur la touche F1.

Taille: Détermine le nombre de caractère qui peut être contenu dans un champ. Cette propriété est seulement valide pour les champs de type Texte. Les autres types de champs ont déjà une taille prédéterminée.

Format: Détermine la façon que l'information sera affichée dans le champ. Masque de

saisie: Détermine la façon que l'information sera entrée dans le champ. Légende: Texte qui sera affiché dans la feuille de données, les formulaires et les

états à la place du nom du champ. Valeur par

défaut: Détermine une valeur initiale lors de l'ajout de nouveaux enregistrements.

Valide si: Place des bornes ou des limites sur le genre d'information qui peut être entré dans un champ. Par exemple, peu de personnes seraient prêtes à travailler pour un salaire négatif.

Message si

erreur: Affiche ce message si le contenu du champ ne respecte pas les restrictions de la propriété valide si. Null Interdit: Si actif, ne permet pas d'avoir un contenu vide dans le champ. Chaîne vide

autorisée: Permet d'insérer des espaces " " dans un champ.

Indexé: Cette propriété est pour afficher les informations en ordre croissant lors de l'affichage. Elle est aussi nécessaire lors de la création de relations avec d'autres tables.

Ces dernières propriétés sont ceux qui sont disponibles pour les champs de type Texte. Voici quelques propriétés supplémentaires disponibles pour les autres types de champs. Décimales (Numérique,

Monétaire):

Détermine le nombre de décimales qui sera conservé avec le chiffre.

Nouvelles Valeurs

(25)

Pour avoir plus d'informations sur les propriétés des champs:

Placez le pointeur dans la propriété pour laquelle vous voulez plus d'informations. Appuyez sur la touche F1.

L'aide d'Access va vous afficher l'information qu'elle possède sur cette propriété.

Clé primaire

Une clé primaire est un champ, ou une série de champs, qui aide à différencier un enregistrement de tous les autres de la table. Par exemple, on peut utiliser le numéro d'assurance sociale pour différencier chacun des employés de la compagnie. Il n'y a pas deux qui sont identiques. On peut aussi utiliser un numéro d'inventaire pour différencier chacun des produits des autres etc.

Une clé primaire peut aussi être composée de plusieurs champs. Tant que la combinaison de champ différencie un enregistrement des autres. Par exemple, on peut ajouter une réservation sachant qu'il n'y aura pas deux personnes qui vont se présenter en même temps avec le même nom. Si cela serait le cas, il faudrait ajouter un autre champ à la clé primaire pour les différencier. Ou, on pourrait simplement créer un champ No. de

réservation pour régler le problème. L'utilisation de plusieurs champs pour composer une clé primaire est très rare mais possible.

La méthode pour insérer la clé primaire sur un ou des champs de la table sera expliquée un peu plus loin sur cette page; au moment de la modification de la table.

Clé secondaire

Une clé secondaire est un champ qui est relié à la clé primaire d'une autre table. Par exemple, le champ de la table Facture peut être relié à la clé No. de client de la table Clients.

(26)

Sauvegarder la structure de la table

Après avoir conçu une table, il faut la conserver.

Appuyez sur le bouton . OU

Du menu Fichier, sélectionnez l'option Enregistrer.

Access va ensuite vous demander quel est le nom de la nouvelle table.

Entrez le nom de votre choix. Pour cet exercice, entrez le nom Employés et appuyez sur le bouton OK.

Access va possiblement vous demander si vous voulez ajouter une clé primaire à votre table. Pour le moment, cette table n'a pas besoin de clé primaire. Elle sera ajoutée un peu plus loin sur cette page.

Appuyez sur le bouton Non.

Entrée de données

Maintenant que la structure de la table est définie, il est possible d'entrer de l'information utile pour l'utilisateur; des données. Pour commencer, il y a des données sur les quatre employés du bureau de Montréal. La prochaine étape consiste à entrer ces données dans la table.

Appuyez sur le bouton . OU

Du menu Affichage, sélectionnez l'option Mode Feuille de données.

Access va vous montrer une grille pour entrer les données comme celle-ci (sans les données).

Entrez les informations suivantes sur les employés de la compagnie. Prénom Nom Poste Bureau Salaire Commission Embauche Roger Lepage Gérant Montréal 50000 92-01-01 Denis Lambert Vendeur Montréal 43000 92-01-01 Suzanne Rémi Vendeur Montréal 65000 93-01-01 Éric Gendron Vendeur Montréal 23000 93-06-06

Note: La dernière ligne d'une table ou d'une requête affiche toujours un "*" dans la case grise à la gauche de la ligne. Ceci est pour indiquer la fin de celle-ci. Entrez les chiffres

(27)

sans les signes $. Au laboratoire, entrez les dates en format année (2 chiffres), mois, jour avec un tiret entre chacun.

Insérer un masque de saisie

Un masque de saisie est pour indiquer à Access la manière que l'information soit entrée dans une table. Vous pouvez forcer l'utilisateur à entrer les données d'une certaine manière. Par exemple, il est impensable d'avoir des lettres dans un numéro de téléphone ou un numéro d'assurance social. De même, un code postal est une série de lettres et de chiffres. Comment s'assurer que les données seront entrées de la bonne manière ? C'est pour cette raison qu'il y a les masques de saisie.

Access a déjà quelques gabarits (modèles) pour les données qui se retrouvent le plus souvent dans une base de données. La partie qui suit est pour vous démontrer comment accéder à ces modèles. Vous l'appliquerez selon vos besoins dans vos propres tables.

Placez le curseur sur le champ que vous voulez ajouter un masque de saisie. Parmi sa liste de propriétés, cliquez sur celle du masque de saisie.

Au bout de la case, un bouton avec trois petits points à l'intérieur vient d'apparaître.

Appuyez sur ce bouton.

Access va peut-être vous demander de sauvegarder votre table avant de pouvoir continuer. Sauvegardez-la. Si Access vous demande aussi une clé primaire, pour les besoins de l'exercice, n'en ajoutez pas pour le moment.

La fenêtre avec la liste des modèles vient d'apparaître.

Il y a plusieurs modèles. Chacun est pour une occasion différente. Vous pouvez les utiliser pour entrer un numéro de téléphone jusqu'à un mot de passe.

(28)

Une fois que vous aurez fait votre choix de masque de saisie, appuyez sur le bouton Suivant.

La fenêtre suivante va apparaître.

Cette fenêtre vous montre le masque de saisie. Vous pouvez expérimenter en écrivant du texte dans la case Essayer. Il vous est possible de changer le format du masque de saisie pour mieux répondre à vos besoins. En plaçant le curseur dans la case Masque de saisie et en appuyant sur la touche F1, vous aurez une liste des possibilités pour le format du masque de saisie. Cette liste est très détaillée et devrait être lu attentivement.

Une fois que vous aurez déterminé le masque de saisie, appuyez sur le bouton Suivant.

(29)

Access vous demande ensuite de quelle manière que l'information sera entreposé dans le champ: avec ou sans les symboles du masque de saisie (les parenthèses, les espaces ainsi que les tirets).

Faites votre choix et appuyez sur le bouton Suivant.

Une dernière fenêtre devrait apparaître pour vous indiquer que la création du masque de saisie est terminée.

À moins que vous vouliez changer une option en appuyant sur le bouton Précédent, il ne reste qu'à appuyer sur le bouton Terminer.

Ajouter un masque de saisie

L'option précédente montrait comment utiliser les masques de saisies existant. Mais, il vous est aussi possible d'ajouter vos propres masques de saisies pour mieux répondre à vos besoins. Le texte qui suit montre les étapes à suivre pour créer un nouveau masque de saisie. Le prochain exercice va créer un nouveau masque de saisie pour un code d'inventaire. Ce code est composé de trois lettres, d'un tiret et de quatre chiffres.

Entrer dans le mode de masque de saisie en appuyant sur le bouton (...). Appuyez sur le bouton situé au coin inférieur gauche de la fenêtre. Appuyez sur le bouton pour vous rendre à la fin de la liste des masques de saisies et pouvoir en ajouter un nouveau.

Une fenêtre va apparaître dont toutes les cases seront vides. C'est à vous d'entrer le nom du masque de saisie, sa présentation, s'il y a des espaces réservés. Vous pourrez même ajouter un exemple du masque de saisie.

(30)

Une fois que vous avez entré les options voulues, appuyez sur le bouton Fermer. Vous pouvez ajouter autant de masques de saisie que vous voulez.

Insérer un Valide Si

La propriété Valide Si permet de mettre des limites ou des bornes à l'entré de données. Par exemple, il y a très peu de personnes qui aiment travailler pour un salaire ou une commission négative. L'exercice consiste à démontrer le fonctionnement de ValideSi en l'utilisant pour ne pas permettre des valeurs négatives aux champs Salaire et

Commission.

Ouvrez la table Employés en mode création. Placez le pointeur sur le champ Salaire.

Les propriétés du champ vont apparaître dans la section du bas. Placez le pointeur dans la case Valide Si.

C'est dans cette case que vous mettez les critères de validation. Vous pouvez utiliser de différents opérateurs ( =, >, <, <=, >=, <>, Entre et, ou, Pas ...) pour créer le critère de validation. Pour l'exercice, il faut s'assurer que la valeur qui est entrée dans le champ ne soit pas négative.

Dans la case Valide Si, entrez le critère suivant: >= 0 .

Dans l'exercice, il est possible qu'une personne gagne aucun salaire ou aucune commission selon l'occupation de l'employé dans l'entreprise. Les gérants gagnent

seulement un salaire tandis que les vendeurs gagnent seulement une commission sur les ventes. Donc, il est possible d'avoir un salaire ou une commission égale à zéro.

La case Message si erreur est le texte qui va apparaître à l'écran lorsque le contenu du champ ne respecte les critères de validation. Dans ce cas, si l'utilisateur entre un chiffre négatif.

(31)

Dans la case Message si erreur, entrez le texte suivant: Un employé de l'entreprise ne peut pas avoir un salaire négatif. Entrez un chiffre positif ou zéro.

Répétez l'opération pour le champ Commission.

La prochaine fois que vous entrerez ou modifierez le contenu des enregistrements, essayez d'entrer une valeur négative pour voir le résultat.

Modification de la table

Après un certain temps, vous vous apercevrez que des changements sont nécessaires à une table. Elle a besoin de nouveaux champs. Ou, certains champs ont besoin d'être modifiés ou simplement éliminés.

À partir du mode feuille de données, appuyez sur le bouton OU

Du menu Affichage, sélectionnez l'option création. OU

À partir du menu principal, sélectionnez la table et appuyez sur le bouton Modifier. Pour l'exemple, il faut ajouter quatre nouveaux champs: Numéro de poste, statut, permanence et commentaires. Le champ Numéro de poste sera utilisé pour différencier chacun des enregistrements. Il sera la clé primaire de la table. De plus, le champ Numéro de poste sera inséré au début de la structure de la table. Le champ Statut servira à conserver le statut marital de l'employé. Ce champ sera du type Numérique. Il va conserver le statut marial selon un chiffre: 1 = célibataire, 2 = marié sans dépendants, 3 = marié avec dépendants, 4 = divorcé, 5 = divorcé avec allocation familiale. Donc, les seules chiffes valides sont entre 1 et 5. Il sera aussi utilisé lors de la création d'un formulaire. Le champ Permanence sera du type Oui/Non. Il va déterminer si la personne à reçu sa permanence dans l'entreprise. Le champ Commentaire sera de type mémo. Il sera possible d'écrire des commentaires, au sujet de la performance de chacun des employés de l'entreprise.

Nom du champ Type de champ Taille Format Autre Numéro de poste Compteur

Prénom Texte 15 Nom Texte 15 Poste Texte 10 Bureau Texte 15 Salaire Monétaire Commission Monétaire

Embauche Date Date abrégée

Statut Numérique Entier long Valide si: Entre 1 et 5 Permanence Oui/Non

Commentaires Mémo

Insérer un champ

Placez le pointeur sur la ligne que vous voulez insérer un nouveau champ à la table. Pour l'exercice, placez le pointeur sur la première ligne de la table, soit la ligne du champ Prénom.

Références

Documents relatifs

D'autre part, si l'on tient compte du fait que, pour le haoussa, la plus grande diversité dialectale se situe dans la partie Nord-Ouest (Dogon Doutchi, Tibiri, Sokoto, Ader,

Analysis of retinal structure revealed CFHY402H was related to increased drusen area, mid reflectivity, and geographic atrophy, meanwhile ARMS2A69S had fewer correlations

D'ailleurs les changements consonantiques que l'on peut remarquer dans la syllabe principale sont les mêmes que dans les monosyllabes (en particulier, muong s &gt; t )..

The parameters we use for the validation are: totaïdistance is the sum of the errors (the error is the distance between two corresponding points), totaïpoints is the total number

L’éminente dignité de l’imitation, selon Quintilien, ou de l’« innutrition », pour reprendre le mot de Du Bellay, a un nom, c’est la voie royale du pastiche qui

Generally, the best contrast enhancement algorithm has low values of ALVS and ALVE, which quantify respectively the noise enhancement and the presence of ha- los, and high ALVD,

Ainsi les mécanismes de déformation considérés comme prépondérants pour la mise en forme d’un empilement HiTape sont la flexion hors-plan, le cisaillement plan (à vérifier) et

Load-Aware Shedding (LAS) is based on a simple, yet effective, idea: if we assume to know the execution duration w(t) of each tuple t in the operator, then we can foresee queuing