Access Lahlou Cours PDF

download Access Lahlou Cours PDF

of 112

Transcript of Access Lahlou Cours PDF

Institut Agronomique et Vtrinaire Hassan II Dpartement de Statistique Applique

Support de cours

AccessMr Mouanis LAHLOU

1999! : IAV Hassan II. B.P. 6202-Instituts 10101 Rabat : +07 77 17 58/59/45 Fax : +07 77 81 35 ou 77 58 38Mail : [email protected]

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Table des MatiresI.A. B.

propos de la cration d'une base de donnes _________________________________________ 6Introduction _______________________________________________________________________ 6 tapes de cration d'une base de donnes _______________________________________________ 9

II.A. B. C.

Crer une table _______________________________________________________________ 11Introduction ______________________________________________________________________ 11 Crer une table vierge ______________________________________________________________ 13 Quel type de donnes dois-je utiliser pour un champ dans ma table ? _______________________ 14

III.A. B. C. D. E. F.

propos des relations dans une base de donnes ____________________________________ 16Comment fonctionnent les relations ? _________________________________________________ 17 Relation un--plusieurs _____________________________________________________________ 17 Relation plusieurs--plusieurs _______________________________________________________ 18 Relation un--un___________________________________________________________________ 18 Dfinition des relations _____________________________________________________________ 19 Dfinir des relations entre les tables_____________________________________________________ 20

IV.A. B. C. D. E.

Requtes_____________________________________________________________________ 21Introduction ______________________________________________________________________ 21 Comment personnaliser une requte ?_________________________________________________ 22 Comment spcifier plusieurs critres dans une requte ? _________________________________ 22 Exemple de requte Analyse croise___________________________________________________ 24 Types de jointure et influence sur le rsultat de la requte ________________________________ 26

V.A. B. C. D. E. F.1. 2. 3.

Formulaires __________________________________________________________________ 27Introduction ______________________________________________________________________ 27 Personnaliser un formulaire _________________________________________________________ 29 Sections d'un formulaire ____________________________________________________________ 29 Crer un formulaire sans Assistant ___________________________________________________ 30 Crer un formulaire l'aide d'un Assistant ____________________________________________ 31 Sous-formulaire _____________________________________________________________________ 31Introduction ________________________________________________________________________________ 31 Types de sous-formulaires ____________________________________________________________________ 32 Lier un formulaire principal et un sous-formulaire __________________________________________________ 33

VI.A. B. C.

tats ________________________________________________________________________ 34Introduction ______________________________________________________________________ 34 Sections d'un tat __________________________________________________________________ 35 Exemple d'enregistrements regroups dans un tat ______________________________________ 37

VII. VIII.A.1.

Introduction__________________________________________________________________ 38 DAO ______________________________________________________________________ 40Prsentation des objets d'accs aux donnes ____________________________________________ 40Modles d'objet _____________________________________________________________________________ 40

Page 2 sur 2

Institut Agronomique et Vtrinaire Hassan II 2. 3. 4.

M. LAHLOU

Objets DAO________________________________________________________________________________ 40 Collections DAO____________________________________________________________________________ 41 Objets DBEngine et Workspace ________________________________________________________________ 41

B.1. 2. 3. 4. 5. 6.

Utilisation de l'espace de travail Microsoft Jet __________________________________________ 43Ouverture d'une base de donnes _______________________________________________________________ 43 Langage de dfinition de donnes _______________________________________________________________ 43 Manipulation de donnes _____________________________________________________________________ 43 Transactions _______________________________________________________________________________ 43 Duplication ________________________________________________________________________________ 43 Scurit ___________________________________________________________________________________ 43

C. D. E. F. G. H. I. J.

Rfrence des objets et collections d'accs aux donnes___________________________________ 44 DBEngine ________________________________________________________________________ 44 Workspace _______________________________________________________________________ 45 Database ___________________________________________________________________________ 47 TableDef _________________________________________________________________________ 48 Field_____________________________________________________________________________ 50 Index ______________________________________________________________________________ 52 Recordset __________________________________________________________________________ 54

IX.A. B. C. D.

Macros ______________________________________________________________________ 57Qu'est-ce qu'une macro ? ___________________________________________________________ 57 Srie d'actions_____________________________________________________________________ 57 Groupe de macros _________________________________________________________________ 57 Actions conditionnelles _____________________________________________________________ 58

X.A.1. 2.

Access Basic _________________________________________________________________ 59Prsentation ______________________________________________________________________ 59Modules de classe ___________________________________________________________________________ 59 Modules standard ___________________________________________________________________________ 60

B. C.1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.

Dans quel cas utiliser Access Basic____________________________________________________ 60 Instructions_______________________________________________________________________ 61Vue densemble_____________________________________________________________________________ 61 Beep (VBA) _______________________________________________________________________________ 63 Call (VBA) ________________________________________________________________________________ 63 Close (VBA) _______________________________________________________________________________ 63 Const (VBA) _______________________________________________________________________________ 63 Declare (VBA) _____________________________________________________________________________ 63 Dim (VBA) ________________________________________________________________________________ 63 Do...Loop (VBA) ___________________________________________________________________________ 64 End (VBA) ________________________________________________________________________________ 64 Exit (VBA) ______________________________________________________________________________ 65 For Each...Next (VBA) _____________________________________________________________________ 65 For...Next (VBA) _________________________________________________________________________ 65 Function (VBA) __________________________________________________________________________ 65 GoTo (VBA) _____________________________________________________________________________ 65 If...Then...Else (VBA)______________________________________________________________________ 65 On Error (VBA) __________________________________________________________________________ 66 Option Base (VBA) _______________________________________________________________________ 67 Option Compare (VBA) ____________________________________________________________________ 67 Option Explicit (VBA) _____________________________________________________________________ 68 Option Private (VBA) ______________________________________________________________________ 68 ReDim (VBA)____________________________________________________________________________ 68 Rem (VBA)______________________________________________________________________________ 68 Resume (VBA) ___________________________________________________________________________ 68

Page 3 sur 3

Institut Agronomique et Vtrinaire Hassan II 24. 25. 26. 27. 28.

M. LAHLOU

SelectCase (VBA)_________________________________________________________________________ 69 SendKeys (VBA) _________________________________________________________________________ 69 Stop (VBA) ______________________________________________________________________________ 69 Sub (VBA) ______________________________________________________________________________ 69 While...Wend (VBA) ______________________________________________________________________ 69

D.1. 2. 3. 4.

Oprateurs _______________________________________________________________________ 70Oprateurs arithmtiques______________________________________________________________________ 70 Oprateurs de comparaison ____________________________________________________________________ 70 Oprateurs de concatnation ___________________________________________________________________ 71 Oprateurs boolens _________________________________________________________________________ 71

E.1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

vnements et proprits d'vnement ________________________________________________ 71Qu'est-ce qu'un vnement ? ___________________________________________________________________ 71 Rponse un vnement Clic (Click) l'aide d'une procdure vnementielle ____________________________ 71 Rponse un vnement Clic (Click) l'aide d'une macro____________________________________________ 72 vnements de type Clavier ___________________________________________________________________ 72 vnements de type Donnes __________________________________________________________________ 73 vnements de type Erreur et Minuterie __________________________________________________________ 74 vnements de type Fentre ___________________________________________________________________ 74 vnements de type Filtre _____________________________________________________________________ 75 vnements de type Focus ____________________________________________________________________ 75 vnements de type Impression ______________________________________________________________ 75 vnements de type Souris __________________________________________________________________ 76 Cration d'une procdure vnementielle _______________________________________________________ 76

XI.A.1. 2. 3. 4. 5.

Le langage SQL_______________________________________________________________ 77Langage de manipulation de donnes _________________________________________________ 77SELECT, instruction _________________________________________________________________________ 77 DELETE, instruction_________________________________________________________________________ 84 UPDATE, instruction ________________________________________________________________________ 85 UNION, opration___________________________________________________________________________ 85 TRANSFORM, instruction ____________________________________________________________________ 85

B.1. 2. 3. 4. 5.

Langage de dfinition de donnes_____________________________________________________ 86DROP, instruction ___________________________________________________________________________ 86 CREATE TABLE, instruction _________________________________________________________________ 86 CREATE INDEX, instruction__________________________________________________________________ 87 ALTER TABLE, instruction ___________________________________________________________________ 87 CONSTRAINT, clause _______________________________________________________________________ 87

XII.A. B.1. 2. 3. 4. 5.

Cration, modification et saisie de donnes dans les formulaires _______________________ 89Introduction ______________________________________________________________________ 89 Crer un formulaire________________________________________________________________ 90Crer un formulaire colonne simple l'aide du bouton Nouvel objet __________________________________ 90 Crer un formulaire l'aide d'un Assistant ________________________________________________________ 90 Crer un formulaire sans Assistant ______________________________________________________________ 91 Crer un formulaire fond sur plusieurs tables _____________________________________________________ 91 Crer un formulaire partir d'enregistrements dj filtrs dans une table, une requte ou un autre formulaire ____ 91

C.1. 2.

Proprits des formulaires __________________________________________________________ 92Dfinition de proprits l'aide de code __________________________________________________________ 92 Proprits _________________________________________________________________________________ 94

D. E. F.1. 2. 3. 4.

Ouvrir un formulaire______________________________________________________________ 105 Ajouter de nouvelles donnes en mode Feuille de donnes ou en mode Formulaire ___________ 105 Personnaliser un formulaire __________________________________________________________ 105Modifier l'apparence d'un formulaire ___________________________________________________________ 105 Dplacer, redimensionner et aligner les contrles__________________________________________________ 106 Modifier l'tiquette ou la source du contrle______________________________________________________ 106 Ajouter un champ ou un contrle ______________________________________________________________ 106

XIII.

Complments ______________________________________________________________ 106Page 4 sur 4

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

A. B. C. D.1. 2. 3.

Cration de la macro AutoExec _____________________________________________________ 106 Cration d'une barre de menu personnalise l'aide du Gnrateur de menu_______________ 107 Barre d'outils personnalise ________________________________________________________ 108 Fonctions d'aide __________________________________________________________________ 108Recherche rapide___________________________________________________________________________ 108 A propos du Conseiller ______________________________________________________________________ 109 Copie d'exemples de programmation ___________________________________________________________ 110

