+ All Categories
Home > Documents > Ms Access

Ms Access

Date post: 09-Nov-2015
Category:
Upload: maminirina-heriniaina
View: 96 times
Download: 0 times
Share this document with a friend
Description:
MS Access
Popular Tags:
565
MS OFFICE ACCESS 95-2013 V22.0 Revision 995, {oUUID 1.680} Please consider the environment - do you really need to print this document!? Vincent Isoz 2015-03-09
Transcript
  • MS OFFICE ACCESS 95-2013 V22.0 Revision 995, {oUUID 1.680}

    Please consider the environment - do you really need to print this document!? Vincent Isoz 2015-03-09

  • Vincent ISOZ

    MS Office Access 1/564

    Remarques:

    Pour qu'il soit utilisable d'une manire rationnelle et sans danger, ce support qui constitue un

    "super condens" d'un expos qui tiendrait trs facilement sur plusieurs milliers de pages (voir

    les ouvrages de cette taille disponible sur le commerce) doit absolument tre complt par de

    nombreuses notes et exposs oraux, au cours desquels les notions nouvelles sont prsentes au

    moyen de situations concrtes et illustres par de nombreux exemples dont le choix dpend

    essentiellement du droulement de la formation afin d'exciter l'esprit critique des apprenants.

    Ce support correspond une formation d'environ 15 jours 6.5 heures par jour pour un

    groupe de 6 personnes.

    Ce qui est vu dans ce support peut tre appliqu toutes les versions antrieures

    MS Access 2007. Je ne mettrai donc pas ce document jour pour qu'il corresponde la

    version 2007, 2010 ou 2012 (sauf pour les nouveauts) puisque Microsoft la tendance ces

    dernires annes changer l'interface chaque version et j'ai autre chose faire de mon temps

    que de mettre jour des captures d'cran.

    Je tiens galement m'excuser du fait que ce document mlange les captures d'cran d'un

    grand nombre de versions de MS Access (97 2010) et en plus de diffrentes langues

    (franais + anglais). Effectivement, mon mtier m'oblige constamment changer d'ordinateur

    et ainsi le contenu des documents que je rdige. J'espre que le lecteur comprendra en

    attendant une uniformisation.

    Il y a de nombreuses marques dposes qui sont nommes dans le prsent support. Plutt que

    d'utiliser le symbole du trademark sur chaque occurrence de marque nomme, j'ai choisi

    d'utiliser le nom seul uniquement dans un souci d'esthtique ditoriale (ce qui devrait aussi

    bnficier au propritaire de la marque), sans aucune intention de violer une quelconque

    rglementation ou lgislation.

    Pour terminer, je voudrais remercier ici les quelques collgues (Olivier Weber,

    Fabrice Fournier) et clients qui ont bien voulu me faire part de leurs remarques pour amliorer

    le contenu de ce livre lectronique. Il est cependant certain qu'il est encore perfectible sur de

    nombreux points.

    Si vous souhaitez tre inform des nouvelles versions majeures de ce document n'hsitez pas

    m'crire un mail dans ce sens: [email protected].

  • Vincent ISOZ

    MS Office Access 2/564

    TABLE DES MATIRES

    Contents TABLE DES MATIRES ............................................................................................................ 2 1 Liens internet ......................................................................................................................... 10 1. propos du rdacteur .......................................................................................................... 11 2 Introduction ........................................................................................................................... 12

    2.1 Environnement ............................................................................................................................. 13 2.2 Protocole ...................................................................................................................................... 14 2.3 MS Excel (tableur) VS MS Access (SGBDR) ............................................................................. 15

    3 Notions de base de donnes .................................................................................................. 17 3.1 Types de BDD ............................................................................................................................. 17 3.2 Vues d'une base de donnes ......................................................................................................... 18 3.3 Modules d'un SGBDR ................................................................................................................. 19 3.4 Mthodes de cration de BDD ..................................................................................................... 20 3.5 Modle entit-relation (MER) ..................................................................................................... 22 3.6 Normalisation .............................................................................................................................. 24

    3.6.1 Premire forme normale ...................................................................................................... 25 3.6.2 Deuxime forme normale .................................................................................................... 26 3.6.3 Troisime forme normale .................................................................................................... 26 3.6.4 Exercice ............................................................................................................................... 27

    3.7 Modlisation de BDD avec MS VISIO ....................................................................................... 28 3.8 Nomenclature de Leszynski/Reddic ............................................................................................ 36

    4 Tables .................................................................................................................................... 39 4.1 Liaison MS Excel/CSV ................................................................................................................ 41 4.2 Cration de tables......................................................................................................................... 42 4.3 Formulaire simple (auto-form) .................................................................................................... 44 4.4 Contrle des donnes ................................................................................................................... 45

    4.4.1 Lgende ............................................................................................................................... 45 4.4.2 Types de donnes (Typages) ............................................................................................... 47 4.4.3 Formats ................................................................................................................................ 55 4.4.4 Masques de saisie ................................................................................................................ 55 4.4.5 Validation (Valide Si) .......................................................................................................... 58

    4.5 Import MS Excel .......................................................................................................................... 62 4.6 Import MS ACCESS .................................................................................................................... 63 4.7 Import/liaison MS Outlook .......................................................................................................... 64 4.8 Format des tables ......................................................................................................................... 67 4.9 Outil recherche ............................................................................................................................. 68 4.10 Proprits des tables................................................................................................................... 69 4.11 Tris et filtres ............................................................................................................................... 70

    4.11.1 Critres numriques et textes ............................................................................................. 71 4.11.2 Critres numriques et dates .............................................................................................. 71 4.11.3 Caractres gnriques (wildcards) ..................................................................................... 71 4.11.4 Fonctions gnriques ......................................................................................................... 72 4.11.5 Tris et filtres avancs ......................................................................................................... 73

    5 Relations (jointures) .............................................................................................................. 74 5.1 Assistant liste de choix ................................................................................................................ 74

    5.1.1 Assistant liste de choix (ALC) statique ............................................................................... 74 5.1.1.1 ALC statique choix unique de type zone de liste droulante ..................................... 74 5.1.1.2 ALC statique choix unique de type zone de liste ....................................................... 77 5.1.1.3 ALC statique choix unique de type liste droulante extensible ................................. 79

  • Vincent ISOZ

    MS Office Access 3/564

    5.1.1.4 ALC statique choix multiple de type liste droulante extensible ............................... 81 5.1.2 Assistant liste de choix (ALC) li ........................................................................................ 83

    5.1.2.1 ALC statique li choix unique de type zone de liste droulante ................................ 83 5.2 Relation un un ........................................................................................................................... 88 5.3 Relation un plusieurs ................................................................................................................. 89 5.4 Relation plusieurs plusieurs ...................................................................................................... 93 5.5 Relation "simple" (sans intgrit rfrentielle) ............................................................................ 93 5.6 Relation avec intgrit rfrentielle ............................................................................................. 93 5.7 Relation circulaire (auto-liaison) ................................................................................................. 99 5.8 Relations d'hritage et composites ............................................................................................. 101 5.9 Index simples et combins ......................................................................................................... 102

    6 Formulaires (simples) ......................................................................................................... 105 6.1 Choix de la mthode d'affichage des formulaires ...................................................................... 105 6.2 Filtre par formulaire ................................................................................................................... 107 6.3 Formulaire en mode design ........................................................................................................ 111 6.4 Cration de boutons de formulaires ........................................................................................... 111 6.5 Filtres requtes ........................................................................................................................... 118 6.6 Outil recherche ........................................................................................................................... 118 6.7 ComboBox de recherche ............................................................................................................ 119 6.8 Groupes d'options ...................................................................................................................... 121 6.9 Champs calculs ........................................................................................................................ 123 6.10 ListBox de recherche ............................................................................................................... 123 6.11 Fonction DSum ........................................................................................................................ 124 6.12 Fonction DCount ..................................................................................................................... 125 6.13 Fonction IIf (formulaire) .......................................................................................................... 126 6.14 Fonctions d'environnement ...................................................................................................... 126 6.15 Fonction DLookUp .................................................................................................................. 126 6.16 Onglets ..................................................................................................................................... 127 6.17 Valeurs par dfaut et filtres ...................................................................................................... 130

    7 Requtes (simples) ............................................................................................................... 132 7.1 Optimisation des requtes .......................................................................................................... 134 7.2 Requte simple (de projection) .................................................................................................. 135 7.3 Tris dans les requtes ................................................................................................................. 135 7.4 Requte multitable sans liaisons ................................................................................................ 137 7.5 Requte multitable avec liaisons ................................................................................................ 138 7.6 Requte de distinction ................................................................................................................ 139 7.7 Cinq premiers ............................................................................................................................. 139 7.8 Requte avec critre ................................................................................................................... 140 7.9 Requte concatnation dans liste de choix................................................................................. 142 7.10 Colonne calcule ...................................................................................................................... 144 7.11 Critres multiples ..................................................................................................................... 144 7.12 Calcul de synthse (d'agrgation) ............................................................................................ 146 7.13 Regroupement et calculs .......................................................................................................... 146 7.14 Requte et macro d'export ....................................................................................................... 148 7.15 Requte mise--jour ................................................................................................................. 151 7.16 Requte mise--jour (Rechercher/Remplacer) ......................................................................... 152 7.17 Requtes de synthse ............................................................................................................... 154 7.18 Requte d'union ....................................................................................................................... 155 7.19 Requte d'intersection .............................................................................................................. 159 7.20 Requte de comptage ............................................................................................................... 160 7.21 Requte d'union (bis) ............................................................................................................... 161 7.22 Requtes de requtes ................................................................................................................ 162 7.23 Divers (exercices) .................................................................................................................... 164

    8 tats-formulaires (complexes) ............................................................................................ 165 8.1 Carnet d'adresse ......................................................................................................................... 167

  • Vincent ISOZ

    MS Office Access 4/564

    8.2 Synthse et requte .................................................................................................................... 169 8.3 Sous-tats ................................................................................................................................... 171 8.4 Rapports avec groupes (pour lettres ou factures) ....................................................................... 175 8.5 Rapport paramtr par formulaire .............................................................................................. 190 8.6 Objet ActiveX ............................................................................................................................ 191 8.7 Graphique statistique insr ....................................................................................................... 192 8.8 Graphique insr ........................................................................................................................ 196 8.9 Tableaux croiss dynamiques .................................................................................................... 197 8.10 Graphiques croiss dynamiques ............................................................................................... 198

    9 Requtes (complexes avec ou sans VBA) ............................................................................ 199 9.1 Requtes avec jointures ............................................................................................................. 199 9.2 Requte regroupement par premiers lments ........................................................................... 201 9.3 Requte avec critres ................................................................................................................. 203 9.4 Requte d'analyse de frquence (contingence) .......................................................................... 204 9.5 Requte paramtre.................................................................................................................... 205 9.6 Requte d'ajout ........................................................................................................................... 207 9.7 Requte de suppression .............................................................................................................. 208 9.8 Requte d'analyse croise (avec assistant) ................................................................................. 208 9.9 Requte d'analyse croise (sans assistant) ................................................................................. 209 9.10 Requte d'analyse croise temporelle ...................................................................................... 210 9.11 Requte d'analyse croise paramtre ...................................................................................... 211 9.12 Requte doublons ..................................................................................................................... 212 9.13 Requte de suppression des doublons d'enregistrements ......................................................... 213 9.14 Requte de non correspondance............................................................................................... 214 9.15 Requtes de cration/dfinition (mode SQL) .......................................................................... 215 9.16 Requte de distribution en % sur comptage ............................................................................. 217 9.17 Requte de (Pareto) distribution en % sur somme ................................................................... 218 9.18 Requte de cumul chronologique............................................................................................. 219 9.19 Requte systme ...................................................................................................................... 220 9.20 Requtes de statistiques non natives ........................................................................................ 220

    9.20.1 Requte de valeur modale ................................................................................................ 221 9.20.2 Requte d'obtention de la mdiane .................................................................................. 224 9.20.3 Requtes d'intervalle de fluctuation ................................................................................. 227 9.20.4 Requtes moyenne mobile et somme cumule ................................................................ 228 9.20.5 Requtes de data mining/machine learning ..................................................................... 230

    9.21 Analyse simple de portefeuilles ............................................................................................... 230 9.22 Transactions ............................................................................................................................. 233

    10 Fonctions ........................................................................................................................... 235 10.1 Relation d'ordre comme validation d'un record (table) ............................................................ 235 10.2 Fonctions Date comme valeur par dfaut (tables) ................................................................... 236 10.3 Fonctions Now comme valeur par dfaut (tables) ................................................................... 237 10.4 Fonctions d'environnement (tables) ......................................................................................... 237 10.5 Fonction textes Left, Right, Instr (requte) .............................................................................. 238 10.6 Fonctions textes UCase, LCase, &, TRIM, StrConv (requte) ................................................ 239 10.7 Fonctions replace et MID (requte) ......................................................................................... 241 10.8 Fonctions de dates Year, Day, Month (requte) ...................................................................... 243 10.9 Fonction de formatage de dates et DatePart (requte) ............................................................. 244 10.10 Fonction de date DateDiff (requte) ...................................................................................... 246 10.11 Calculs de jours avec DateAdd (Formulaire) ......................................................................... 246 10.12 Fonction Logique IIf (formulaire) ......................................................................................... 248 10.13 Fonctions d'arrondi Round (requte) ..................................................................................... 249 10.14 Fonction conditionnelle Switch (requte) .............................................................................. 249 10.15 Fonctions IsNull et NZ (requte) ........................................................................................... 251 10.16 Fonction DSum (formulaire) ................................................................................................. 253 10.17 Fonction DCount (formulaire) ............................................................................................... 255

  • Vincent ISOZ

    MS Office Access 5/564

    10.18 Fonction DLookUp (formulaire)............................................................................................ 256 10.19 Fonctions Count et DCount (requte) .................................................................................... 257 10.20 Fonction Dsum (requte) ....................................................................................................... 258 10.21 Fonction Dsum et Dates (requte) ......................................................................................... 259

    11 Interfacage de l'application .............................................................................................. 261 11.1 Proprits des formulaires ....................................................................................................... 261 11.2 Proprits des champs de formulaires...................................................................................... 263 11.3 Sous-formulaires (Assistant) .................................................................................................... 265 11.4 Champs calculs ...................................................................................................................... 267 11.5 Sous-formulaires (Bote outils contrle) ............................................................................... 268 11.6 Formatage ................................................................................................................................ 270 11.7 Champs OLE ........................................................................................................................... 272 11.8 Esthtique rapports .................................................................................................................. 277 11.9 Formulaire de dmarrage (switchboard) .................................................................................. 278 11.10 Options de dmarrage ............................................................................................................ 280 11.11 Barre d'outils personnalise ................................................................................................... 285

    11.11.1 MS Access 2003 et antrieur ......................................................................................... 285 11.11.2 MS Access 2007 et ultrieur .......................................................................................... 286

    11.11.2.1 Masquer le ruban au dmarrage de MS Access 2007 ........................................ 286 11.11.2.2 Masquer le ruban au dmarrage de MS Access 2010 ........................................ 287

    12 Finitions lmentaires ....................................................................................................... 288 12.1 Compactage ............................................................................................................................. 288 12.2 Protection par mot de passe ..................................................................................................... 288 12.3 MS Query ................................................................................................................................. 289 12.4 Publipostage ............................................................................................................................. 290

    13 Macros ............................................................................................................................... 291 13.1 Macros simples ........................................................................................................................ 292

    13.1.1 Excution de requtes en mode cration ......................................................................... 292 13.1.2 Contrle de saisie simple ................................................................................................. 293 13.1.3 Import de donnes ........................................................................................................... 294 13.1.4 Contrles sur formulaires ................................................................................................ 295

    13.2 Groupe de macros .................................................................................................................... 297 13.3 Groupe conditionnel de macros ............................................................................................... 298 13.4 Macro AutoExec ...................................................................................................................... 300 13.5 Macros Run Code .................................................................................................................... 301 13.6 Macros Import/Export.............................................................................................................. 303 13.7 Macro ReQuery........................................................................................................................ 303 13.8 Groupe de macros simple ........................................................................................................ 305 13.9 Groupe de macros complexe .................................................................................................... 308

    14 Thorie internet / intranet ................................................................................................. 310 14.1 Formulaire web ........................................................................................................................ 310 14.2 Application Web avec SharePoint 2010/Access 2010 ............................................................. 313 14.3 Application Web avec SharePoint 2013/Access 2013)............................................................ 317

    15 Optimisation et analyse ..................................................................................................... 324 15.1 Table ........................................................................................................................................ 324 15.2 Performances ........................................................................................................................... 324 15.3 Documenter .............................................................................................................................. 326

    16 Distribution ....................................................................................................................... 327 16.1 Fractionnement d'une base ....................................................................................................... 328 16.2 Rseau ...................................................................................................................................... 330

    17 Securit avance ................................................................................................................ 332 17.1 Dfinition d'un mot de passe .................................................................................................... 332 17.2 Scurit au niveau utilisateur ................................................................................................... 334

    17.2.1 Protocole .......................................................................................................................... 334

  • Vincent ISOZ

    MS Office Access 6/564

    17.2.2 Mthodes ......................................................................................................................... 335 17.2.3 Modlisation des droits .................................................................................................... 337 17.2.4 Dangers de l'espace de travail "par dfaut": .................................................................... 338 17.2.5 Un peu de VBA avec la scurit ...................................................................................... 355 17.2.6 A propos du fichier ldb .................................................................................................... 358 17.2.7 Problmes de scurit avec les requtes .......................................................................... 358

    17.3 Dploiement ............................................................................................................................. 359 18 Synchronisation (rplication) ............................................................................................ 361

    18.1 Types de rplicas ..................................................................................................................... 361 18.2 Cration d'un rplica matre ..................................................................................................... 361 18.3 Cration d'un rplica partiel ..................................................................................................... 367 18.4 Modifications sur les objets de la base de donnes .................................................................. 368 18.5 Comparatif Maitre-Rplica lors de la synchronisation ............................................................ 371 18.6 3 Conflits rencontrs lors de la synchronisation des bases ...................................................... 372

    18.6.1 Subtilits de prdominance du matre .............................................................................. 372 19 Visual Basic Application ................................................................................................... 374

    19.1 Objectifs ................................................................................................................................... 376 19.2 Historique ................................................................................................................................ 376 19.3 Types de donnes ..................................................................................................................... 377 19.4 Nomenclature de Lezsynski-Reddick ...................................................................................... 380 19.5 Commentaires .......................................................................................................................... 381 19.6 Table des objets VBA et table ASCII ...................................................................................... 383 19.7 Prise en main du V.B.A ........................................................................................................... 386

    19.7.1 Exemples gnriques Office ......................................................................................... 388 19.8 Appliquer le filtre par formulaire automatiquement ................................................................ 392 19.9 Appliquer un filtre avec critres sur un formulaire .................................................................. 392 19.10 Dtection formulaire ouvert ................................................................................................... 393 19.11 Dtection de la version et compactage ................................................................................... 393 19.12 Cration d'un bouton ouvrant une page web .......................................................................... 393 19.13 Excution de code SQL ......................................................................................................... 393 19.14 Cration d'une table ............................................................................................................... 394 19.15 Imports/Exports ..................................................................................................................... 395

    19.15.1 Import de donnes de MS Excel .................................................................................... 395 19.15.2 Export paramtr d'un fichier MS Excel ....................................................................... 395 19.15.3 Import d'un fichier CSV ................................................................................................ 396

    19.16 Automatiser la mise jour des tables de type BDD lies ...................................................... 398 19.17 Champ de Recherche sur formulaire...................................................................................... 401 19.18 Evnement sur sortie de formulaire (validation des champs de saisie) ................................. 401 19.19 Evnement sur fermeture de formulaire (validation des champs de saisie) ........................... 402 19.20 Focus sur formulaire .............................................................................................................. 403 19.21 Filtres ..................................................................................................................................... 405

    19.21.1 Filtre paramtr par bouton ........................................................................................... 405 19.21.2 Filtre paramtr par une zone d'options ......................................................................... 408 19.21.3 Adaptation au filtre par formulaire ................................................................................ 408 19.21.4 Filtres avec boutons a bascule ....................................................................................... 409 19.21.5 Listes droulantes .......................................................................................................... 409

    19.21.5.1 Ouvrir une liste droulante lors du survol avec la souris ................................... 410 19.21.5.2 Filtrage d'une liste droulante sur la base d'un champ ....................................... 411 19.21.5.3 Filtrage d'une liste droulante sur la de la saisie dans la liste droulante .......... 411 19.21.5.4 Ajout directe d'une donnes dans une liste droulante ...................................... 413

    19.22 Liste droulante choix multiples ......................................................................................... 417 19.23 Autres vnements ................................................................................................................. 418 19.24 Fonctions ................................................................................................................................ 421 19.25 Gestion des erreurs................................................................................................................. 421 19.26 Calendriers ............................................................................................................................. 422

  • Vincent ISOZ

    MS Office Access 7/564

    19.27 Identification .......................................................................................................................... 425 19.28 Utilisation de la scurit avec VBA ....................................................................................... 429 19.29 Automation ............................................................................................................................ 432

    19.29.1 Ouvrir MS Excel et y faire des tratements.................................................................... 432 19.30 D.A.O. et ADO (avec MS Word ou MS Excel) ..................................................................... 433

    19.30.1 D.A.O............................................................................................................................. 433 19.30.1.1 Mthodes de lecture et criture de tables et requtes en DAO .......................... 433 19.30.1.2 Mise jour de tables DAO ................................................................................ 436 19.30.1.3 Recherche VBA DAO ....................................................................................... 437 19.30.1.4 Excution requte d'action VBA DAO .............................................................. 438

    19.30.2 A.D.O............................................................................................................................. 439 19.30.2.1 MS Excel - lecture ADO ................................................................................... 441 19.30.2.2 Curseurs adLockReadOnly, adLockPessimistic, adLockOptimistic, adLockBatchOptimistic ........................................................................................................... 441 19.30.2.3 MS Excel - Recherche ADO ............................................................................. 443 19.30.2.4 MS Excel - criture ADO ................................................................................. 443 19.30.2.5 MS Word - Recherche ADO ............................................................................. 444

    19.31 DLookup syntaxe ................................................................................................................... 445 19.32 tats ....................................................................................................................................... 446 19.33 Requtes ................................................................................................................................. 447

    19.33.1 Lecture du contenu d'une Query DAO .......................................................................... 448 19.33.2 ReQuery ......................................................................................................................... 448

    19.34 Choix multiple ....................................................................................................................... 449 19.35 Calendrier .............................................................................................................................. 450 19.36 Connexion .............................................................................................................................. 452 19.37 Nouveauts VBA Access 2007-2010..................................................................................... 453

    19.37.1 Connecteur ADODB ...................................................................................................... 453 19.37.2 Export flat-file (schema.ini)........................................................................................... 454 19.37.3 Mode Hors-Ligne/En-Ligne SharePoint ........................................................................ 454

    20 Confusions courantes ........................................................................................................ 455 20.1 Masques VS Valide Si, VBA & Null interdit .......................................................................... 455 20.2 Valide Si VS VBA & Null interdit .......................................................................................... 456 20.3 Null interdit VS VBA .............................................................................................................. 457 20.4 Intgrit VS Limit la liste & VBA ...................................................................................... 457 20.5 Cls primaires combines VS Macro Requery & VBA ........................................................... 458 20.6 tat VS Formulaire A4 ............................................................................................................ 458 20.7 Scurit MDW VS Scurit VBA ........................................................................................... 458

    21 VBScript ............................................................................................................................ 460 22 XML XSL ........................................................................................................................ 461

    22.1 Import XML ............................................................................................................................. 464 23 Reverse Engineering (rtro-conception) ........................................................................... 468 24 A.S.P. et MDB ................................................................................................................... 471

    24.1 Affichage de donnes............................................................................................................... 473 24.2 Ajout de donnes ..................................................................................................................... 474 24.3 Mise jour d'enregistrements .................................................................................................. 475

    25 P.H.P. et MDB ................................................................................................................... 479

    26 MS Infopath ....................................................................................................................... 482 26.1 Ajout de donnes ..................................................................................................................... 482 26.2 Echange de donnes ................................................................................................................. 488

    27 MS SQL Server .................................................................................................................. 499 27.1 Reverse engineering vers SQL server ...................................................................................... 499 27.2 Connexion SQL server .......................................................................................................... 506

    28 AS/400 ............................................................................................................................... 510 29 Oracle Express 11.2g ........................................................................................................ 514

  • Vincent ISOZ

    MS Office Access 8/564

    30 MySQL ............................................................................................................................... 522

    31 PocketPC ........................................................................................................................... 527 32 Business Objects ................................................................................................................ 532 33 Crystal Reports .................................................................................................................. 538

    34 Runtime .............................................................................................................................. 540 34.1 Activer le clic droit dans le runtime ......................................................................................... 541

    35 Optimisation de bases de donnes .................................................................................... 544 35.1 Systme FAT (File Allocation System) ................................................................................... 545 35.2 Systme ISAM (Indexed Sequential Access Method) ............................................................. 545 35.3 Arbres ...................................................................................................................................... 547

    35.3.1 Arbre B ............................................................................................................................ 548 35.3.2 Arbre B+ .......................................................................................................................... 550 35.3.3 Arbre-R ............................................................................................................................ 552

    36 Limites MS Office Access .................................................................................................. 553 36.1 Limites MS Access 2000+2002+2007+2010 .......................................................................... 553

    37 Nouveauts MS Office Access ........................................................................................... 558 37.1 Propositions de nouveauts ultrieures .................................................................................... 560

    38 Raccourcis claviers ........................................................................................................... 561

  • Vincent ISOZ

    MS Office Access 9/564

    TABLE DES FIGURES

    Figure 1 Modle Logique de Donnes (MLD) dans MS Visio ................................................ 29 Figure 2 Accs BDD distance (ADP) .................................................................................... 39

    Figure 3 Schma (simple) de la BDD ...................................................................................... 95 Figure 4 Exemple de BDD (taille standard) ............................................................................. 98 Figure 5 Requte d'union ....................................................................................................... 158 Figure 6 Calendrier Access .................................................................................................... 191 Figure 7 Tableau crois dynamique ....................................................................................... 197

    Figure 8 Schma SQL Server ................................................................................................. 505

    TABLE DES TABLEAUX

    Tableau 1 Type de bases de donnes ....................................................................................... 18 Tableau 2 Lgendes Modlisation BDD .................................................................................. 36 Tableau 3 Codes pour masque de saisie ................................................................................... 56

    Tableau 4 Codes de masque de saisie types ............................................................................. 57 Tableau 5 Raccourcis clavier dmarrage ............................................................................... 281

    Tableau 6 Stratgies de dploiement ...................................................................................... 328 Tableau 7 Autorisations d'accs une base ........................................................................... 353 Tableau 8 Type de donnes VBA .......................................................................................... 377

    Tableau 9 Objets VBA ........................................................................................................... 383 Tableau 10 Tableau ASCII Standard ..................................................................................... 384

    Tableau 11 Tableau ASCII tendu ......................................................................................... 384 Tableau 12 Objets MS Access ............................................................................................... 384

    Tableau 13 Objets MS Access en mode ouverture ................................................................ 385

  • Vincent ISOZ

    MS Office Access 10/564

    1 Liens internet

    Voici une liste non exhaustive de quelques excellents liens concernant MS Access!

    visiter absolument !!!

    http://ww.testoffice.com (testez vos connaissances)

    http://msdn.microsoft.com (page des dveloppeurs)

    http://msdn.microsoft.com/fr-fr/library/bb726434%28v=office.12%29.aspx (lien direct VBA)

    http://communities.microsoft.com (newsgroups)

    http://mypage.bluewin.ch/w.stucki/astuces.htm (page perso)

    http://ww.info-3000.com/access/supportdecours/index.htm (page perso)

    http://access.seneque.free.fr (page perso)

    http://ww.self-access.com/access (page perso)

    http://memoaccess.free.fr (page perso)

    http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/sommaire.htm (page universitaire)

    http://ww.wrox.com (livres MS Access en anglais)

    http://ww.developpez.com (forum)

    http://ww.microsoft.fr (pour les mises jour et plug-ins)

    http://w.mvps.org/accessfr/ (page des MVP)

    http://homepage.bluewin.ch/wstucki/astuces.htm (plein d'astuces VBA!)

    http://www.mvps.org/access/general/gen0012.htm (Leszynski/Reddick naming convention)

    http://www.techonthenet.com/access/functions/index.php (liste de fonctions Access avec

    exemples)

    http://www.bandwood.com/gbs.htm (plug-in permettant de crer rapidement des Gantt sous

    Microsoft Access: Gantt Chart Builder System)

    http://www.iheartmacros.com (site officiel du VBA de Microsoft Office)

  • Vincent ISOZ

    MS Office Access 11/564

    1. propos du rdacteur

    Nom Prnom: ISOZ Vincent

    Domicili ce jour Lausanne (Suisse)

    Formation: Ingnieur Physicien HES (B.Sc.)

    quivalence Internationale: Bachelor of Science

    Anne de naissance: 1978

    Actuellement, je suis consultant trilingue (franais, anglais et allemand) en mathmatiques

    appliques dans le tutorat d'analystes quantitatifs (niveau Bac+5 Bac+7) et auteur de

    plusieurs livres lectroniques dans les domaines suivants:

    - matrise statistique des processus/procds (mthodes paramtriques et non paramtriques)

    - modlisation prvisionnelle/dcisionnelle avance (arbres de dcisions, chanes de Markov)

    - recherche oprationnelle (simplexe, algorithmes gntiques, algorithme GRG)

    - data mining (rseaux de neurones, ACP, AFC, rgressions, scoring, clustering, etc.)

    - modlisation du risque en gestion de projets et finance d'entreprise (monte-carlo, etc.)

    - gestion de projets (modles et best practices thoriques EFQM+Six Sigma, MS Project)

    - ISO 9001:2008, 5807:1985, 10015:1999, 31000+31010:2009, 8258:1991, 10017:2003, etc.

    - Adobe Photoshop et Illustrator

    - 12 applications de la suite Microsoft Office System (Project, Visio, SharePoint, Access, etc.)

    ce jour interventions dans plus de ~200 entreprises dont 10 du Fortune 500 selon listing

    2009 et 3 universits et coles d'ingnieurs suisses dans des cours de modlisation de bases de

    donnes et simulations stochastiques du risque. Formation de plusieurs dirigeants de

    multinationales en one to one.

    Accessoirement j'interviens pour des formations sur des logiciels comme MS Project,

    MS Visio, MS Access et une vingtaine d'autres dont je dlgue l'organisation des entreprises

    spcialises dans la formation continue en bureautique (niveau licence et en-dessous).

  • Vincent ISOZ

    MS Office Access 12/564

    2 Introduction

    "Je gre ma base de donnes sur Excel"

    "Je travaille sur une base de donnes Excel"

    Il est encore frquent d'entendre cette phrase, un non-sens puisque MS Office Excel n'est pas

    un systme de gestion de base de donnes mais un tableur!

    Cette confusion trouve son origine en partie dans le fait que les interfaces des deux logiciels

    sont similaires, lorsque les donnes sont prsentes en tableau. Mais la ressemblance s'arrte

    l! Le tableau se caractrise par sa souplesse et sa rapidit de mise en oeuvre, alors que le

    systme de gestion de bases de donnes permet avant tout d'assurer la cohrence d'une grande

    quantit d'informations, indpendamment de leur prsentation: tables, relations, intgrit

    rfrentielle sont autant de puissants outils spcifiques aux bases de donnes permettant

    d'assurer un contrle permanent de la cohrence des informations qu'elles renferment.

    Une base de donnes relationnelle (S.G.B.D.R.) a plusieurs avantages compars une base de

    donnes simple aussi appele "flat file". Elle utilise beaucoup moins d'espace mmoire, car

    elle rduit au minimum les redondances ou les rptitions des donnes (si elle a t bien

    conue).

    Remarques:

    R1. En prvision de l'volution technologique des bases de donnes, il est habituellement

    prfrable de mettre les tables dans un fichier MS Access prdfini "indpendant" d'un autre

    fichier o se trouveront les formulaires, requtes et tats (voir page 328).

    R2. Contrairement aux exercices donns dans ce support, les noms des champs de donnes

    doivent tre des mots uniques (sans espaces), en minuscules, sans accents et autres symboles

    spciaux (c'est ce qui est fait pendant le cours).

    R3. Pour plus d'informations sur les conventions de nommage voir la page 36.

    De plus, pendant le cours, nous n'allons pas ncessairement suivre l'ordre et la structure des

    exercices tels que prsents dans ce support (il faut savoir tre flexible!).

    Par ailleurs, en toute rigueur nous ne devrions pas parler de "base de donnes MS Access"

    mais de "base de donnes JET", JET (Joint Engine Technology) tant le moteur de base de

    donnes de MS Access 2003 et antrieur qui est lui-mme un outil RAD (Rapid Application

    Development).

    Remarque: MS Access 2007 et ultrieur utilisent un nouveau moteur appel "Access Database

    Engine"

    Enfin, la stabilit des fichiers MS Access (fichiers *.mdb) n'est pas garantie. Il arrive qu'un

    fichier soit endommag et, malgr les outils de rparation, ne puisse tre rcupr. Il est donc

    impratif de soigner tout particulirement sa politique de sauvegarde.

    Pour finir, je pense sincrement que les SGBDR clients sont des outils morts et dsuets face

    aux bases de donnes internet qui permettent une beaucoup plus grande flexibilit, une

  • Vincent ISOZ

    MS Office Access 13/564

    interface plus conviviale, des possibilits grandioses, un environnement multi-utilisateur rel

    et j'en passe... Donc, rflchissez srieusement avant de faire une base de donnes avec des

    techniques qui ont 30 d'ge (est-ce que vous rouleriez avec une voiture dont la carrosserie est

    neuve, mais dont le moteur a 30 ans... probablement pas!).

    2.1 Environnement

    Certes, MS Access est un L4G1 cr en 1992. Mais ce n'est pas le seul logiciel client de ce

    type sur le march et pas le plus vieux! Je souhaiterais donc indiquer les grands classiques

    dans l'ordre de popularit afin d'tre neutre:

    Microsoft Office Access Payant (www.microsoft.com)

    FileMaker Payant (www.filemaker.com)

    Open Office Base Gratuit (http://fr.openoffice.org)

    1 un L4G (sigle de langage/logiciel de quatrime gnration) est un terme utilis pour dsigner un type de

    logiciel qui comporte un langage de programmation combin avec un systme de gestion de base de donnes.

  • Vincent ISOZ

    MS Office Access 14/564

    4D Payant (www.4d.com)

    et nous pourrions encore citer SQL Server Express, ORACLE Express et MySQL.

    2.2 Protocole

    Lorsque l'on cre une base MS Access, on procde toujours de la faon suivante (les temps ci-

    dessous sont donns relativement une qualit professionnelle assure - ces temps ne sont pas

    valables pour des amateurs o les facteurs peuvent aller de 0.1 100:

    1. Analyse des besoins (2 jours 2 semaines)

    2. Choix d'une stratgie de nommage2 (1 2 heures)

    3. Modlisation selon les formes normales (2 jours 2 semaines)

    4. Dfinir un *.mdw selon le protocole donn dans le chapitre de gestion de la scurit voir page 332)

    5. Cration des tables (1 jour 2 semaines)

    a. Dfinition des proprits des tables3 (types de donnes, formats, contraintes, lgendes, index).

    b. Cration des liaisons (aprs la cration des listes de choix !!!) entre les tables (un un, un plusieurs, intgrit)

    6. Cration des requtes (simple, ajout, suppression, table) (1 2 semaines)

    7. Cration et design des formulaires (simples, imbriqus ne pas oublier les infobulles!) (1 2 semaine)

    8. Cration et design des tats (1 semaine)

    9. Sparation des tables dans un fichier indpendant: stratgie dorsale/frontale (1 jour)

    10. Analyse/Optimisation de la base (1 jour)

    11. Dfinir la gestion des utilisateurs (1 3 jours)

    12. Compression de la base (1 5 minutes)

    13. "Beta Testing" de la base (plusieurs jours) et ensuite validation (1 plusieurs semaines)

    14. Crypter la base (*.mde/*.accde) et la dployer en runtime

    2 Ne pas prendre comme exemple ce support de cours qui ne respecte pas 100% la norme pour faciliter la

    comprhension du lecteur

    3 Ne pas oublier de mettre une cl primaire sur des champs AutoNum sur chaque table mme si pas ncessaire

    dans un premier temps sinon problmes en perspective lors de migrations !!!

  • Vincent ISOZ

    MS Office Access 15/564

    Remarques:

    R1. Dans une dmarche rigoureuse, aucune donne ne devrait tre saisie dans les tables tant

    que la base n'est pas totalement termine.

    R2. Commentez vos tables, vos champs etc et il vaut mieux en mettre trop que pas assez !!!

    R3. Il est possible que dans certains cas l'ensemble de la base doive tre faite en

    programmation V.B.A cause de contraintes ou complications trop leves.

    2.3 MS Excel (tableur) VS MS Access (SGBDR)

    L'exprience nous montre que plus de 95% des utilisateurs de la suite MS Office utilisent

    MS Excel tort pour la gestion de listes et consolidation de donnes. Ce qui est incroyable

    c'est que ces utilisateurs se rendent pourtant bien compte que ce logiciel n'est pas fait pour la

    gestion de donnes tant donn les difficults qu'ils rencontrent et la perte de temps que cela

    engendre!

    Le problme vient au fait, d'un manque de recul et de formation de ses utilisateurs car

    rappelons-le, MS Excel est un TABLEUR (graphiques et calculs) et MS Access un systme

    gestion de BASE DE DONNES RELATIONNELLES (cela veut bien dire ce que cela veut

    dire !!).

    Certes, il est possible d'argumenter le fait que MS Access est un logiciel mtier pour

    spcialistes (informaticiens) et que contrairement MS Excel qui est tudi ds le gymnase

    (collge) dans les coles publiques, MS Access n'est lui souvent seulement enseign qu'en

    premier ou deuxime cycle universitaire dans les branches d'conomie.

    Cependant, toute entreprise doit se poser les questions suivantes:

    1. Est-ce normal que les employs perdent des centaines d'heures par anne dans MS Excel faire ce qui peut tre fait dans MS Access en 10 minutes (il est aberrant de

    faire de la consolidation, des TCD ou travailler plusieurs dans un mme fichier dans

    MS Excel ! On voit trs bien que cela n'est pas fait pour !)

    2. Sachant pertinemment que tout fichier MS Excel volumineux finit toujours un jour ou l'autre par se changer en une base MS Access, n'est-il pas plus avantageux de

    directement commencer par celle-ci et payer une formation d'une dizaine de jours

    ses employs plutt que de perdre du temps et de l'argent

    3. Est-ce vraiment optimal que chaque employ fasse ses propres fichiers MS Excel, ou MS Access alors que dans une bonne entreprise, la majorit des donnes devraient tre

    centralises dans une unique base ?

    4. Est-ce vraiment optimal que chaque employ enregistre ses documents sur son espace disque n'importe comment (alors qu'aujourd'hui des technologies comme

    MS SharePoint Portal Server permettent de faire de la gestion lectronique de

    documents G.E.D. sur une base de donnes MS SQL Server)

    Ces observations proviennent de nos expriences dans plus de 400 PMI/PME et il nous parat

    clair qu'il y a des sommes d'argent astronomiques perdues chaque anne dans le suivi

    d'informations non organises et par les mauvais usages de logiciels.

  • Vincent ISOZ

    MS Office Access 16/564

    Il y aurait encore beaucoup dire comme:

    - MS Excel est lent pour l'analyse de millions de lignes de donnes

    - MS Excel ne permet pas de faire un contrle fin de la saisie sans programmation VBA

    - MS Excel ne permet pas de faire des relations de un plusieurs entre tables avec la fonction RECHERCHEV( ) ou sans passer par du VBA

    - MS Excel n'est pas adapt un environnement multi-utilisateurs

    - etc.

    Heureusement, les technologies venir s'orientent toujours plus vers des systmes GDD

    (gestion de donnes) ou GED (gestion lectronique de documents) supports par des bases de

    donnes relationnelles (comme SharePoint).

  • Vincent ISOZ

    MS Office Access 17/564

    3 Notions de base de donnes

    Ce chapitre traite des notions de fondamentales relatives aux bases de donnes et est

    largement indpendant du programme de base de donnes MS Access. Nous allons expliquer

    quelques concepts fondamentaux de la terminologie des bases de donnes et prsenter certains

    outils et techniques de dveloppement de base de donnes.

    Lors du dveloppement de processus de travail informatiss, il est frquemment ncessaire

    d'enregistrer de gros volumes de donnes.

    Un programme de base de donnes gre ces donnes et permet de les lire, de les modifier, de

    les supprimer et d'en ajouter. La faon dont les donnes sont enregistres dpend du type de

    base de donnes et du systme de base de donnes.

    Dfinition:

    En informatique, une base de donnes relationnelle est un stock d'informations dcomposes

    et organises dans des matrices appeles "tables" lies de manire directement ou

    indirectement connexes conformment au modle de donnes relationnel (MDR). Le contenu

    de la base de donnes peut ainsi tre synthtis par des oprations d'algbre relationnelle telles

    que l'intersection, la jointure et le produit cartsien et est bas sur des algorithmes performants

    de gestion des donnes au niveau de la mmoire morte et de la mmoire vive de l'ordinateur.

    3.1 Types de BDD

    Il existe diffrents types de bases de donnes, les bases de donnes relationnelles tant les

    plus connues:

    Type de BDD Remarques

    Base de donnes

    hirarchiques

    Il existe une hirarchie entre les enregistrements (organigrammes). Un

    enregistrement subordonn appartient un enregistrement suprieur

    (contrairement au modle relationnel, le type des enregistrements d'une

    relation ne sont pas forcment identiques!)

    Base de donnes

    rseau

    Ce modle est semblable au modle relationnel. Les relations entre les

    donnes sont toujours de type un plusieurs et gnrent un graphique

    galement appel "rseau" ou "flocon". Les relations sont appeles des

    "ensembles" (cubes OLAP).

    Base de donnes

    orientes objet

    Les bases de donnes orientes objets ne comprennent pas de donnes,

    mais des objets (donnes + oprations sur les objets selon les mthodes

    de Programmation Oriente Objet). Par exemple SharePoint est bas

    sur une telle structure.

    Base de donnes

    rparties

    Les bases de donnes rparties enregistrent des donnes dans plusieurs

    bases de donnes (ex. sur des ordinateurs dans diffrentes villes) et

    possdent des mcanismes de regroupement et d'interrogation des

    donnes rparties

    Base de donnes

    relationnelles

    Les systmes de bases de donnes relationnelles (SGBDR) constituent

    le type de base de donnes le plus important. Les donnes sont

    enregistres dans des tables lies par des relations. Le langage SQL a

    t dfini pour l'valuation des donnes

  • Vincent ISOZ

    MS Office Access 18/564

    Tableau 1 Type de bases de donnes

    3.2 Vues d'une base de donnes

    Les divers groupes de personnes qui travaillent avec une base de donnes ont, selon leur

    tche, des vues diffrentes de la base de donnes. Par exemple, le chef du personnel a besoin

    d'informations sur les employs, alors que l'administrateur de base de donnes s'occupe de

    l'enregistrement et de la scurit des donnes. Le chef du personnel ne s'intresse pas aux

    dtails du projet de base de donnes physique. Ils sont dfinis et, au besoin, mis jour par

    l'administrateur de base de donnes. L'architecture de base de donnes repose sur le projet

    logique, physique et visuel et l'ordre correspondant dans MS Access est souvent le suivant:

    Vue interne (ou physique): La vue interne (ou "schma interne") concerne l'organisation

    physique des donnes sur les disques. Les donnes peuvent tre rparties sur plusieurs

    ordinateurs dans diffrents btiments et villes. Les donnes que vous affichez

    ultrieurement, par exemple, sous forme de table ne doivent pas ncessairement tre

    enregistres ensemble. Souvent la vue interne est associe la terminologie de modle

    physique de donnes (MPD).

    Vue logique: Cette vue reprsente l'ensemble des donnes avec leurs relations sans souci

    d'implmentation physique ni d'utilisation. La conception de la base de donnes commence

    dans la vue logique: les donnes, leur gestion et leurs relations avec d'autres informations.

    Cette reprsentation peut tre sous la forme d'un modle conceptuel de donne (MCD), soit

    une synoptique empirique mais comprhensible. Une fois le MCD effectu, nous passons

    normalement un modle logique de donnes (MLD), soit un synoptique respectant des

    rgles bien prcises comme Merise ou UML. Quand nous travaillons par exemple sur une

    base de donnes du type relationnelle, nous parlons alors de modle logique de donnes

    relationnelles (MLDR).

    Vue externe (ou utilisateur): Elle reprsente la vue de l'utilisateur, qui ne travaille qu'avec

    une partie des donnes. Il ne connat ni la structure interne ni la vue globale de la base de

    donnes, mais uniquement les donnes qui lui sont visibles. Ces donnes peuvent tre lies

    et groupes d'une autre manire que dans la vue logique.

    Les utilisateurs d'une base de donnes ne doivent normalement pas connatre l'organisation

    physique des donnes. La structure physique des donnes peut donc tre modifie, sans

    rpercussion sur la conception de la base de donnes ou la vue de l'utilisateur. En particulier,

    les applications qui utilisent la base de donnes continuent fonctionner sans problme.

    Au niveau interne, vous pouvez utiliser diffrents formats de table (ex. MS Access, dBase,

    MS SQL Server ou Oracle). L'utilisateur ne doit pas connatre l'origine des donnes.

    La structure des donnes d'une vue logique est spcialement adapte aux besoins et aux

    autorisations de l'utilisateur. Par exemple, le chef du personnel peut afficher les salaires des

    employs, alors qu'un collaborateur du dpartement personnel ne peut accder qu' leurs

    coordonnes.

  • Vincent ISOZ

    MS Office Access 19/564

    Projet de base de

    donnes logique

    Le projet logique dcrit la structure des donnes et les liaisons entre

    elles:

    rassemblement des donnes (ex. dans des tables) apparence des relations entre les donnes (ex. intgrit

    rfrentielle)

    ajout de la couche Business Logic: vrification de validit, formats de saisie, etc. Cette logique est alors la disposition

    de tous les utilisateurs des donnes. Elle garantit une gestion

    cohrente des donnes.

    Projet de base de

    donnes physique

    Le projet physique porte sur l'enregistrement des donnes:

    rpartition des donnes sur le disque possibilits d'accs aux donnes (rseau, internet, local) optimisation de l'enregistrement des donnes pour les

    oprations de recherche frquentes

    intgration de mcanismes de scurit automatiques (ex. enregistrement de donnes en plusieurs exemplaires, en miroir

    en cas de dfaillance d'un ordinateur, une autre machine peut prendre le relais avec les mmes donnes)

    3.3 Modules d'un SGBDR

    Un SGBDR client ou serveur est bas sur plusieurs couches pour fonctionner. Sans aller pour

    l'instant dans les dtails en voici une numration dans l'ordre du plus bas niveau de la

    couche lectronique jusqu'au niveau utilisateur que le lecteur comprendra normalement une

    fois lu l'ensemble du prsent livre lectronique:

    Gestionnaire de fichiers (SGF)

    Le gestionnaire de fichiers gre les affectations de mmoire sur disque et les

    structures de donnes qui reprsentent l'information sur disque. Il contient la

    description de l'organisation des fichiers (pages) de la base de donnes.

    Gestionnaire de buffer Le gestionnaire de buffer supervise les changes entre les disques et la mmoire

    centrale grce une mmoire tampon.

    Gestionnaire de la base de donnes

    Le gestionnaire de la base de donnes sert d'interface entre les donnes au niveau

    physique et les applications visuelles.

    Processeur de consultation

    Le processeur de consultation transcrit les requtes de consultation dans la mmoire

    physique en instructions comprhensibles par le gestionnaire de la base.

    Optimiseur L'optimisateur tente de formuler la requte de l'utilisateur de faon optimale en vue

    d'en acclrer l'excution partir de statistiques d'utilisation de la base de donnes.

    Pr-compilateur DML

    Le pr-compilateur DML convertit les instructions DML (Data Manipulation Langage

    comme SQL) du programme d'application SQL en procdures et codes adquats pour

    tre comprises par l'optimiseur.

  • Vincent ISOZ

    MS Office Access 20/564

    Compilateur DDL

    Le compilateur DDL convertit les instructions DDL (Data Definition Language

    comme SQL aussi) en un jeu de tableaux (pages) stocks dans un dictionnaire de

    donnes.

    Gestionnaire d'accs et d'intgrit

    Le gestionnaire d'accs et d'intgrit conserve l'intgrit des donnes et gre les

    habilitations des utilisateurs (autorisations d'accs).

    Contrleur multitche

    Le contrleur multitche traite les conflits ventuels entre traitements simultans.

    Module de rcupration

    Le module de rcupration assure la cohrence de la base mme la suite d'un

    "crash".

    Fichiers de donnes

    Les fichiers de donnes contiennent la description de la base de donnes.

    Fichiers systmes

    Le fichier systmes conservent les donnes relatives la structure de la base, les

    autorisations d'accs et le dictionnaire des donnes.

    Index

    Les index assurent la rapidit d'accs aux donnes de la base au niveau des requtes

    (SQL).

    Statistiques d'utilisation de la base

    Les statistiques d'utilisation de la base sont exploites par le module optimiseur.

    3.4 Mthodes de cration de BDD

    Pour la gestion de donnes, vous avez besoin d'un logiciel appel "systme de gestion de base

    de donnes" (SGBD). Il est principalement charg de traiter les requtes des utilisateurs et de

    renvoyer les donnes dsires. Un SGBD utilise les trois vues d'une base de donnes. Par

    exemple, si un utilisateur tente de demander des donnes sur un client, le SGBD peut excuter

    les oprations suivantes:

    La requte est convertie en procdure interne afin de prparer l'enregistrement dsir

    La vue utilisateur est convertie en vue logique et les structures de donnes ncessaires sont recherches.

    L'emplacement d'enregistrement physique des donnes est dfini.

    L'accs aux donnes s'effectue avec des oprations du systme d'exploitation

    Les donnes sont transmises l'utilisateur

    Le SGBD est donc l'origine de plusieurs transformations des vues. En outre, il peut tenir

    compte des autorisations de l'utilisateur, noter les modifications des donnes, effectuer des

  • Vincent ISOZ

    MS Office Access 21/564

    vrifications lors de la saisie de donnes ou les prendre en considration lors de la suppression

    de donnes et fonctionner en mode multiutilisateurs.

    La cration d'un projet de base de donnes n'est gnralement pas une mince affaire comme

    nous l'avons vu dans notre protocole au dbut de ce support. Vous devez rassembler toutes les

    informations grer dans la base de donnes, raliser diffrentes vues utilisateur, rpartir

    ventuellement les donnes sur plusieurs ordinateurs, etc. Vous devez choisir un modle de

    donnes selon le systme de base de donnes utilis et le type de donnes, ainsi qu'une base

    de donnes prenant ce modle en charge.

    Si vous optez pour le modle de donnes relationnel, les donnes sont enregistres dans des

    tables. Vous pouvez dfinir des relations et des rgles d'intgrit entre les tables.

    Pour viter la rptition de donnes identiques dans diffrentes tables et une augmentation

    excessive du volume des informations enregistres (erreurs nombreuses dans un

    enregistrement), vous pouvez soumettre les donnes un processus de normalisation.

    Il est galement utile de possder une vue d'ensemble des donnes sous la forme d'un

    graphique. Pour ce faire, vous pouvez utiliser le modle E.R. (entit-relation).

    Modle de donnes relationnel: reprsentations des donnes dans des tables pouvant tre

    lies

    Rgles d'intgrit: Rgles directement dfinies dans les tables et vrifiant l'intgrit des

    donnes en cas de modification, de suppression et d'ajout.

    Processus de normalisation: mthode d'enregistrement sans redondance des donnes (pas

    d'enregistrement multiple) permettant d'viter les erreurs lors de la suppression, de la

    modification et de l'insertion de donnes.

    Modle entit-relation/association: reprsentation graphique de toutes les informations

    importantes pour les tables dfinies et des relations entre elles.

    Pour identifier de manire univoque tous les enregistrements d'une table, vous pouvez, par

    exemple, ajouter cette dernire un attribut supplmentaire qui numrote les enregistrements.

    Il est alors possible distinguer les entres de la table grce cet attribut. Dans ce cas, l'attribut

    est la "cl primaire" de la table. Chaque table ne peut possder qu'une cl primaire qui permet

    d'identifier de manire unique chaque enregistrement et qui n'est pas susceptible de changer

    au cours du temps.

    Dans l'exemple ci-dessous, l'ensemble d'entits Collaborateurs possde la cl primaire

    N Personnel:

    Remarque: comme nous le verrons dans les dtails plus loin, la cl primaire d'une table peut

    tre un attribut ou une association d'attribut dont la valeur permet d'identifier de manire

    unique les enregistrements de cette table.

    COLLABORATEUR

    S

    N Personnel Nom Adresse

  • Vincent ISOZ

    MS Office Access 22/564

    Une "cl externe" est un champ d'une table qui cre une liaison avec un champ de cl primaire

    d'une autre table. Par exemple, tous les enregistrements d'une table Commandes contiennent

    le numro du client qui a pass commande. Ce numro identifie de manire univoque un

    client dans la table des clients. Le numro de client dans la table des commandes constitue

    donc une cl externe ("cl trangre" d'une autre table).

    Il arrive frquemment aussi que les enregistrements d'une table doivent tre organiss dans un

    ordre diffrent (tris). Dans les grands volumes de donnes, cette procdure peut toutefois

    prendre du temps. Pour que l'accs aux donnes soit plus rapide, vous pouvez d'autres index

    que la cl primaire (nous verrons effectivement que la cl primaire cre automatiquement un

    index), appels "index secondaires".

    Remarque: Pour plus d'informations sur les relations voir la page 74

    3.5 Modle entit-relation (MER)

    Le modle de donnes relationnel a t dvelopp en 1970 par le mathmaticien E.F. Codd et

    crit l'aide de la thorie des ensembles. Ce modle sert de base aux bases de donnes

    relationnelles.

    Pour tenir compte de toutes les informations pertinentes dans un systme de base de donnes,

    il est utile de dcrire le domaine d'application et les objets ncessaires. L'outil graphique le

    plus connu et le plus utilis cet gard est le "modle entit-relation" (MER) appel aussi

    "modle entit-association" (MEA) qui illustre tous les lments d'un systme de base de

    donnes relationnel et prsente les rapports entre eux.

    Dans la terminologie des bases de donnes, une "relation" est une "table" et donc une

    construction de colonnes et de lignes. Dans le domaine des bases de donnes, une relation ne

    dsigne donc pas, par dfinition, une liaison.

    Les donnes sont enregistres dans une table. Elle reprsente les informations grer (ci-

    dessous une table typique de MS Access):

    Une table est constitue de colonnes, galement appeles "champs" ou "attributs". Les lignes

    de la table contiennent des "enregistrements" ou "uplets". Tous les enregistrements d'une table

    ont une structure identique.

    La structure d'une table est galement appele son "schma". Les divers systmes de base de

    donnes (ex. MS Access, dBase ou Paradox) disposent de diffrents formats de table, dont

  • Vincent ISOZ

    MS Office Access 23/564

    dpendent les conventions de noms des tables et des champs et les types de donnes de

    champs.

    Dfinitions:

    D1. Une "entit" (ou "enregistrement" donc) peut tre un objet, un concept ou une personne. Les entits se distinguent les unes des autres par leurs proprits.

    D2. Un ensemble d'entits est un rassemblement d'entits avec des proprits identiques et correspond une "table".

    Remarque: lLrs de la cration d'une base de donnes rflchissez d'abord aux entits

    et donc aux ensembles d'entits qu'elle doit contenir.

    D3. Une "relation" est une "liaison d'entits". Les relations se distinguent les unes des autres par leurs proprits.

    Le type de relation dcrit les rapports numriques entre les diffrents lments par

    exemple: combien d'enregistrements de la table "Collaborateur" ont t attribus un

    enregistrement de la table "Dpartement" ? Le type de relation est gnralement dfini

    par les mentions suivantes:

    0 Pas d'attribution 1 Une seule attribution n,m Plusieurs attributions

    Les relations sont reprsentes par des lignes de connexion dans le modle ER: la

    relation est dcrite par un symbole et la "cardinalit" est ajoute en fin de ligne.

    D4. Les "proprits ou "attributs" caractrisent une entit, un ensemble d'entits, une relation ou un ensemble de relations.

    D5. Les proprits sont donnes par les "noms des champs de donnes" d'une table.

    D6. Un "domaine de dfinition" indique la plage de valeurs autorises pour une proprit.

    Exemple: une entreprise englobe des collaborateurs, des dpartements et des projets. Une

    base de donnes relationnelle doit tre cre pour grer toutes les informations et tous les

    vnements. Dans l'illustration suivante, tous les lments de la base de donnes et leurs

    relations sont rassembls:

    Tous les rsultats et informations peuvent tre rpartis en trois ensembles d'entits: Dpartement, Collaborateur et Projets.

  • Vincent ISOZ

    MS Office Access 24/564

    Deux relations sont distingues entre les ensembles d'entits: un dpartement se compose de collaborateurs, qui travaillent sur des projets.

    tant donn qu'un dpartement comprend plusieurs collaborateurs, mais qu'un collaborateur n'appartient qu' un dpartement, il s'agit d'une relation un plusieurs. Dans

    ce cas, il est ncessaire d'insrer le champ de cl (primaire) de la table primaire

    (Dpartement) dans la cl (trangre) de la table trangre (Collaborateurs) N

    Dpartement.

    Plusieurs collaborateurs peuvent travailler sur plusieurs projets. Il s'agit d'une relation donc d'une relations plusieurs plusieurs.

    Les ensembles d'entits Dpartement, Collaborateurs et Projets possdent certaines proprits. Par exemple, l'ensemble d'entits Projets possde les proprits N Projet et

    Description. La proprit N Projet identifie exactement une entit ou un enregistrement

    et est donc choisie comme cl primaire.

    Une relation plusieurs plusieurs ncessite un autre ensemble d'entits, appel "table de transition" car l'association entre les collaborateurs et les projets n'est pas identifiable. Le

    nouvel ensemble d'entits comprend au moins les champs de cl des deux ensembles

    d'entits qui composent la relation plusieurs--plusieurs.

    Pour obtenir une description compacte des entits, attributs et champs de cl, vous pouvez

    utiliser la forme textuelle suivante. Elle commence par le nom de l'entit (table), suivi, entre

    parenthses, des attributs (champs), les champs de cl primaire tant souligns.

    DEPARTEMENT (N Dpartement, Description)

    COLLABORATEURS (N Personnel, Nom, Prnom, N Dpartement)

    PROJETS (N Projet, Description)

    EVALUATION_PROJET (N Projet, N Personnel, HeuresTravail)

    3.6 Normalisation

    La rpartition des donnes dans des tables relationnelles peut entraner des erreurs lors de la

    modification, de l'insertion et de la suppression de donnes et ainsi gnrer des redondances et

    incohrences des donnes. Ces erreurs sont galement appeles "anomalies".

    Par exemple, chaque collaborateur est associ avec son dpartement et ses donnes de projet

    selon la table ci-dessous:

    Toutes les donnes sont enregistres dans une seule table. Les problmes suivants surviennent

    lors de la modification, de l'insertion et de la suppression de donnes:

  • Vincent ISOZ

    MS Office Access 25/564

    1. Lorsque vous insrez un nouveau collaborateur qui n'a travaill sur aucun projet, des champs de donnes sont laisss vides, ce qui gaspille de l'espace disque. Des

    problmes de traitement peuvent galement survenir en cas de requtes, ex. lorsqu'un

    collaborateur travaille sur plusieurs projets en mme temps. Ils figurent tous dans un

    champ N Projet et doivent faire l'objet d'une opration supplmentaire. Une requte

    ne peut porter que sur tout le contenu d'un champ ou une partie de celui-ci.

    2. Lorsque vous supprimez un collaborateur, vous devez galement supprimer les donnes du projet correspondantes. Des donnes sont alors perdues.

    3. Lorsque la dnomination d'un projet a t modifie, par exemple, Enqute des clients est remplac par Etude de march, tous les enregistrements contenant cette valeur

    doivent tre modifis (si plusieurs collaborateur y travaillent bien sr !)

    Le processus de normalisation permet notamment de rsoudre les problmes susmentionns.

    Pour ce faire, les donnes des tables doivent respecter certaines rgles. Le rsultat de

    l'application de ces rgles est appel "forme normale" des tables.

    Lors du processus de normalisation, les donnes sont rparties sur plusieurs tables. Les

    diffrentes tapes du processus de normalisation sont dsignes sous le nom de formes

    normales: premire, deuxime et troisime formes normales.

    La structure des donnes de l'exemple ci-dessus est appele "non normalise", car plusieurs

    informations sont enregistres dans certains champs d'un enregistrement. Par exemple, le

    collaborateur Demus travaille sur les projets 1, 2 et 3.

    3.6.1 Premire forme normale

    Supprimez toutes les entres multiples dans un champ. Chaque champ de donnes d'un

    enregistrement doit contenir une valeur maximum.

    La premire forme normale spcifie donc uniquement que chaque entre d'un champ doit tre

    indivisible (une valeur atomique soit: non compose) et en plus impose qu'il y ait au moins

    une cl primaire.

    Cela ne veut pas dire qu'une remarque sur un projet ne peut contenir qu'un mot. Si le champ

    contient toutefois plusieurs remarques avec des indications de date, l'entre n'est plus

    automatique et peut tre rpartie en plusieurs champs de dates, avec textes de remarques

    correspondants.

  • Vincent ISOZ

    MS Office Access 26/564

    Mais cette premire forme normale a encore les problmes suivants:

    1. La table comprend des redondances. Des donnes de collaborateurs et des noms de dpartements et de projets apparaissent plusieurs fois.

    2. La table contient les domaines indpendants suivants: collaborateurs, dpartements, projets.

    3. Les donnes ne peuvent pas tre identifies de manire univoque. Par exemple, le nom du dpartement ne peut tre renvoy qu' l'aide d'un numro personnel.

    3.6.2 Deuxime forme normale

    La deuxime forme normale exige que chaque champ non-cl (tran


Recommended