OK Le Logiciel ACCESS Par La Pratique
OK Le Logiciel ACCESS Par La Pratique
OK Le Logiciel ACCESS Par La Pratique
FACULTE DE M EDECINE
UNIVERSITE DE RENNES I
S ERVICE DU PR P. LE BEUX
MSBM
INFORMATIQUE
MEDICALE
ANNEE 2000-2001
Une base de données peut être définie comme étant un ensemble structuré et non redondant des données et des relations
les associant, accessibles par l’ordinateur dans différentes applications et pouvant satisfaire simultanément plusieurs
utilisateurs en un temps opportun. Elle permet d'enregistrer et de mettre à jour des données, d'extraire à la demande tout
sous-ensemble de ces données et de générer de nouvelles connaissances à partir des informations accumulées.
1 Les étapes
1) Définir les objectifs et le contenu
Quel est le but de la base de données ?
Quelles informations sont utiles ?
Comment seront exploitées les données ?
2) Définir les informations
Identifier la structure commune (partie constante) -> les champs
Par exemple : fichier idendité patient :
Nom, Prénom, Date de naissance,... = structure ou modèle (nom des champs)
Dupont René, Durand Alfred,... = le contenu des champs
3) Décrire les champs
Quel type de données : alphanumérique, nombres, données booléennes (Vrai, Faux), données chronologiques
(date, heure) ou données multimédia (images fixes, animées, sons).
Définir leurs propriétés : indexés, uniques (clé primaire), choix dans une liste, etc.
4) Normalisations
Définir les tables et les relations entre les tables. La normalisation consiste à répartir les informations dans
différentes tables reliées entre elles, de façon à éviter d'enregistrer les même données à plusieurs reprises.
1) Le modèle en cascade
Spécification
Conception
Réalisation
Validation
Maintenance
Access - page 4
2) Le modèle en spirale
Validation 3 Analyse
Implémentation Conception
1-Les tables contiennent les informations. Elles sont constituées de lignes et de colonnes. Une ligne correspond à un
"enregistrement". L'intersection entre une ligne et une colonne est appelée "champ".
Ces tables peuvent être reliées les unes aux autres par des relations d'un champ de la première table à un champ de la
seconde, ces 2 champs se rapportant aux mêmes informations.
2-Les formulaires affichent à l'écran les informations issues des tables. Ils servent à saisir de nouveaux enregistrements,
à visualiser à l'écran les données des tables, à exécuter des actions commandées par l'utilisateur par l'intermédiaire des
macros et des modules. Ils constituent l'interface entre la base de donnée et l'utilisateur.
3-Les requêtes permettent de définir des sous sélections et des tris à partir de critères particuliers, de créer de nouvelles
tables ou d'ajouter des enregistrements.
4-Les états affichent les données choisies sous forme de rapports structurés ou de graphiques. Ils sont plus appropriés à
l'impression.
5-Les macros (langage macro d’Access) et les modules (Visual Basic Access) permettent d'automatiser certaines actions.
Tous ces objets sont accessibles à partir de la fenêtre "Base de données" : un onglet pour chaque type d'objet et 3 sortes
de bouton :
-Créer : Nouveau
-Visualiser : Ouvrir
-Structurer : Modifier
-L’aide est très instructive : Ne pas hésiter à l’utiliser (touche F1) pour le vocabulaire et la syntaxe des fonctions Access
et Visual Basic ! ! !
Access - page 7
Il s’agit de créer dans une nouvelle base, la table patient contenant les champs NIP, nom, prénom, date
de naissance, code postal et ville en veillant à définir les propriétés de chaque champ (nom, type, taille,
valeur par défaut, masque de saisie ...), la clé primaire et les index. Attention ! Champ date au
format ”09/09/1999 ” pour gérer les siècles ! Créer un index sur Nom + Prénom + Date de naissance.
Pour créer une nouvelle base, faire Fichier/Nouvelle base et donner un nom à cette base (bdtp).
Chaque ligne correspond à un champ avec son nom et son type de données. Lorsqu'un champ est sélectionné, ses
propriétés s'affichent dans la partie inférieure de la fenêtre et il est possible de les modifier.
Cette fenêtre est accessible à tout moment à partir de la fenêtre Base de donnée -> Onglet Table -> Bouton Modifier.
Les types de données
Numérique
Texte (chaînes de caractère)
Date/Heure
Booléen (oui/non)
NuméroAuto (Compteur : entier long qui s'incrémente de 1 à chaque nouvel enregistrement)
...
Les propriétés
-Taille : nombre de caractères pour un champ texte ou type de nombre pour un champ numérique
(entier long, réél double, ...)
-Format : -fixe (2 chiffres après la virgule), monétaire ou pourcentage pour un champ numérique
-date abrégé (01/01/98), date complet (lundi 2 janvier 1998), jj/mm/aaaa (09/09/1999)
...pour un champ date
-oui/non, vrai/faux, actif/ inactif pour un champ booléen
-Légende : Entête de la colonne (par défaut, l'entête de la colonne est le nom du champ)
Access - page 10
CLE PRIMAIRE
Le champ clé primaire permet d'identifier de manière univoque chaque enregistrement. Il peut correspondre à un ou
plusieurs champs existant. Ici, c’est le NIP (Numéro Permanent du Patient).
L'attribution de la clé primaire s'effectue en sélectionnant le ou les champs et en cliquant sur l'item clé primaire de la barre
de menu ou sur l’icône . Si aucune clé primaire n'est définie à la création de la table, Access peut ajouter
automatiquement un champ clé primaire.
INDEX
On peut visualiser les enregistrements créés, ajouter des enregistrements à la suite des précédents, les modifier ou les
supprimer.
Supprimer un enregistrement = sélectionner la ligne ou les lignes et appuyer sur la touche SUPPR.
Changer la largeur d’une colonne = cliquer sur le trait vertical de la colonne et faire glisser.
Déplacer une colonne = sélectionner la colonne et faire glisser.
Fichier/Enregistrer la mise en forme permet de sauvegarder les modifications.
On peut effectuer quelque traitements comme le tri des enregistrements sur les valeurs d'un (menu outils - tri) ou
plusieurs champs (menu - outils - filtre / tri avancé)
On peut rechercher des enregistrements particuliers (outre les fonctions rechercher/remplacés habituelles des traitements de
texte). Pour cela, on utilise la fonction filtre :
-par sélection (1 seul critère)
-par formulaire (plusieurs critères sur plusieurs champs)
-par filtre / tri avancé (fonctionnement identique à celui des requêtes et enregistrable en tant que telle)
Les requêtes permettent de définir des sous sélections et des tris à partir de critères particuliers, de créer de nouvelles
tables ou d'ajouter des enregistrements. Elles sont plus puissantes que les sous-sélections directes dans les feuilles de
calcul des tables et sont enregistrées dans la base.
Opérateurs de comparaison :
ET : Lorsque plusieurs conditions sont spécifiées dans plusieurs colonnes sur la même ligne, on obtient les
enregistrements vérifiant toutes les conditions.
OU : Les OU logiques s’obtiennent en écrivant les conditions sur des lignes différentes.
(nom=D... et ville=Rennes) ou
(nom=D... et ville=Vannes)
CHAMPS CALCULES
Pour être plus precis, il vaut mieux calculer l’âge par rapport à la date du jour : fonction Maintenant() :
age: Année(Maintenant())-Année([DateNaissance])
Autre méthode : utilisation de la fonction DiffDate (différence de date) en années (“ aaaa ”)
age: DiffDate("aaaa";[DateNaissance];Maintenant())
Rq : différence de date en mois (“ m ”), en jour (“ j ”)
Access - page 14
Création d’une fonction Visual Basic “ classedage ” dans un module “ calculs ” et utilisation de celle ci dans
une requête
Puis dans la requête en cours : l’argument de classedage est l’âge calculé (en années) dans la colonne précédente
REGROUPEMENTS
Les regroupements permettent d’effectuer divers opérations : compter des enregistrements (compte), calculer des sommes
(somme), des moyennes (moyenne) par catégories.
Pour obtenir une regroupement, utiliser la commande Affichage/Opérations.
Rq : un regroupement peut se faire sur une expression. Par exemple : le nombre de patients par classe d’âge -> classe =
regroupement et patient = compte.
Access - page 15
REQUETES PARAMETREES
Un paramètre se
spécifie entre crochets
Au moment de leur
exécution, l’opérateur
saisit les valeurs des
paramètres dans la boite
de dialogue affichée.
Informations complémentaires
REQUETES ACTION
Contrairement aux requêtes sélections, les requêtes actions modifient les tables.
Requête de mise à jour : une requête de Mise à jour permet de modifier des valeurs dans une table. En utilisant la
commande Requête/Mise à jour, nous faisons apparaître le ligne Mise à jour.
Requête suppression : une requête suppression supprime d’une table les enregistrements vérifiant une condition.
Requête de création de table : la commande Requête/Création de table
Requête ajout : ces requêtes permettent d’insérer dans une table des lignes provenant d’autre table. Dans la requête, c’est la
table où ajouter qui doit être spécifiée.
Importation / Exportation
- Pour importer une table ou un fichier excel, texte, dbase, ...dans le menu Fichier -> Données externes /
Importer.
- Pour attacher sans importer un fichier (gain de place mais traitements restent possibles) -> Données externes /
Attacher
- Pour exporter une table ou une requête vers Excel par exemple : Il faut l'ouvrir et dans le menu Fichier ->
Enregistrer sous / Exporter.
Access - page 16
1- Créer les autres tables (services, séjours, groupes, laboratoire et demande). Il faut utiliser les listes de choix lorsque
cela est possible (par exemple : affichage du nom, prénom et date de naissance au moment du choix du NIP dans la table
séjour.
2- Créer les relations entre tables, avec intégrité référentielle et mises à jour en cascade.
3- Donner le nombre de séjours par mois et par service (requête sélection).
Ces tables sont créés dans le but de facilité le choix des services et des groupes dans les
autres tables (liste de choix)
-Nombre de colonnes de la liste (ex : liste de nip - nom - prénom - date de naissance -> 4 colonnes)
-Colonne liée : la colonne contenant l'information qui sera affectée au champ (ex : le nip). Lorsque la liste de choix
est issue d'une table, c'est en général la clé primaire (unique) qui est la colonne liée.
-Contenu : Pour une table ou une requête -> requête SQL sélectionnant les éléments de la liste
Pour une liste de valeurs -> les différentes valeurs entre " et séparées par des ;
-Limiter à liste ou non
-Nombre de ligne affichées (au delà, liste avec défilement)
La table Laboratoir e :
Répertoire des examens et leurs caractéristiques.
Access - page 18
La table Demande :
La liste de choix du séjour fait appel à une
requête sur 2 tables : Patients et Séjours (liées
entre elles sur le NIP). Ceci permet de cumuler
les informations portant sur le patient et le
séjour.
On visualise et modifie les relations entre les tables dans la fenêtre des relations (icône )
On affiche toutes les relations existantes (créées par liste de choix) avec l’icône
Access - page 19
La souris permet de déplacer les tables ou de créer des relations (cliquer sur un champ de la table “ père ” puis faire
glisser sur le champ associé dans la table “ fils ”), de supprimer des tables ou des relations (menu supprimer) et d'ajouter
des tables (bouton table+).
Attention! Une relation ne peut être établie qu'à la condition que les champs liés soient du même type de données! Les
propriétés doivent également être identiques lorsque le type de données est numérique.
Access - page 20
8- Créer un formulaire permettant de saisir les patients. La zone de texte du NIP doit être verrouillée car le numéro est
automatique et ne doit pas être modifié.
9- Créer un formulaire permettant de saisir les demandes et contenant 3 sous-formulaires (affichage du patient, affichage
du séjour et affichage de l’examen. En outre, à la saisie du résultat, le champ Normalité doit se mettre à jour
automatiquement (normal, augmenté ou diminué) en fonction de la valeur du résultat.
10- Créer un formulaire « entree » qui s’affiche au démarrage et qui permet d’accéder à la saisie des patients ou des
demandes, et de quitter l’application (boutons macro).
11- Créer dans le formulaire « entree » une zone de liste comportant les nip, nom, prénom et date de naissance des
patients. Lorsque l’on double-clique sur un patient, le formulaire saisie des patient doit s’ouvrir sur l’enregistrement
du patient (procédure Visual Basic).
Access - page 21
FORMULAIRES
Les formulaires sont des écrans qui permettent à l'utilisateur de visualiser ou de modifier des tables ou des requêtes ou de
déclencher des commandes particulières programmées.
Bouton d'options Insertion de case à cocher formulaire. Si la barre d’outils n’apparaît pas, utiliser la
Zone de liste Zone de liste modifiable commande Affichage/Barre outils.
Bouton de commande Insertion d'image
Cadre d'objet indépendant Cadre d'objet dépendant
Insertion d'un saut de page Sous-formulaire / Sous-état
Trait Rectangle
Pour écrire du texte (étiquette) dans un formulaire : cliquer sur l’icône « texte » et cliquer dans le formulaire à l’endroit
où le texte doit apparaître et frapper celui-ci.
Créer des zones de texte : les zones de texte permettent d’écrire des formules. Pour définir une zone de texte, cliquer sur
l’icône « zone de texte » et écrire la formule.
Pour ajuster ce qui va être déplacé ou crée, choisir Format/Aligner sur la grille.
Pour ajuster tout ce qui a été déjà crée : Edition/Sélectionner tout, et Format/Ajuster à la grille
On peut également aligner verticalement ou horizontalement plusieurs contrôles.
Ordres de saisies : l’ordre des champs à saisir (ex : 1->nom, 2->prénom, ...) se définit avec Affichage/Ordre de
tabulation. Sélectionner la ligne et faire glisser.
Access - page 23
SOUS FORMULAIRES
Les sous formulaires permettent d’effectuer des saisies multi-
enregistrements ou de visualiser tous les enregistrements enfants
d’un parent.
Pour le formulaire S a i s i e des demandes d’examen ,
De même, création du formulaire affichage d’un examen. Il permet la visualisation des examens de laboratoire (et
non leur saisie) : Les champs sont verrouillés et non activés. Ce formulaire sera intégré au formulaire de saisie des
demandes (sous-formulaire) pour afficher à l'écran les caractéristiques de l'examen sélectionné. Ses propriétés sont
semblables à celles du formulaire "affichage d'un patient".
MACROS ET MODULES
Les macros et les modules permettent d'automatiser certaines actions.
Les macros contiennent une simple liste d'actions prédéfinis déclenchées séquentiellement. (C'est par exemple, ouvrir un
formulaire, exécuter une requête, etc ...)
Les modules permettent de créer des procédures ou des fonctions Visual Basic qui ne sont pas prédéfinis dans les menus
d'Access. Le vocabulaire de Visual Basic Access diffère légèrement du Visual Basic standard mais les principes de base
restent les mêmes (déclarations, conditions, boucles, ... ) -> cf module Visual Basic.
Dans le formulaire de saisie des examens demandés, la normalité est calculée automatiquement grâce à une procédure
Visual Basic déclenchée après mise à jour du champ résultat.
Access - page 26
Formulaire de démarrage
Nouveau formulaire, mode création. Aucune table ou requête liée.
Attention ! Veillez à ce que l’icône « assistant » soit activé dans la boite à outil (assistance à la création des
boutons).
Créer les étiquettes et les boutons nécessaires (ouvertures formulaires, bouton quitter).
Access - page 27
fenêtre propriété
fenêtre macro
Créer une zone de liste patients : Elle doit comporter les nip, nom, prénom et date de naissance des patients.
Utiliser l’icône de la boîte à outil (Icône Assistant toujours activé ! !). Dans la fenêtre propriétés, onglet événement,
créer une procédure événementielle (généré code) :
Private Sub Liste_DblClick(Cancel As Integer)
Dim critere As String
critere = "[NIP]=" & Me![Liste]
DoCmd.OpenForm "Saisie des patients", , , critere
End Sub
Me![Liste] signifie valeur (donc nip de la ligne sélectionnée) de liste dans le formulaire en cours (Me).