XIV.

Exemple dapplication_______________________________________________________ 110

Page 5 sur 5

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Microsoft Access II. propos de la cration d'une base de donnesAvant de commencer utiliser Microsoft Access pour la cration des tables, formulaires et autres objets qui composeront votre base de donnes, il est important de s'attarder sur sa structure. Une base de donnes bien conue est l'lment essentiel dans la cration d'une base de donnes qui rpond de manire efficace et prcise vos besoins.

A.

Introduction

1. Une base de donnes est un ensemble d'informations associes un sujet particulier, tel que le suivi des commandes ou la gestion d'une collection musicale. Si votre base de donnes n'est pas stocke sur un ordinateur, ou si elle ne l'est que partiellement, vous tes peut-tre oblig de grer des informations en provenance de sources diverses que vous devez coordonner et organiser manuellement.

2. l'aide de Microsoft Access, vous pouvez grer toutes vos informations l'aide d'un fichier unique de base de donnes. Dans ce fichier, vous devez rpartir ces donnes entre plusieurs contenants appels tables. Les formulaires en ligne vous permettent de consulter, d'ajouter et de mettre jour les donnes des tables. Les requtes vous permettent de rechercher et de rcuprer les donnes que vous voulez. Quant aux tats, ils servent analyser et imprimer les donnes selon la mise en page de votre choix.

Page 6 sur 6

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

3. Pour stocker vos donnes, vous devez crer une table par type d'informations que vous grez. Pour rassembler, dans une requte, un formulaire ou un tat, des donnes en provenance de plusieurs tables, vous devez dfinir des relations entre les tables.

4. Pour rechercher et rcuprer les donnes correspondant aux conditions que vous aurez spcifies, y compris des donnes contenues dans plusieurs tables, vous devez crer une requte. Les requtes peuvent galement vous permettre de mettre jour ou de supprimer plusieurs enregistrements la fois, et d'effectuer sur vos donnes des calculs intgrs ou personnaliss.

5. Pour afficher, saisir et modifier facilement des donnes directement dans une table, crez un formulaire. Lorsque vous ouvrez un formulaire, Microsoft Access rcupre les donnes d'une ou plusieurs tables et les affiche l'cran en utilisant la mise en page que vous avez choisie dans l'Assistant Formulaire, ou celle que vous avez cr vous-mme.

Page 7 sur 7

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

6. Pour analyser vos donnes ou les mettre en page pour l'impression, vous devez crer un tat. Par exemple, vous pouvez crer un tat regroupant des donnes et calculant des totaux, et un autre tat contenant des donnes mises en forme en vue de l'impression d'tiquettes de publipostage.

7.

Page 8 sur 8

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

B.1

tapes de cration d'une base de donnes

Voici les tapes de base pour crer une base de donnes : Dterminez l'objectif de votre base de donnes: La premire tape dans la conception d'une base de donnes consiste dterminer l'objectif de la base de donnes et l'utilisation qui va en tre faite. Vous devez rflchir aux informations que vous souhaitez obtenir de la base de donnes. partir de l, vous pouvez dterminer les sujets sur lesquels vous voulez stocker des faits (les tables) et les faits que vous voulez stocker propos de chaque sujet (les champs des tables). Discutez avec les personnes qui utiliseront la base de donnes. Rflchissez ensemble aux questions auxquelles la base de donnes doit apporter une rponse. Esquissez les tats que vous souhaitez raliser. Runissez les formulaires que vous utilisez actuellement pour enregistrer vos donnes. Examinez des bases de donnes bien conues et semblables la vtre. 2 Dterminez les tables1 dont vous avez besoin dans la base de donnes: Dterminer les tables dont vous avez besoin peut tre l'tape la plus complique lorsque vous crez une base de donnes. Cela est d au fait que les rsultats que vous souhaitez obtenir de votre base de donnes (les tats que vous voulez imprimer, les formulaires que vous voulez utiliser, les questions auxquelles une rponse doit tre apporte) ne fournissent pas ncessairement des indices sur la structure des tables qui les produisent. Vous n'tes pas oblig de concevoir vos tables l'aide de Microsoft Access. En fait, il peut tre prfrable de tracer une esquisse de la structure de vos tables sur papier d'abord, pour les y retravailler ensuite. Lorsque vous crez vos tables, morcelez les informations en gardant l'esprit les principes de base suivants: Une table ne doit pas contenir d'informations en double et les informations ne doivent pas tre dupliques entre les tables. Lorsque chaque lment d'information est stock dans une seule table, vous le mettez jour un seul endroit. Cette mthode est plus efficace et limine le risque d'entres en double contenant des informations diffrentes. Par exemple, vous pouvez stocker chaque adresse et numro de tlphone des clients une seule fois et dans une seule table. Chaque table doit contenir des informations relatives un seul sujet. Lorsque chaque table contient des faits relatifs un seul sujet, vous pouvez conserver des informations relatives chaque sujet indpendamment des autres sujets. Par exemple, vous pouvez stocker les adresses des clients dans une table diffrente de celle des commandes des clients, de manire pouvoir supprimer une commande et conserver malgr tout les informations relatives un client. 3 Dterminez les champs2 dont vous avez besoin dans les tables. Chaque table comporte des informations relatives un mme sujet, et chaque champ d'une table contient des faits individuels relatifs au sujet de la table. Par exemple, une table Client pourra inclure les champs Socit, Adresse, Ville, Pays et Numro de tlphone. En esquissant les champs de chaque table, gardez les conseils suivants l'esprit: tablissez une relation directe entre chaque champ et le sujet de la table.

1

Table : Structure fondamentale d'un systme de gestion de base de donnes relationnelle. Dans Microsoft Access, une table est un objet qui stocke les donnes dans des enregistrements (lignes) et des champs (colonnes). Les donnes se rapportent gnralement une catgorie particulire de choses, par exemple des employs ou des commandes. Champ : Partie d'une table qui contient un lment spcifique d'information, par exemple un nom de famille. Un champ est reprsent par une colonne ou une cellule dans une feuille de donnes. Dans un formulaire, vous pouvez utiliser un contrle, tel qu'une zone de texte, pour afficher les donnes d'un champ.

2

Page 9 sur 9

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

4

N'incluez pas des donnes drives ou calcules (des donnes qui sont le rsultat d'une expression). Incluez toutes les informations dont vous avez besoin. Stockez les informations de la manire la plus logique possible (par exemple, crez les champs Nom et Prnom, plutt que seulement Nom).

Identifiez les champs comportant des valeurs uniques: Pour permettre Microsoft Access de relier les informations stockes dans des tables spares (par exemple, pour relier un client toutes ses commandes), chaque table de votre base de donnes doit inclure un champ ou un ensemble de champs qui identifient de manire unique chaque enregistrement individuel dans la table. Un tel champ ou ensemble de champs s'appelle une cl primaire3.

5

Dterminez les relations entre les tables: prsent que vous avez divis vos informations sous forme de tables et que vous avez identifi les champs cl primaire, il vous faut indiquer Microsoft Access la faon de runir les informations connexes de manire significative. Pour cela, vous devez dfinir des relations entre les tables. Vous trouverez sans doute utile d'examiner les relations dans une base de donnes existante qui a t conue avec soin. Pour afficher les relations dans la base de donnes exemple Les comptoirs, ouvrez Comptoir.mdb et cliquez sur Relations dans le menu Outils.

6

Affinez votre structure: Aprs avoir cr les tables, les champs et les relations ncessaires, vous devez prsent tudier la structure et dtecter tout dfaut qu'elle pourrait prsenter. Il est plus facile de modifier la structure de votre base de donnes maintenant plutt qu'aprs avoir introduit vos donnes dans les tables. l'aide de Microsoft Access, crez vos tables, spcifiez les relations entre elles et tapez quelques enregistrements de donnes dans chaque table. Vrifiez si vous pouvez utiliser la base de donnes pour obtenir les rponses souhaites. Crez des formulaires et des tats brouillons et vrifiez s'ils affichent les donnes souhaites. Recherchez les donnes redondantes inutiles et liminez-les.

7

Ajoutez les donnes et crez d'autres objets de base de donnes. Lorsque vous tes satisfait et que la structure des tables rpond aux objectifs noncs ici, il est alors temps de passer l'tape suivante et d'ajouter toutes vos donnes existantes dans les tables. Vous pouvez ensuite crer tou(te)s les requtes4, formulaires5, tats6, macros7 et modules8 que vous voulez.

3

Cl primaire : Un ou plusieurs champs dont la ou les valeurs identifient de faon unique chaque enregistrement d'une table. Dans une relation, une cl primaire permet de faire rfrence des enregistrements spcifiques d'une table partir d'une autre table. Une cl primaire est appele cl externe lorsqu'elle est rfrence depuis une autre table. Requte : Question sur les donnes enregistres dans vos tables ou demande d'excution d'une action sur des donnes. Une requte permet de runir les donnes de plusieurs tables en vue de leur utilisation comme source de donnes pour un formulaire ou un tat. Dans Microsoft Access, vous pouvez crer et excuter les types de requtes suivants : Les requtes Slection, y compris les requtes paramtres et les requtes avec Oprations. Les requtes action Les requtes Analyse croise Les requtes spcifiques SQL

4

5

Formulaire : Objet de base de donnes Microsoft Access dans lequel vous pouvez placer des contrles servant la saisie, l'affichage et la modification des donnes dans les champs. tat : Objet de base de donnes Microsoft Access qui reprsente des informations mises en forme et organises selon vos spcifications. Par exemple, des rcapitulatifs des ventes, des listes de numros de tlphone et des tiquettes de publipostage.

6

Page 10 sur 10

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

8

Utilisez des outils d'analyse Microsoft Access. Microsoft Access comporte deux outils qui vous permettent d'affiner la structure de votre base de donnes. L'Assistant Analyseur de table analyse la structure d'une table la fois, propose de nouvelles structures et relations pour les tables et restructure une table en de nouvelles tables connexes si cela est ncessaire.

II.

Crer une tableA. Introduction

1.

9

2. En mode Feuille de donnes, vous pouvez ajouter, diter ou afficher les donnes de la table. Vous pouvez galement vrifier l'orthographe et imprimer les donnes de la table, filtrer ou trier les enregistrements, modifier l'aspect de la feuille de donnes, ou changer la structure de la table en ajoutant ou en supprimant des colonnes.

7 8

Macro : Action ou ensemble d'actions permettant d'automatiser des tches.

Module : Ensemble de dclarations, d'instructions et de procdures enregistres dans une unit les regroupant sous un mme nom. Microsoft Access propose deux types de modules : les modules standard et les modules de classe. Les modules d'tat et de formulaire sont des modules de classe contenant du code ne s'appliquant qu'au formulaire ou l'tat. moins de les dclarer explicitement comme prives et rserves au module auquel elles appartiennent, les procdures des modules standard sont reconnues et peuvent tre appeles par les procdures d'autres modules de la base de donnes ou d'une base de donnes rfrence. Chaque champ de la table Produits contient le mme type d'informations pour chaque produit, comme le nom du produit. Chaque enregistrement de la table Produits contient toutes les informations sur un produit, comme le nom du produit, le numro du fournisseur, la quantit en stock, etc.

9

Page 11 sur 11

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

3. En mode Feuille de donnes, vous pouvez crer de toute pice une table entire, ajouter, supprimer, ou personnaliser les champs d'une table existante.

Page 12 sur 12

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

B.

Crer une table vierge

1 2 3 4

Si ce n'est dj fait, basculez sur la fentre Base de donnes Pour afficher la fentre Base de donnes quelle que soit la fentre o vous vous trouvez, appuyez sur F11. Cliquez sur l'onglet Tables, puis sur Nouveau. Double-cliquez sur mode Cration. Dfinissez chacun des champs de la table. a) Cliquez dans la colonne Nom du champ et tapez le nom du champ, en respectant les rgles d'appellation10 des objets de Microsoft Access. b) Dans la colonne Type de donnes, gardez la valeur par dfaut (Texte) ou cliquez dans la colonne Type de donnes11, puis sur la flche et slectionnez le type de donnes dsir. c) Pour des informations sur les types de donnes voir ci dessous.

10

Rgles d'appellation des objets : Ensemble de rgles spcifiques servant nommer les objets Microsoft Access. Dans Microsoft Access, les noms peuvent comporter jusqu' 64 caractres et n'importe quelle combinaison de lettres, nombres, espaces et caractres spciaux l'exception du point (.), du point d'exclamation (!), de l'apostrophe inverse (`) et des crochets ([ ]). De plus, vous ne pouvez pas utiliser les espaces en dbut de nom ni les caractres de contrle (valeurs ASCII de 0 31). Conseils vitez l'emploi d'espaces dans les noms d'objet si vous comptez faire souvent rfrence des objets dans des expressions ou du code Visual Basic. vitez l'emploi de noms trop longs, car il est difficile de s'en souvenir et d'y faire rfrence.

11

Type de donnes : Attribut d'une variable ou d'un champ qui dtermine le genre de donnes qu'elle ou qu'il peut contenir. Par exemple, les types de donnes de champ Texte et Mmo permettent au champ de stocker du texte ou des nombres, mais le type de donnes Numrique n'accepte que des nombres. Les champs de type de donnes Numrique contiennent des donnes numriques utilises pour les calculs mathmatiques. Le type de donnes Montaire permet d'afficher ou de calculer des valeurs montaires. Les types de donnes pris en charge sont les types de donnes de champ, les types de donnes Visual Basic et les types de donnes de requte paramtre.

Page 13 sur 13

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

d) Dans la colonne Description, tapez la description du contenu de ce champ. Cette description s'affichera sur la barre d'tat lorsque vous ajouterez des donnes dans le champ et elle figurera dans la Dfinition de l'objet de la table. Vous n'tes pas oblig d'entrer une description. e) Si vous le souhaitez, vous pouvez dfinir les proprits du champ dans la partie infrieure de la fentre. Remarque : S'il s'agit d'une table attache, vous ne pouvez pas ajouter un nouveau champ la base de donnes en cours. Si la table attache est une table Microsoft Access, vous devez ouvrir sa base de donnes source pour ajouter un champ. Si la table attache provient d'une autre application, vous devez d'abord ouvrir le fichier source avec son application pour pouvoir ajouter un champ. 5 Avant d'enregistrer la table, dfinissez un champ de cl primaire. a) Slectionnez le ou les champs que vous souhaitez dfinir comme cl primaire. Pour slectionner un champ, cliquez sur le slecteur de ligne en regard du champ. Pour slectionner plusieurs champs, maintenez la touche CTRL enfonce et cliquez sur le slecteur de ligne correspondant chaque champ. b) Cliquez sur Cl primaire dans la barre d'outils. Remarques Vous pouvez spcifier une cl primaire pour un champ qui contient dj des donnes, mais si Microsoft Access trouve des doublons ou des valeurs de type Null lorsqu'il enregistre la table, il affiche un message d'erreur. Si ce message s'affiche, trois solutions s'offrent vous : soit vous utilisez une requte Trouver les doublons pour localiser les enregistrements comportant des doublons ou des valeurs Null, puis ditez le champ pour les enlever ; soit vous choisissez un autre champ ; soit encore, vous ajoutez un champ Numrotation automatique et le dfinissez comme cl primaire. Dans une cl primaire compose, l'ordre des champs peut avoir de l'importance pour vous. Les champs dans une cl primaire compose sont tris en fonction de leur ordre dans la table en mode Cration. Si vous voulez un ordre diffrent, spcifiez d'abord les champs composant la cl primaire de la manire dcrite dans la procdure prcdente, puis cliquez sur Index dans la barre d'outils pour afficher la fentre Index et reclasser les noms de champ pour l'index appel Cl primaire.

Remarque : Vous n'tes pas oblig de dfinir une cl primaire, mais c'est prfrable. Si vous n'en dfinissez pas, Microsoft Access vous demande si vous dsirez qu'il la cre votre place lors de l'enregistrement de la table. 6 Lorsque vous tes prt enregistrer votre table, cliquez sur Enregistrer dans la barre d'outils, puis tapez le nom de la table en respectant les rgles d'appellation des objets de Microsoft Access.

C.

Quel type de donnes dois-je utiliser pour un champ dans ma table ?

Pour dcider du type de donnes utiliser, basez-vous sur les considrations suivantes : Quel type de donnes voulez-vous autoriser dans ce champ ? Par exemple, vous ne pouvez pas enregistrer du texte dans un champ de type Numrique. Combien d'espace disque voulez-vous utiliser pour enregistrer les donnes du champ ? Quel type d'opration voulez-vous accomplir sur les valeurs de ce champ ? Par exemple, Microsoft Access permet d'additionner des valeurs dans des champs de type Numrique ou Montaire, mais pas dans des champs de type Texte ou Liaison OLE. Voulez-vous trier ou indexer le champ ? Vous ne pouvez pas trier ni indexer des champs de type Mmo, Hyperlien ou Liaison OLE.

Page 14 sur 14

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Dsirez-vous utiliser le champ pour effectuer des regroupements lorsque vous gnrez des requtes ou des tats ? Vous ne pouvez pas effectuer un regroupement sur un champ de type Mmo, Hyperlien ou Liaison OLE. Comment voulez-vous trier les valeurs du champ ? Dans un champ Texte, les nombres sont tris comme des chanes de caractres (1, 10, 100, 2, 20, 200, etc.), et non comme des valeurs numriques. Si vous dsirez effectuer un tri sur des nombres, utilisez un champ de type Numrique ou Montaire. Il en est de mme pour les dates ; si vous devez effectuer un tri sur des dates, dfinissez ce champ comme un champ de type Date/Heure et non pas comme un champ de type Texte.

Remarque : Les types de donnes Numrique, Date/Heure, Montaire et Oui/Non proposent des formats d'affichage prdfinis. Utilisez la proprit Format du champ pour choisir l'un des formats proposs pour chaque type de donnes. Vous pouvez galement crer un format d'affichage personnalis, sauf pour les champs de type Liaison OLE.Champs de table Visual Basic Description Valeur True/False ou yes/no. Les valeurs de type Boolean sont gnralement stockes dans des champs Bit d'une base de donnes Microsoft Jet ; toutefois, certaines bases de donnes ne prennent pas directement en charge ce type de donnes. Type de donnes lmentaire utilis pour stocker de petits nombres entiers positifs compris entre 0 et 255. Type de donnes lmentaire qui regroupe des nombres entiers longs. Une variable de type Long est enregistre sous la forme d'un nombre de 32 bits (4 octets) dont la valeur est comprise entre -2 147 483 648 et 2 147 483 647. Type de donnes utilis dans les calculs montaires ou dans les calculs virgule fixe pour lesquels une grande prcision est requise. Ce type de donnes permet de stocker des nombres comportant au maximum 15 chiffres avant la virgule et 4 chiffres aprs la virgule. Le type de donnes Currency utilisant des valeurs discrtes pour tous les montants, l'arrondissement binaire n'entre pas en compte lors du calcul de totaux. Les dates et les heures sont enregistres en interne comme les composants d'un nombre rel. Date/Heure Date La valeur gauche du sparateur dcimal reprsente une date comprise entre le 30 dcembre 1899 et le 30 dcembre 9999 inclus. Les valeurs ngatives reprsentent des dates antrieures au 30 dcembre 1899. La valeur situe droite du sparateur dcimal reprsente une heure comprise entre 0:00:00 et 23:59:59, inclus. Midi est reprsent par .5. Type de donnes lmentaire qui regroupe les nombres virgule flottante en double prcision dans le format IEEE. Une variable de type Double est enregistre sous la forme d'un nombre de 64 bits (8 octets) dont la valeur est comprise entre -1,79769313486231E308 et -4,94065645841247E-324 pour les valeurs ngatives, entre 4,94065645841247E-324 et 1,79769313486231E308 pour les valeurs positives, et 0.

Oui/Non

Boolean

Numrique (Taille du champ = Octet) NumroAuto (Taille du champ = Entier long) / Numrique (Taille du champ = Entier long)

Byte

Long

Montaire

Currency

Numrique (Taille du Double champ = Rel double)

Page 15 sur 15

Institut Agronomique et Vtrinaire Hassan II Champs de table Visual Basic Description

M. LAHLOU

Numrique ou NumroAuto (Taille du champ = N de rplication)

Non pris en charge

Identifiant mondialement unique/identifiant universellement unique. Chane d'identification unique utilise dans le cas d'appels de procdure distance. Toutes les interfaces et les classes d'objet utilisent un identificateur GUID. Un GUID est une valeur de 128 bits. Par exemple, 12345678-1234-1234-1234-123456789ABC est un GUID syntaxiquement correct. Les GUID sur le client et le serveur doivent correspondre pour que ces derniers puissent tre relis. Les fournisseurs d'objets OLE (Object Linking and Embedding) peuvent demander Microsoft de leur fournir un ou plusieurs jeux de 256 GUID pour leur usage exclusif. Ou, si vous possdez une carte rseau, vous pouvez excuter un utilitaire appel Uuidgen.exe, qui fournit un jeu de 256 GUID en fonction de l'heure, de la date et d'un numro unique cod dans votre carte rseau. Type de donnes de champ utilis pour lier ou incorporer dans une base de donnes Microsoft Jet des objets crs dans d'autres applications. Par exemple, vous pouvez utiliser un champ OLE Object pour y placer une collection d'images. Type de donnes de champ. Les champs Memo peuvent contenir jusqu' 1,2 Go de donnes texte. Type de donnes lmentaire qui regroupe des nombres virgule flottante en simple prcision au format IEEE. Une variable de type Single est stocke sous la forme d'un nombre de 32 bits (4 octets) dont la valeur est comprise entre -3,402823E38 et -1,401298E-45 pour les valeurs ngatives, entre 1,401298E-45 et 3,402823E38 pour les valeurs positives, et 0. Type de donnes lmentaire qui regroupe des nombres entiers. Une variable de type Integer est enregistre sous la forme d'un nombre sur 16 bits (2 octets) dont la valeur est comprise entre -32 768 et 32 767. Type de donnes de champ. Les champs Texte peuvent contenir jusqu' 255 caractres ou le nombre de caractres indiqu par la proprit Size de l'objet Field s'il est infrieur 255. Si la proprit Size du champ Texte est 0, le champ peut contenir jusqu' 255 caractres de donnes. Type de donnes de champ. Les champs Memo peuvent contenir jusqu' 1,2 Go de donnes texte.

Objet OLE

String

Mmo

String

Numrique (Taille du Single champ = Rel simple)

Numrique (Taille du champ = Entier)

Integer

Texte

String

Lien hypertexte

String

III.

propos des relations dans une base de donnes

Aprs avoir install diverses tables pour les diffrents sujets traits dans votre base de donnes, il vous faut un moyen d'indiquer Microsoft Access comment rassembler ces informations. La premire tape consiste dfinir des relations entre vos diffrentes tables. Aprs quoi vous pouvez crer des requtes, des formulaires et des tats pour afficher simultanment des donnes provenant de plusieurs tables diffrentes. Par exemple, le formulaire ci-dessous comprend des informations provenant de cinq tables diffrentes :

Page 16 sur 16

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

A.

Comment fonctionnent les relations12 ?

Dans l'exemple prcdent, les champs des cinq tables doivent tre coordonns de manire prsenter les informations dans le mme ordre. Cette coordination est obtenue au moyen de relations entre tables. Une relation a pour objet de faire correspondre les donnes des champs-cls de deux tables - ces champs ont habituellement le mme nom dans les deux tables. Dans la plupart des cas, ces champs sont la cl primaire de la premire table, qui constitue un identificateur unique pour chaque enregistrement, et la cl externe13 de l'autre table. Par exemple, il est possible d'associer les employs avec les commandes dont ils ont la charge en crant une relation entre la table Employs et la table Commandes l'aide des champs Nemploy.

B.

Relation un--plusieurs

La relation un--plusieurs est la plus rpandue. Dans ce type de relation, un enregistrement de la table A peut tre mis en correspondance avec plusieurs enregistrements de la table B, alors qu' chaque enregistrement de la table B ne correspond qu'un enregistrement de la table A.

12

Relation : Association de champs (colonnes) communs deux tables. Une relation peut tre du type un--un, un--plusieurs ou plusieurs--plusieurs. Cl externe : Un ou plusieurs champs de table faisant rfrence au(x) champ(s) qui constitue(nt) la cl primaire d'une autre table. Une cl externe indique la manire dont les tables sont relies (les donnes figurant dans le(s) champ(s) de la cl externe et le(s) champ(s) de la cl primaire doivent correspondre). Par exemple, la table Produits de la base de donnes exemple Les comptoirs contient la cl externe N fournisseur, qui fait rfrence la cl primaire N fournisseur de la table Fournisseurs. l'aide de cette relation, la table Produits affiche un nom de fournisseur provenant de la table Fournisseurs pour chaque produit.

13

Page 17 sur 17

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

C.

Relation plusieurs--plusieurs

Dans une relation plusieurs--plusieurs, un enregistrement de la table A peut tre mis en correspondance avec plusieurs enregistrements de la table B, et inversement un enregistrement de la table B peut tre mis en correspondance avec plusieurs enregistrements de la table A. Ce type de relation n'est possible qu'aprs dfinition d'une troisime table (appele table de jonction), dont la cl primaire est compose de deux champs les cls trangres des tables A et B. Une relation plusieurs-plusieurs n'est en fait rien d'autre que deux relations un--plusieurs avec une troisime table. Par exemple, la table Commandes et la table Produits ont une relation plusieurs--plusieurs dfinie en crant deux relations un--plusieurs avec la table Dtails commandes.

D.

Relation un--un

Dans une relation un--un, chaque enregistrement de la table A ne peut correspondre qu' un enregistrement de la table B, et inversement chaque enregistrement de la table B ne peut correspondre qu' un enregistrement de la table A. Ce type de relation est peu rpandu, car la plupart des informations qui seraient associes de la sorte font normalement partie d'une mme table. Vous pouvez utiliser une relation un--un pour diviser une table en plusieurs champs, pour isoler une partie d'une table pour des raisons de scurit, ou pour stocker des informations ne s'appliquant qu' un sousPage 18 sur 18

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

ensemble de la table principale. Par exemple, vous pouvez crer une table pour recenser les employs participant un jeu de football organis pour lever des fonds.

E.

Dfinition des relations

Pour dfinir une relation, vous devez ajouter les tables relier dans la fentre Relations et faire glisser le champ-cl de la premire table sur le champ-cl de l'autre table.

Le type de relation cre par Microsoft Access dpend de la manire dont sont dfinis les champs lis : Une relation un--plusieurs est cre si un seul des champs lis est une cl primaire ou a un index unique14. Une relation un--un est cre si les deux champs lis sont des cls primaires ou ont des index uniques. Une relation plusieurs--plusieurs est en fait compose de deux relations un--plusieurs, avec une troisime table dont la cl primaire consiste en deux champs, qui sont les cls trangres des deux autres tables.

Remarque Si vous faites glisser un champ qui n'est pas une cl primaire et n'a pas un index unique vers un autre champ qui n'est pas une cl primaire et n'a pas un index unique, la relation cre est indtermine. Dans les requtes contenant des tables avec une relation indtermine, Microsoft Access

14

Index unique : Index dfini par l'attribution de la valeur Oui (sans doublons) la proprit Index (Indexed) d'un champ. Un index unique ne permet pas la saisie de doublons dans le champ index. Le paramtrage du champ comme cl primaire dsigne automatiquement le champ en tant qu'index unique.

Page 19 sur 19

Institut Agronomique et Vtrinaire Hassan II15

M. LAHLOU

affiche une ligne de jointure par dfaut entre les tables, mais l'intgrit rfrentielle ne sera pas garantie, et rien ne garantit non plus que les champs seront uniques dans aucune des tables.

F.1 2 3 4

Dfinir des relations entre les tables

Fermez toutes les tables ouvertes. Vous ne pouvez pas crer ou modifier des relations entre des tables ouvertes. Si ce n'est dj fait, basculez vers la fentre Base de donnes Vous pouvez utiliser la touche F11 pour basculer vers la fentre Base de donnes, quelle que soit la fentre o vous vous trouvez. Cliquez sur Relations dans la barre d'outils. Si vous n'avez dfini aucune relation dans votre base de donnes, la bote de dialogue Ajouter tables/requtes s'affiche automatiquement. Si vous devez ajouter les tables que vous voulez relier alors que la bote de dialogue Ajouter une table ne s'affiche pas, cliquez sur Ajouter une table dans la barre d'outils. Si les tables que vous voulez relier sont dj affiches, passez directement l'tape 6. Double-cliquez sur le nom des tables que vous souhaitez relier, puis fermez la bote de dialogue Ajouter tables/requtes. Faites glisser partir d'une table le champ que vous souhaitez relier au champ d'une autre table. Pour faire glisser plusieurs champs, appuyez sur CTRL et cliquez sur chacun d'eux avant de les faire glisser. Dans la plupart des cas, vous reliez le champ cl primaire (qui est affich en gras) d'une table avec un champ correspondant d'une autre table (souvent du mme nom) appel la cl externe Les champs lis ne doivent pas obligatoirement avoir le mme nom, mais ils doivent possder le mme type de donnes ( deux exceptions prs) et contenir le mme type d'informations. En outre, lorsque les champs correspondants sont des champs de type Numrique, ils doivent avoir le mme paramtrage de la proprit FieldSize. Les deux seules exceptions cette rgle sont la possibilit de relier un champ Numrotation automatique avec un champ Numrique dont la proprit FieldSize est Entier long ; et un champ Numrotation automatique avec un champ Numrique si les deux champ ont ID de rplica comme paramtre de la proprit FieldSize.

5 6

7

La bote de dialogue Relations s'affiche. Vrifiez les noms des champs affichs dans les deux colonnes et assurez-vous qu'ils sont corrects. Vous pouvez les modifier si ncessaire. Dfinissez les options de relation si ncessaire. Pour des informations sur un lment donn de la bote de dialogue Relations, cliquez sur le bouton d'aide , puis sur l'lment.

8 9

Cliquez sur le bouton Crer pour crer la relation. Rptez les tapes 5 8 pour chaque couple de tables relier.

Lorsque vous refermez la fentre Relations, Microsoft Access vous demande si vous dsirez sauvegarder la mise en forme. Quelle que soit votre rponse, les relations cres sont enregistres dans la base de donnes. Remarques : Si vous souhaitez voir toutes les relations dfinies dans une base de donnes, cliquez sur Afficher toutes les relations dans la barre d'outils. Pour n'afficher que les relations dfinies pour une table donne, cliquez sur la table, puis sur Afficher les relations directes dans la barre d'outils. Si vous souhaitez modifier la mise en forme de la table, cliquez sur la table avec le bouton droit de la souris, puis sur Modifier la table.

15

Intgrit rfrentielle : Rgles devant tre respectes pour prserver les relations dfinies entre des tables lors de l'ajout ou la suppression d'enregistrements. Si vous appliquez l'intgrit rfrentielle, Microsoft Access vous empche d'ajouter des enregistrements une table lie lorsque la table primaire ne contient pas d'enregistrement associ, de procder la modification de valeurs dans la table primaire qui entranerait des enregistrements orphelins dans une table relie, et de supprimer des enregistrements de la table primaire lorsque la table relie contient des enregistrements correspondants.

Page 20 sur 20

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Vous pouvez crer des relations entre des requtes comme pour des tables. Dans ce cas, l'intgrit rfrentielle ne peut tre applique. Pour crer une relation entre une table et elle-mme, ajoutez-la deux fois. Ce type de relation est souvent utilis lorsque vous devez effectuer une recherche dans la mme table. Par exemple, dans la table Employs de la base de donnes exemple Les Comptoirs, il existe une relation entre les champs N Employ et Rend compte , de manire ce que le champ Rend compte affiche aussi le nom d'un employ de la table.

IV.

RequtesA. Introduction

1

Utilisez les requtes pour afficher, modifier ou analyser les donnes de diffrentes manires. Vous pouvez aussi les utiliser comme source d'un formulaire ou d'un tat.

2

Le type de requte le plus courant est une requte Slection. Une requte Slection recherche les donnes dans une ou plusieurs tables en fonction des critres que vous spcifiez. Ces donnes sont ensuite affiches dans l'ordre que vous dsirez.

3

Page 21 sur 21

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

B.

Comment personnaliser une requte ?

C.

Comment spcifier plusieurs critres dans une requte ?

Un champ utilisant Ou

Page 22 sur 22

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Un champ utilisant Et

Deux champs utilisant Ou

Deux champs utilisant Et Page 23 sur 23

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Trois champs utilisant Et et Ou

D. Exemple de requte Analyse croiseCe type de requte calcule une somme, une moyenne, effectue un comptage ou tout autre type d'opration concernant les donnes regroupes dans les deux types d'informations (un en bas gauche de la feuille de donnes et l'autre en haut).

Page 24 sur 24

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Pour crer une requte de ce type, utilisez un Assistant ou crez-la directement dans la grille de cration. Dans la grille de cration, vous devrez spcifier les valeurs des champs qui serviront d'en-tte de colonne, d'en-tte de range et les valeurs des champs sur lesquels effectuer une addition, une moyenne, un comptage ou tout autre type d'opration.

Page 25 sur 25

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

E. Types de jointure et influence sur le rsultat de la requte

Page 26 sur 26

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

V.

FormulairesA. IntroductionVous pouvez utiliser des formulaires des fins diverses.

La plupart des informations contenues dans un formulaire proviennent d'une source d'enregistrements sous-jacente. Les autres informations du formulaire sont stockes dans le formulaire en mode Cration.

Page 27 sur 27

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Vous crez le lien entre un formulaire et sa source d'enregistrements l'aide d'objets graphiques appels contrles. Le type de contrle le plus rpandu pour l'affichage et la saisie de donne est la zone de texte.

Page 28 sur 28

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

B. Personnaliser un formulaire

C. Sections d'un formulaire Vous pouvez augmenter les performances d'un formulaire en lui ajoutant une ou plusieurs sections. La plupart des formulaires comportent uniquement une section Dtail, mais il est possible d'ajouter une section En-tte de formulaire, une section En-tte de page, une section Pied de page et une section Pied de formulaire.

Cette illustration montre le formulaire Produits tel qu'il apparat sur l'cran prcdent en mode Formulaire et tel qu'il apparat une fois imprim.

Page 29 sur 29

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

D. Crer un formulaire sans Assistant1 2 3 4 Dans la fentre Base de donnes, cliquez sur l'onglet Formulaires. Cliquez sur Nouveau. Dans la bote de dialogue Nouveau formulaire, cliquez sur Mode Cration. Cliquez sur le nom de la table ou de la requte contenant les donnes sur lesquelles vous voulez baser votre formulaire. Si le formulaire doit tre vierge (par exemple, si vous voulez crer un formulaire fonctionnant comme un Menu Gnral pour ouvrir d'autres formulaires ou tats, ou pour crer une bote de dialogue personnalise), ne procdez aucune slection dans la liste. Remarque Si vous dsirez crer un formulaire reprenant les donnes d'au moins deux tables, basez votre formulaire sur une requte impliquant les tables correspondantes. 5 Cliquez sur OK.

Page 30 sur 30

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

6

Ajouter des contrles: tout lment que vous ajoutez un formulaire porte le nom de contrle16. Les zones de texte, les tiquettes, les zones de liste, les boutons d'option, les boutons de commande et les traits sont autant d'exemples de contrles diffrents. La cration d'un contrle dpend du type de contrle souhait : contrle dpendant17, contrle indpendant18 ou contrle calcul19.

E. Crer un formulaire l'aide d'un Assistant1 2 3 4 Dans la fentre Base de donnes, cliquez sur l'onglet Formulaires. Cliquez sur Nouveau. Dans la bote de dialogue Nouveau formulaire, cliquez sur l'Assistant que vous souhaitez utiliser. Une description de l'Assistant apparat dans la partie gauche de la bote de dialogue. Cliquez sur le nom de la table ou de la requte qui contient les donnes sur lesquelles vous voulez baser votre formulaire. Remarque Vous n'avez pas besoin d'effectuer cette tape si vous cliquez sur l'option Assistant Formulaire (vous pouvez spcifier l'origine des enregistrements du formulaire dans l'Assistant). 5 6 Cliquez sur OK. Si vous avez cliqu, lors de l'tape 3, sur l'Assistant Formulaire, l'Assistant Graphique ou l'Assistant Tableau crois dynamique, suivez les instructions des botes de dialogue de l'Assistant. Si vous cliquez sur Formulaire instantan : Colonne simple, Formulaire instantan : Tabulaire ou Formulaire instantan : Feuille de donnes, Microsoft Access cre automatiquement votre formulaire.

Si le formulaire obtenu ne produit pas le rsultat escompt, vous pouvez le modifier en mode Cration. Remarque Si vous cliquez sur l'une des options de formulaire instantan, Microsoft Access utilise le format automatique que vous avez spcifi en dernier, que ce soit par l'Assistant Formulaire ou par la commande Format automatique du menu Format en mode Cration.

F. Sous-formulaire 1. IntroductionUn sous-formulaire est un formulaire dans un formulaire. Le formulaire primaire est appel formulaire principal et le formulaire qu'il contient, sous-formulaire. Une combinaison formulaire/sous-formulaire est souvent appele formulaire hirarchique ou formulaire pre/fils. Les sous-formulaires sont particulirement utiles lorsque vous voulez afficher les donnes de tables ou de requtes qui ont une relation un--plusieurs20. Vous pouvez, par exemple, crer un formulaire qui

16

Contrle : Objet graphique, par exemple une zone de texte, une case cocher, un rectangle ou un bouton de commande, que vous placez dans un formulaire ou un tat en mode Cration pour afficher des donnes, excuter une action ou faciliter la lecture du formulaire ou de l'tat. Contrle dpendant : contrle dans un formulaire ou un tat dont le contenu provient d'un champ de la table, de la requte ou de l'instruction SQL sous-jacente. La proprit SourceContrle (ControlSource) du contrle est dfinie par un nom de champ de la table, de la requte ou de l'instruction SQL. Par exemple, une zone de texte qui affiche le nom d'un employ est associe au champ Nom de la table Employs. Contrle indpendant : contrle qui n'est pas reli un champ. Un contrle indpendant vous permet d'afficher du texte informatif, comme des instructions relatives l'utilisation d'un formulaire, ou des graphismes et des images provenant d'autres applications. Par exemple, les traits et les rectangles sont des contrles indpendants. Vous pouvez galement utiliser les contrles indpendants pour accepter les entres de l'utilisateur et excuter une action en fonction de ces entres. Contrle calcul : contrle dans un formulaire ou un tat qui affiche le rsultat d'une expression plutt que les donnes stockes. Cette valeur est recalcule chaque fois qu'une valeur de l'expression change. Un champ calcul est un champ dfini dans une requte qui affiche le rsultat d'une expression plutt que les donnes stockes. Relation un--plusieurs : association entre deux tables dans laquelle :

17

18

19

20

Page 31 sur 31

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

contient un sous-formulaire afin d'afficher les donnes d'une table Catgories et d'une table Produits. Les donnes de la table Catgories reprsentent le ct un de la relation. Les donnes de la table Produits reprsentent le ct plusieurs de la relation (chaque catgorie peut avoir plusieurs produits).

Dans ce type de formulaire, le formulaire principal et le sous-formulaire sont lis. Ainsi, le sousformulaire n'affiche que les enregistrements qui correspondent l'enregistrement en cours du formulaire principal. Par exemple, lorsque le formulaire principal affiche la catgorie Boissons, le sous-formulaire affiche uniquement les produits de la catgorie Boissons. Lorsque vous utilisez un formulaire possdant un sous-formulaire pour entrer de nouveaux enregistrements, Microsoft Access enregistre l'enregistrement en cours dans le formulaire principal lorsque vous entrez le sous-formulaire. Grce cela, les enregistrements de la table plusieurs pourront tre relis un enregistrement dans la table un . Chaque enregistrement est galement automatiquement enregistr lorsqu'il est ajout au sous-formulaire. Un sous-formulaire peut tre affich sous forme de feuille de donnes, comme dans l'illustration prcdente, il peut galement tre affich sous la forme d'un formulaire unique ou continu. Un formulaire principal ne peut tre affich que sous forme de formulaire unique. Un formulaire principal peut contenir autant de sous-formulaires que vous le souhaitez condition qu'ils soient placs dans le formulaire principal. Vous pouvez galement crer deux niveaux de sousformulaires. Cela signifie que vous pouvez avoir un sous-formulaire contenu dans le formulaire principal mais aussi un second sous-formulaire contenu dans le premier sous-formulaire. Vous pouvez, par exemple, avoir un formulaire principal qui affiche les clients, un sous-formulaire qui affiche les commandes et un autre sous-formulaire qui affiche les dtails des commandes.

2. Types de sous-formulairesLorsque vous crez un sous-formulaire, vous pouvez faire en sorte qu'il soit affich en mode Feuille de donnes uniquement ; en mode Formulaire uniquement sous forme de formulaire unique ou continu ; ou dans l'un ou l'autre de ces modes. Les sous-formulaires affichs sous forme de formulaire unique ou continu peuvent tre simples ; ils peuvent galement tre largement personnaliss afin de contenir des en-ttes, des bas de page, etc.

La valeur de la cl primaire de chaque enregistrement de la table primaire correspond la valeur du ou des champs correspondants de plusieurs enregistrements de la table lie. La valeur de la cl primaire de chaque enregistrement de la table lie correspond la valeur du ou des champs correspondants d'un et un seul enregistrement de la table primaire.

Page 32 sur 32

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

3. Lier un formulaire principal et un sous-formulaireSi vous crez un sous-formulaire l'aide de l'Assistant formulaire ou de l'Assistant sous-formulaire, Microsoft Access lie automatiquement le formulaire principal et le sous-formulaire pour autant que certaines conditions soient respectes. Pour plus d'informations, cliquez sur . Si votre formulaire principal et votre sous-formulaire ne remplissent pas ces conditions, vous pouvez recourir la procdure suivante afin de les lier. 1 2 3 Ouvrez le formulaire principal en mode Cration. Assurez-vous que le contrle du sous-formulaire est slectionn, puis cliquez sur Proprits dans la barre d'outils pour afficher la feuille des proprits contrle du sous-formulaire. Dans la bote de proprit ChampsFils (LinkChildFields), entrez le nom du champ de liaison dans le sous-formulaire. Si vous ne savez pas avec certitude quel est le champ de liaison, cliquez sur le bouton Gnrer afin d'ouvrir le Gestionnaire de liaisons du sous-formulaire ou du sous-tat. Pour entrer plusieurs champs de liaison, sparez les noms de champs l'aide du signe deux points. Si vous entrez plusieurs champs de liaison, vous devez entrer respecter l'ordre des proprits ChampsPres (LinkMasterFields) et ChampsFils (LinkChildFields). Remarque Vous ne pouvez pas utiliser le nom d'un contrle dans la proprit ChampsFils (LinkChildFields). 4 Dans la bote de proprit ChampsPres (LinkMasterFields), entrez le nom du champ de liaison dans le formulaire principal. Si vous ne savez pas avec certitude quel est le champ de liaison, cliquez sur le bouton Gnrer afin d'ouvrir le Gestionnaire de liaisons du sous-formulaire ou du sous-tat. Pour entrer plusieurs champs de liaison, sparez les noms de champs l'aide du signe deux points. Si vous entrez plusieurs champs de liaison, vous devez respecter le mme ordre dans les proprits ChampsPres (LinkMasterFields) et ChampsFils (LinkChildFields).

Remarques Il n'est pas ncessaire que les champs de liaison apparaissent dans le formulaire principal ou dans le sous-formulaire, mais ils doivent tre prsents dans la source d'enregistrement sous-jacente. Si vous crez le sous-formulaire l'aide de l'Assistant Formulaire, Microsoft Access inclut automatiquement les champs de liaison dans la source d'enregistrement sous-jacente mme si vous ne les slectionnez pas dans l'Assistant.

Page 33 sur 33

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Les champs de liaison doivent contenir le mme genre de donnes et tre du mme type de donnes ou d'un type ou d'une taille compatible. Par exemple, un champ NumroAuto est compatible avec un champ Numrique dont la proprit FieldSize est dfinie sur Entier long.

VI.

tatsA. IntroductionLes tats permettentde reprsenter efficacement vos donnes sous une forme imprime. Dans la mesure o vous avez la possibilit de dfinir la taille et la mise en forme de chaque lment de l'tat, vous pouvez afficher les informations exactement comme vous le souhaitez.

La plupart des informations contenues dans un tat proviennent de tables sous-jacentes, de requtes ou d'instructions SQL constituant la source des donnes de l'tat. Les autres informations contenues dans l'tat sont, quant elles, enregistres lors de sa cration.

Page 34 sur 34

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

B. Sections d'un tat Vous pouvez rpartir les informations d'un tat sur plusieurs sections. Chaque section a une fonction particulire et s'imprime dans un ordre particulier sur la page et sur l'tat.

En mode Cration, les sections sont reprsentes sous forme de bandeaux. Chaque section contenue dans l'tat n'est reprsente qu'une seule fois, mais il est possible que certaines sections s'impriment plusieurs fois dans un tat. Pour identifier les informations contenues dans une section, placez des contrles (par exemple des tiquettes ou des zones de texte).

Page 35 sur 35

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

21

Vous pouvez regrouper des enregistrements ayant des valeurs identiques et effectuer des soustotaux afin de faciliter la lecture de vos tats. Dans cet exemple, les commandes livres un mme jour sont regroupes.

22

21

L'en-tte de l'tat n'apparat qu'une seule fois, au dbut de l'tat. Vous pouvez l'utiliser pour y placer un logo, un titre ou la date d'impression. L'en-tte de l'tat s'imprime avant l'en-tte de la premire page de l'tat. L'en-tte de page apparat en haut de chaque page de l'tat. Utilisez-la pour y placer des lments tels que les titres de colonnes. La section Dtail contient le corps principal des donnes de l'tat. Cette section est rpte pour chaque enregistrement dfini dans la source de l'tat. Le pied de page apparat au bas de chaque page de l'tat. Utilisez-le pour y placer des lments tels que le numro de page. Le pied d'tat n'apparat qu'une seule fois, la fin de l'tat. Utilisez-le pour y placer des lments tels que des totaux rcapitulatifs. Bien que le pied d'tat apparaisse comme la dernire section la cration de l'tat, il s'imprime juste avant le dernier pied de page de l'tat.

22

L'en-tte de groupe apparat chaque nouveau groupe d'enregistrements. Utilisez-le pour y placer des informations gnrales qui s'appliquent au groupe, par exemple le nom du groupe. Le pied de groupe apparat la fin de chaque groupe d'enregistrements. Utilisez-le pour y placer des lments tels que les totaux relatifs au groupe.

Page 36 sur 36

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

C. Exemple d'enregistrements regroups dans un tat

Page 37 sur 37

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Microsoft ACCESS II

VII.

Introduction

Une base de donnes est un ensemble d'informations associes un sujet particulier, tel que le suivi des commandes ou la gestion d'une collection musicale. Si votre base de donnes n'est pas stocke sur un ordinateur, ou si elle ne l'est que partiellement, vous tes peut-tre oblig de grer des informations en provenance de sources diverses que vous devez coordonner et organiser manuellement. l'aide de Microsoft Access, vous pouvez grer toutes vos informations l'aide d'un fichier unique de base de donnes. Dans ce fichier, vous devez rpartir ces donnes entre plusieurs contenants appels tables. Les formulaires en ligne vous permettent de consulter, d'ajouter et de mettre jour les donnes des tables. Les requtes vous permettent de rechercher et de rcuprer les donnes Page 38 sur 38

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

que vous voulez. Quant aux tats, ils servent analyser et imprimer les donnes selon la mise en page de votre choix. Pour stocker vos donnes, vous devez crer une table par type d'informations que vous grez. Pour rassembler, dans une requte, un formulaire ou un tat, des donnes en provenance de plusieurs tables, vous devez dfinir des relations entre les tables. Pour rechercher et rcuprer les donnes correspondant aux conditions que vous aurez spcifies, y compris des donnes contenues dans plusieurs tables, vous devez crer une requte. Les requtes peuvent galement vous permettre de mettre jour ou de supprimer plusieurs enregistrements la fois, et d'effectuer sur vos donnes des calculs intgrs ou personnaliss. Pour afficher, saisir et modifier facilement des donnes directement dans une table, crez un formulaire. Lorsque vous ouvrez un formulaire, Microsoft Access rcupre les donnes d'une ou plusieurs tables et les affiche l'cran en utilisant la mise en page que vous avez choisie dans l'Assistant Formulaire, ou celle que vous avez cr vous-mme. Pour analyser vos donnes ou les mettre en page pour l'impression, vous devez crer un tat. Par exemple, vous pouvez crer un tat regroupant des donnes et calculant des totaux, et un autre tat contenant des donnes mises en forme en vue de l'impression d'tiquettes de publipostage.

Microsoft Access possde un grand nombre de caractristiques qui vous permettent de mieux contrler la manipulation des objets et des donnes l'aide de la programmation. Vous trouverez ci-aprs une brve description de certaines de ces fonctionnalits. 1. Procdures vnementielles et modules de formulaire et d'tat Tout comme dans Microsoft Visual Basic, vous pouvez maintenant crer des procdures vnementielles dans Access Basic pour rpondre des vnements qui se produisent dans des formulaires et des tats. Les procdures vnementielles sont enregistres dans les modules du formulaire et de l'tat. Ces modules tant attachs au formulaire ou l'tat, votre code fait partie de la structure du formulaire ou de l'tat. Vous pouvez galement appeler une fonction Access Basic partir d'une proprit de type vnement. Pour plus d'informations sur la cration et l'utilisation de procdures vnementielles. 2. Accs ais aux macros et au code Vous pouvez accder directement une macro ou une procdure vnementielle sans quitter votre formulaire ou votre tat pour passer la fentre Base de donnes. Slectionnez la proprit de type vnement qui contient la macro ou la procdure vnementielle que vous souhaitez modifier, puis cliquez sur le bouton Gnrateur situ droite de la zone de proprit. 3. Nombre accru de proprits dfinissables l'excution Il est dsormais possible d'utiliser une macro ou une procdure vnementielle pour dfinir la plupart des proprits d'un formulaire ou d'un tat l'excution, en rponse aux vnements qui se produisent dans le formulaire ou l'tat. 4. Modle d'vnement Un modle d'vnement similaire celui utilis dans Microsoft Visual Basic permet votre application de rpondre une grande varit d'vnements, dont la frappe de touches, les dplacements de la souris, les erreurs d'excution et l'coulement du temps. 5. Architecture extensive de dfinition de donnes Access Basic Access Basic vous permet prsent de dfinir et de grer une grande varit d'objets, tels que des tables, des requtes, des champs, des index, des relations, des formulaires, des tats et des contrles. 6. Gnrateur de menu et intgration de sous-menus Le nouveau Gnrateur de menu fournit une interface d'une grande simplicit qui permet de crer des barres de menus personnalises. Vous pouvez, en outre, incorporer des sous-menus vos barres de menus personnalises. Page 39 sur 39

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

7. Prsence des outils de dbogage Outre la dfinition de points d'arrt et la vrification pas pas du code la recherche des erreurs, vous avez maintenant la possibilit d'afficher la liste de tous les appels de procdure actifs. Pour cela, choisissez la commande Appels du menu Affichage, ou le bouton Appels de la barre d'outils. 8. Gestion des erreurs En plus des techniques traditionnelles de gestion des erreurs, vous pouvez utiliser les procdures vnementielles Erreur pour intercepter une erreur d'excution et prendre les mesures qui s'imposent. 9. Interface de scurit L'amlioration des commandes et des botes de dialogue destines la scurit facilite l'attribution des autorisations de protection pour les objets, et la modification de la proprit d'un objet. 10. Prise en charge de lautomatisation OLE tant donn que Microsoft Access prend en charge la version 2.0 de OLE, vous pouvez maintenant manipuler les objets exposs d'autres applications en appelant des mthodes et en dfinissant des proprits, exactement comme s'il s'agissait d'objets Microsoft Access. 11. Cration et installation de complments Vous pouvez utiliser Access Basic pour crer des complments, tels que des Assistants ou des gnrateurs personnaliss. La nouvelle commande Installateur de complments facilite l'installation de complments dans Microsoft Access.

VIII. DAOA. Prsentation des objets d'accs aux donnesLes objets d'accs aux donnes (DAO) vous permettent d'utiliser un langage de programmation pour extraire et manipuler des donnes dans des bases de donnes locales ou distantes. Ils vous permettent galement de grer des bases de donnes, ainsi que les objets et la structure de ces dernires.

1. Modles d'objetLa bibliothque DAO prend en charge deux environnements de bases de donnes diffrents, galement appels "espaces de travail" : les espaces de travail Microsoft Jet permettent d'accder des donnes provenant de sources de donnes Microsoft Jet, Microsoft Jet connectes ODBC, et de bases de donnes ISAM sous divers formats, comme, dBase, Paradox ou Lotus 1-2-3 ; les espaces de travail ODBCDirect permettent d'accder des serveurs de base de donnes via ODBC, sans charger le moteur de base de donnes Microsoft Jet.

Utilisez l'espace de travail Microsoft Jet pour ouvrir une base de donnes Microsoft Jet (fichier .mdb) ou toute autre base de donnes de bureau ISAM, ou pour utiliser les fonctionnalits uniques de Microsoft Jet, comme la jonction de donnes provenant de base de donnes de formats diffrents. Vous pouvez galement utiliser l'espace de travail ODBCDirect pour excuter de simples requtes ou procdures stockes sur un serveur dport, comme Microsoft SQL Server, ou lorsque votre application cliente ncessite des fonctions spcifiques ODBC, comme la mise jour par lots ou l'excution de requtes asynchrones.

2. Objets DAOIl existe 17 types d'objets DAO. Vous pouvez dclarer de nouvelles variables objet DAO pour chacun des types d'objets. Par exemple, le code Visual Basic pour Applications (VBA) suivant cre des variables objet pour un objet Database, un objet Recordset de type Feuille de rponses dynamique (Dynaset) et un objet Field : Page 40 sur 40

Institut Agronomique et Vtrinaire Hassan IIDim Dim Dim Set Set Set dbsExample rstExample fldExample dbsExample rstExample fldExample As Database As Recordset As Field = OpenDatabase("Biblio.mdb") = dbsExample.OpenRecordset("Authors", dbOpenDynaset) = rstExample.Fields("Au_ID")

M. LAHLOU

3. Collections DAOUne collection correspond chacun des types d'objet DAO, l'exception du type DBEngine. Une collection comprend tous les objets d'un type donn. Par exemple, la collection Recordsets contient tous les objets Recordset ouverts. Chaque collection appartient un objet de niveau immdiatement suprieur dans la hirarchie. Un objet Database possde une collection Recordsets. l'exception des objets Connection et Error, tout objet DAO possde une collection Properties. La plupart des objets DAO disposent de collections par dfaut et de proprits par dfaut. Par exemple, la collection par dfaut d'un objet Recordset est la collection Fields. La proprit par dfaut d'un objet Field est la proprit Value. Vous pouvez simplifier votre code en tirant partie de ce paramtrage par dfaut. Par exemple, le code suivant dfinit la valeur du champ PubID dans l'enregistrement en cours :rstExample!PubID=99

4. Objets DBEngine et WorkspaceTous les objets DAO sont drivs du type d'objet DBEngine. La proprit DefaultType de l'objet DBEngine permet de choisir le type d'espace de travail (Microsoft Jet ou ODBCDirect) cr lors des appels de mthode CreateWorkspace ultrieurs. Cette proprit par dfaut peut tre modifie par l'argument type de la mthode CreateWorkspace. Lorsque votre application cre un espace de travail, la bibliothque correspondante savoir le moteur de base de donnes Microsoft Jet ou ODBC est alors charge en mmoire. Vous pouvez, si ncessaire, ouvrir des objets Workspace supplmentaires. chaque objet Workspace est associ un ID utilisateur et un mot de passe.

Page 41 sur 41

Institut Agronomique et Vtrinaire Hassan IIHirarchie (DAO, Data Access Object) DBEngine

M. LAHLOU

Workspaces

Workspace

Databases

Database

Tabledefs

Querydefs

Recordsets

Relations

Containers

TableDef

QueryDef

Recordset

Relation

Container

Fields

Parameters

Fields

Fields

Documents

Field Indexes

Parameter Fields

Field

Field

Document

Index

Field

Fields

Field Users

User

Groups

Group Groups

Group

Users

User

Collection Objet Page 42 sur 42

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

B. Utilisation de l'espace de travail Microsoft Jet 1. Ouverture d'une base de donnesPour ouvrir une base de donnes, il suffit d'ouvrir un objet Database ou d'en crer un nouveau. Cet objet peut reprsenter une base de donnes Microsoft Jet (fichier .mdb), une base de donnes ISAM (Paradox, par exemple) ou une base de donnes ODBC connecte via le moteur de base de donnes Microsoft Jet (galement appele "base de donnes ODBC connecte par Microsoft Jet").

2. Langage de dfinition de donnesVous pouvez utiliser des variables objet et d'autres fonctionnalits de DDL pour modifier la structure de votre base de donnes. Le code suivant permet par exemple d'ajouter un nouvel objet Field une table :Dim dbs As Database, tdf As TableDef, fld As Field Set dbs = OpenDatabase("Biblio.mdb") ' Ouvre une base de donnes. Set tdf = dbs.TableDefs("Authors") ' Ouvre un objet TableDef. Set fld = tdf.CreateField("Address", dbText, 20) ' Cre un champ. tdf.Fields.Append fld ' Ajoute le champ la collection Fields de l'objet TableDef

Le code ci-dessus cre une nouvelle variable objet correspondant un objet Field et l'ajoute un objet TableDef par le biais de la mthode Append. Un objet TableDef contient la dfinition d'une table. La table comporte donc maintenant un champ Address permettant la saisie de donnes. Vous pouvez crer des tables et des index de manire similaire.

3. Manipulation de donnesLa bibliothque DAO contient un ensemble d'outils de manipulation de donnes trs performants. Vous pouvez crer un objet Recordset pour interroger facilement une base de donnes et manipuler les jeux de rsultats renvoys. La mthode OpenRecordset accepte comme argument de source de donnes une chane SQL ou un nom d'objet QueryDef (requte stocke). Vous pouvez galement l'ouvrir depuis un objet QueryDef ou TableDef, utilisant ce dernier comme source de donnes. L'objet Recordset obtenu possde un ensemble de proprits et de mthodes d'une extrme richesse permettant de consulter et de modifier les donnes. Il existe quatre types d'objet Recordset : Table, Feuille de donnes dynamique (Dynaset), En avant seulement ( Forward-only) et Instantan(Snapshot).

4. TransactionsTous les objets Database ouverts sur un objet Workspace ont la mme porte de transaction. En d'autres termes, lorsque vous appliquez la mthode BeginTrans un objet Workspace, elle affecte toutes les bases de donnes ouvertes au sein de l'objet Workspace. Il en est de mme lorsque vous appliquez la mthode CommitTrans l'objet Workspace.

5. DuplicationLa duplication de base de donnes permet de crer et d'entretenir des duplicatas d'une base de donnes Microsoft Jet matre, en utilisant la mthode Synchronize pour mettre jour rgulirement tout ou partie des duplicatas, ou pour copier les nouvelles donnes d'un duplicata vers un autre. Vous pouvez galement limiter la mise jour certains enregistrements grce la proprit ReplicaFilter, puis synchroniser ces derniers avec la mthode PopulatePartial.

6. ScuritVous pouvez limiter l'accs une ou plusieurs bases de donnes .mdb ou aux tables de ces dernires l'aide des fonctions de scurit dfinies et gres par le moteur de base de donnes Microsoft Jet. Dans votre code, vous pouvez dfinir des objets Group et User pour fixer objet par objet la porte et le niveau des autorisations de chaque utilisateur. Vous pouvez par exemple accorder un utilisateur un accs en lecture seule une table et un accs intgral une autre. Page 43 sur 43

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

C. Rfrence des objets et collections d'accs aux donnesLes collections et objets d'accs aux donnes (DAO) constituent un cadre permettant d'crire des routines de cration et de manipulation de composantes de votre SGBD. Les objets et les collections comportent des proprits dcrivant les caractristiques des composantes de base de donnes et des mthodes utilises pour les manipuler. Ces objets et collections constituent un modle hirarchis de la structure de votre base de donnes, structure contrlable par programmation. Les objets et les collections comportent diffrents types de relations de limitation : les objets contiennent zro, une ou plusieurs collections, de types diffrents, et les collections contiennent zro, un ou plusieurs objets, du mme type. Bien que ces objets et collections soient des entits similaires, cette nuance permet de diffrencier les deux types de relations. Dans le tableau suivant, le type de collection mentionn dans la premire colonne contient les objets dont le type est indiqu dans la deuxime. La troisime colonne contient une description du contenu des types d'objet. Collection Containers Databases None Documents Errors Fields Groups Indexes Parameters Properties QueryDefs Recordsets Relations TableDefs Users Workspaces Objet Container Database DBEngine Document Error Field Group Index Parameter Property QueryDef Recordset Relation TableDef User Workspace Description Stockage d'informations sur un type d'objet prdfini Base de donnes ouverte Moteur de base de donnes Microsoft Jet Informations sur un objet prdfini enregistr Informations sur toute erreur associe l'objet Colonne appartenant une table, une requte, un index, une relation ou un jeu d'enregistrements Groupe de comptes d'utilisateur Agencement prdfini et unicit des valeurs d'une table Paramtre de requte Paramtre Proprit intgre ou dfinie par l'utilisateur Dfinition de requte enregistre Enregistrements d'une table de base ou d'une requte Relation entre champs de tables et entre requtes Dfinition de table enregistre Compte d'utilisateur Session du moteur de base de donnes Microsoft Jet

D. DBEngineL'objet DBEngine est l'objet de niveau suprieur du modle objet DAO. L'objet DBEngine contient et contrle tous les objets de la hirarchie d'objets DAO. Il est impossible de crer des objets DBEngine supplmentaires. L'objet DBEngine n'appartient aucune collection. Avec tout type de base de donnes ou de connexion, vous pouvez : utiliser la proprit Version pour rcuprer le numro de version DAO ; utiliser les proprits DefaultPassword et DefaultUser pour dfinir l'identification et les mots de passe utilisateur pour l'objet Workspace par dfaut ; utiliser la mthode CreateWorkspace pour crer un objet Workspace ; vous pouvez utiliser des arguments facultatifs pour infirmer le paramtrage des proprits DefaultType, DefaultPassword et DefaultUser ; utiliser la mthode OpenDatabase pour ouvrir une base de donnes dans l'objet Workspace par dfaut, et utiliser les mthodes BeginTrans, Commit et Rollback pour contrler les transactions dans cet objet Workspace ; utiliser la collection Workspaces pour faire rfrence des objets Workspace spcifiques ; utiliser la collection Errors pour obtenir des informations dtailles sur les erreurs d'accs aux donnes. Page 44 sur 44

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

D'autres proprits et mthodes sont disponibles, condition d'utiliser les objets DAO avec le moteur de base de donnes Microsoft Jet. Elles permettent de contrler le moteur de base de donnes Microsoft Jet, de manipuler ses proprits et d'excuter des oprations sur les objets temporaires n'appartenant pas des collections. Vous pouvez par exemple : utiliser la mthode CreateDatabase pour crer un objet Database Microsoft Jet ; utiliser la mthode Idle pour permettre au moteur de base de donnes Microsoft Jet de terminer les tches en attente ; utiliser les mthodes CompactDatabase et RepairDatabase pour grer les fichiers de base de donnes ; utiliser les proprits IniPath et SystemDB pour dfinir l'emplacement des informations Microsoft Jet de la base de registres de Windows et du fichier d'informations sur le groupe de travail Microsoft Jet, respectivement. La mthode SetOption permet modifier les paramtres de la base de registres concernant le moteur de base de donnes Microsoft Jet.

Pour faire rfrence une collection appartenant l'objet DBEngine, ou pour faire rfrence une mthode ou une proprit s'appliquant cet objet, utilisez la syntaxe suivante :[DBEngine.][collection | method | property]

L'objet DBEngine contient les collections, mthodes et proprits suivantes : Collections Errors Properties Workspaces (Valeur par dfaut) Mthodes BeginTrans CommitTrans CompactDatabase CreateDatabase CreateWorkspace Idle OpenConnection OpenDatabase RegisterDatabase RepairDatabase Rollback SetOption Proprits DefaultPassword DefaultType DefaultUser IniPath LoginTimeout SystemDB Version

E. WorkspaceUn objet Workspace dfinit une session de travail pour un utilisateur. Il contient des bases de donnes ouvertes et fournit les mcanismes ncessaires aux transactions simultanes et, dans les espaces de travail Microsoft Jet, la prise en charge d'un groupe de travail scuris. Il contrle galement l'utilisation du moteur de base de donnes Microsoft Jet ou de ODBCDirect pour accder des donnes externes. Un objet Workspace est un objet non permanent qui dfinit l'interaction de votre application avec les donnes en utilisant le moteur de base de donnes Microsoft Jet ou ODBCDirect. Utilisez l'objet Workspace pour grer la session en cours ou pour dmarrer une session supplmentaire. Dans le cadre d'une session, vous pouvez ouvrir plusieurs bases de donnes et plusieurs connexions, et grer des transactions. Vous pouvez par exemple : utiliser les proprits Name, UserName et Type pour tablir une session nomme. Cette session constitue un cadre dans lequel vous pouvez ouvrir plusieurs bases de donnes et effectuer une srie de transactions imbriques ; Page 45 sur 45

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

utiliser la mthode Close pour mettre fin une session ; utiliser la mthode OpenDatabase pour ouvrir une ou plusieurs bases de donnes existantes dans l'objet Workspace ; utiliser les mthodes BeginTrans, CommitTrans et Rollback pour grer le traitement des transactions imbriques l'intrieur d'un mme objet Workspace et utiliser plusieurs objets Workspace pour effectuer simultanment plusieurs transactions qui se chevauchent.

De plus, en utilisant une base de donnes Microsoft Jet, vous pouvez tablir une scurisation base sur les noms d'utilisateur et les mots de passe. Lorsque vous faites rfrence un objet Workspace, ou que vous l'utilisez pour la premire fois, vous crez automatiquement l'espace de travail par dfaut, DBEngine.Workspaces(0). Les valeurs des proprits Name et UserName de l'espace de travail par dfaut sont respectivement "#Default Workspace#" et "Admin". Si la scurit est active, la proprit UserName a pour valeur le nom de l'utilisateur connect. Lorsque vous utilisez des transactions, toutes les bases de donnes de l'objet Workspace indiqu sont affectes par ces transactions, mme si plusieurs objets Database sont ouverts dans l'objet Workspace. Par exemple, utilisez une mthode BeginTrans, mettez jour plusieurs enregistrements d'une base de donnes, puis supprimez des enregistrements dans une autre base de donnes. Si vous utilisez alors la mthode Rollback, les oprations de mise jour et de suppression sont annules et restaures. Vous pouvez crer des objets Workspace supplmentaires pour grer les transactions sparment pour chaque objet Database. Pour crer des objets Workspace, utilisez la mthode CreateWorkspace. Une fois un objet Workspace cr, vous pouvez l'ajouter la collection Workspaces si vous avez besoin d'y faire rfrence depuis cette collection. Vous pouvez utiliser un objet Workspace sans l'ajouter la collection Workspaces. Il vous faut cependant y faire rfrence par la variable objet que vous lui avez associe. Pour faire rfrence un objet Workspace dans une collection par son numro ordinal ou par sa proprit Name, utilisez l'une des syntaxes suivantes :DBEngine.Workspaces(0) DBEngine.Workspaces("name") DBEngine.Workspaces![name]

Un objet Workspace contient les collections, mthodes et proprits suivantes : Collections Connections Databases (par dfaut) Groups Properties Users Mthodes BeginTrans Close CommitTrans CreateDatabase CreateGroup CreateUser OpenConnection OpenDatabase Rollback Une collection Workspaces apparat dans l'objet DBEngine et contient les mthodes et la proprit suivantes : Proprits DefaultCursorDriver IsolateODBCTrans LoginTimeout Name Type UserName

Page 46 sur 46

Institut Agronomique et Vtrinaire Hassan II

M. LAHLOU

Mthodes Append Delete Refresh

Proprit Count

F. DatabaseUn objet Database reprsente une base de donnes ouverte. Utilisez l'objet Database, et les mthodes et proprits qui sont lui associes, pour manipuler une base de donnes ouverte. Dans toutes les bases de donnes, vous pouvez : utiliser la mthode Execute pour excuter une requte Action ; utiliser la proprit RecordsAffected pour dterminer le nombre d'enregistrements modifis par une requte Action ; utiliser la mthode OpenRecordset pour excuter une requte Slection et crer un objet Recordset ; utiliser la proprit Version pour connatre la version du moteur de base de donnes utilis pour crer la base de donnes.

Avec une base de donnes Microsoft Jet (fichier .mdb), vous pouvez galement utiliser d'autres mthodes, proprits et collections pour manipuler un objet D