Sunteți pe pagina 1din 35

ACCESS 2000

Support de Formation et exercices

page

ISTA.ma Un portail au service de la formation professionnelle

Le Portail http://www.ista.ma Que vous soyez tudiants, stagiaires, professionnels de terrain, formateurs, ou que vous soyez tout ue simplement intress(e) par les questions relatives aux formations professionnelle aux mtiers, professionnelle, http://www.ista.ma vous propose un contenu mis jour en permanence et richement illustr avec un suivi
quotidien de lactualit, et une varit de ressources documentaires, de supports de formation ,et de documents en ligne ( supports de cours, mmoires, exposs, rapports de stage ) .

Le site propose aussi une multitude de conseils et des renseignements trs utiles sur tout ce qui concerne la recherche d'un emploi ou d'un stage : offres demploi, offres de stage comment rdiger stage, sa lettre de motivation, comment faire son CV, comment se prparer l'entretien dembauche etc. dembauche, Les forums http://forum.ista.ma sont mis votre disposition, pour faire part de vos expriences, ragir l'actualit, poser des question questionnements, susciter des rponses.N'hsitez pas interagir avec 'hsitez tout ceci et apporter votre pierre l'difice. r Notre Concept
Le portail http://www.ista.ma est bas sur un concept de gratuit intgrale du contenu & un modle collaboratif qui favorise la culture dchange et le sens du partage entre les membres de la communaut ista.

Notre Mission
Diffusion du savoir & capitalisation des expriences.

Notre Devise
Partageons notre savoir

Notre Ambition
Devenir la plate-forme leader dans le domaine de la Formation Professionnelle.

Notre Dfi
Convaincre de plus en plus de personnes pour rejoindre notre communaut et accepter de partager leur lus savoir avec les autres membres.

Web Project Manager


- Badr FERRASSI : http://www.ferrassi.com - contactez :

Objectifs
Savoir crer une base de donne daprs un Modle Logique des Donnes fourni. Etre capable de dvelopper une application ACCESS . En particulier crer des formulaires de saisies et de consultation. Organiser lensemble en une application cohrente. Ltude des modules Visual Basic ne fait pas partie de cette premire approche

Mode demploi
Pour chacun des thmes abords, ce support de formation : prsente les points essentiels renvoie des supports de cours, des livres ou la documentation en ligne constructeur, par le

symbole :

propose des exercices pratiques par le symbole :

Autres symboles utiliss :

Point important qui mrite dtre soulign A viter tout prix !

Manipulation raliser avec un utilitaire graphique (qui devrait normalement simplifier le travail !)

Approfondissement : travail de documentation ou exercice supplmentaire, faire individuellement (non intgr dans le temps de formation moyen)

Lectures conseilles
Support de cours AVENIR CONSULT. ACCESS au quotidien (Microsoft press).

page

Sommaire
1. ACCESS : Deux produits en un ___________________________________________ 4
1.1. Le Sgbd JET. _____________________________________________________________ 4 1.2. Le Gnrateur dapplication. ________________________________________________ 4 1.3. Les passerelles. ____________________________________________________________ 4

2.

Crer une base de donnes. _______________________________________________ 6


2.1. Dfinir les tables. __________________________________________________________ 6 2.2. Dfinir les clefs primaires. ___________________________________________________ 7 2.3. Dfinir des contraintes de champs. ____________________________________________ 7 2.4. Dfinir les contraintes dintgrit rfrentielles. ________________________________ 7 2.5. Remplir la base. ___________________________________________________________ 9

3. 4.

Utiliser le gnrateur de requte. __________________________________________ 10 Crer des formulaires ___________________________________________________ 12


4.1. Formulaires simples. ______________________________________________________ 12
4.1.1. 4.1.2. 4.1.3. 4.1.4. 4.2.1. 4.2.2. 4.2.3. Regarder en mode donnes (ouvrir). ______________________________________________ Regarder en mode cration (lquerre du maon). ___________________________________ Choisir le dpartement dans une liste. _____________________________________________ Exprimenter filtrer par formulaire. ______________________________________________ 12 13 15 15

4.2. Sous formulaires. _________________________________________________________ 17


Structure dun ensemble formulaire / sous formulaire. ________________________________ 17 Construire un ensemble formulaire / sous formulaire. _________________________________ 18 Conclusions intermdiaires._____________________________________________________ 20

4.3. Formulaires orients affichage. _____________________________________________ 20 4.4. Formulaires orients recherche. _____________________________________________ 21

5. 6. 7.

Crer des tats _________________________________________________________ 22 Les macros ___________________________________________________________ 24 Organiser lapplication _________________________________________________ 28
7.1. Dcider dun ensemble cohrent de formulaires._______________________________ 28 7.2. Crer une barre de menu. __________________________________________________ 28

8. 9.

Le code Visual basic appliqu ACCESS. __________________________________ 31 Crer des pages WEB. __________________________________________________ 32
10.1. 10.2. 10.3. 10.4. 10.5. Loriginalit dACCESS._________________________________________________ 33 Transactions et verrouillages. _____________________________________________ 33 Contrles daccs. ______________________________________________________ 33 Aspects multiutilisateurs. ________________________________________________ 33 Domaines dusage privilgi dACCESS. ___________________________________ 34

10. aspects avancs et conclusions____________________________________________ 33

page

1. ACCESS : DEUX PRODUITS EN UN


Access regroupe en fait deux produits coupls : Un SGBD nomm JET. Un gnrateur dapplication..

1.1. Le Sgbd JET.


Le sgbd JET offre pour un prix modique la plupart des fonctionnalits dun SGBD relationnel classique. Bien quoffrant des possibilits de fonctionnement en multiutilisateur, il est plutt orient informatique personnelle. Ce SGBD est galement fourni avec VISUAL BASIC

1.2. Le Gnrateur dapplication.


Cest lapport original de ce produit qui permet la gnration dapplications daccs aux donnes sans frappe daucun code. Bien que des applications professionnelles puissent tre dveloppes avec ACCES, ce produit est souvent considr comme destin aux secrtaires. Sa souplesse dutilisation le rend en effet particulirement intressant pour sadapter des besoins changeants, tels quon les trouve dans des activits de Direction.

1.3. Les passerelles.


Une application gnre avec ACCESS peut se connecter dautre SGBD quACCESS, en particulier via linterface ODBC.

APPLICATION

ACCESS

VISUAL BASIC

C++

JAVA

INTERFACE

Native

ODBC

SGBD

JET

SQL server ORACLE Etc

page

ACCESS et VISUAL BASIC accdent soit au SGBD JET, soit des SGBD puissants et multiutilisateurs, via linterface de programmation ODBC. ACCESS peut galement rcuprer des donnes en provenance dautres bases bureautiques telle DBASE, ou des portions de feuilles EXCEL correctement prsentes, et mme du texte tabul, dans ce dernier cas, bien sur, il est prudent de contrler les donnes rcupres. Le menu donnes externes / importer permet de recopier dans ACCESS des donnes rcupres de vieilles bases. Le menu donnes externes / lier permet de lier une application ACCESS un gros serveur SGBD, via ODBC, pour un travail en client serveur. Le menu exporter permet de recopier des donnes ACCESS vers un autre SGBD.

page

2. CREER UNE BASE DE DONNEES.


Exercice 01 : Crer une base YAKA Dans cet exercice nous allons crer la base YAKA selon le MLD tabli durant la squence tablir des modles de donnes . Avant de se prcipiter sur le clavier, il faut encore dcider pour chaque champ : Son type. Valeur NULL autorise ? Valeur par dfaut ? Autre contrainte.

2.1. Dfinir les tables.


On utilisera dans longlet table lassistant Crer une table en mode cration

page

Lutilisation de cette interface est intuitive. Attention aux types de donnes numriques pour lesquels il existe plusieurs sous types.

2.2. Dfinir les clefs primaires.


Dfinir pour chaque table la clef primaire, il suffit de slectionner le champ clef puis de cliquer dans la barre doutils sur la petite clef. Pour les clefs composites effectuer une slection multiple en pressant la touche shift ou la touche contrle pendant le clic.

2.3. Dfinir des contraintes de champs.


Pour chaque champs positionner correctement les valeurs Null interdit oui/non Valeur par dfaut, attention ne mettre de valeur par dfaut que si cela est justifi ; ACCESS propose systmatiquement 0 par dfaut pour les entiers, ce choix doit tre corrig dans la plupart des cas. En gnral on peut indexer les clefs primaires, mais il faut choisir loption avec doublons pour les clefs composites. Longlet liste de choix vous offre la possibilit de faire choisir, la saisie, la valeur parmi une liste ; dfinir cette liste ds maintenant facilitera le travail de lassistant formulaire que nous verrons plus loin.

2.4. Dfinir les contraintes dintgrit rfrentielles.


Il faut ouvrir Outils / relation . On obtient une feuille vierge ; par ajouter une table inclure toutes les tables dans le dessin. Sur ce dessin vous crerez les contraintes dintgrit relationnelle en tirant la souris de la clef primaire vers la cl trangre : On obtient la grille :

page

Bien vrifier les noms des champs lis. Pour une contrainte portant vers une clef primaire composite, ajouter des lignes au prsent tableau. Cocher la case Appliquer lintgrit rfrentielle Pour aider au maintien de lintgrit rfrentielle ACCESS propose deux options : Mettre jour en cascade ; cest dire rpercuter les modifications des valeurs de clefs primaires vers les tables dpendantes. Cette option parfois utile ne doit tre active quaprs rflexion : dans mon application est il parfois ncessaire de changer la valeur dune clef primaire ? . Dans la ngative il est prfrable de ne pas activer cette option. Supprimer en cascade ; cette option est dangereuse en cas derreur de manipulation.

Lorsque tout est termin on obtient une image du modle logique que lon pourra imprimer :

page

De fait ACCESS utilise ce schma deux fins : Dfinir les contraintes dintgrit rfrentielles. Proposer des conditions de jointure par dfaut pour le gnrateur de requte (voir plus loin). Lexprience vous a en effet sans doute montr que dans les requtes les conditions de jointure suivent souvent les lignes de contraintes dintgrit rfrentielle.

Vous tes cependant convi ne pas confondre ces deux notions. Le terme relation utilis par Microsoft prte confusion. Sur les liaisons le symbole 1 dsigne la clef primaire et le signe infini la clef trangre, rien de plus. Ne cherchez pas rapprocher ces conventions des cardinalits du MCD. Les tables Employes et Pieces ne sont pas dupliques, il sagit ici dune manire de dessiner choisi par Microsoft ACCESS.

2.5. Remplir la base.


Commencer remplir la base en ouvrant les tables cres. Vous rencontrerez probablement un problme avec les tables dpartement et employs . En effet lorsque vous crez le dpartement, vous devez dfinir le chef, or celui ci nexiste pas encore dans la table employs , et la contrainte dintgrit exige que vous nommiez chef un employs existant. Alors vous pouvez essayer de crer dabord lemploy, oui mais le dpartement nexiste pas encore. La solution lgante serait de faire ces deux insertions dans une mme transaction avec valuation diffre des contraintes. Or puisque vous ne fates pas de code, il vous est impossible dcrire cette transaction et de toutes manires Microsoft ne sait pas valuer les contraintes de manire diffre. Supprimer, mme provisoirement, les contraintes dintgrit ne serait pas une bonne solution. Il faut ici oprer en trois temps : Crer le dpartement sans dfinir le chef, ce qui est possible si vous dfinissez ce champ avec NULL autoris. Crer lemploy qui sera chef. Renseigner le champ chef dans la table dpartement.

page

3. UTILISER LE GENERATEUR DE REQUETE.

Lune des premires taches que vous rencontrerez sera de dfinir les requtes ncessaires. Pour dfinir une nouvelle requte, dans longlet requte utiliser lassistant : crer une requte en mode cration ; vous pourrez ensuite : Soit taper votre requte dans la fentre texte SQL Soit utiliser le gnrateur graphique, ce gnrateur pratique dans les requtes simples, ne suffit pas pour des requtes complexes.
Manipulation avec assistant graphique

Nous vous proposons trois exercices : Exercice 02 : Requte Dpartement et Chef Indiquer pour chaque dpartement (numro et nom), les numro, nom et prnom du chef

Avec le gnrateur graphique vous devez obtenir :

page

10

Essayer de basculer en affichage / SQL pour voir le code SQL gnr, noter que ACCESS utilise la syntaxe SQL92 . Il est toujours prudent de relire ce code SQL gnr. Lorsque vous enregistrerez cette requte donner un nom vocateur. Une bonne habitude sera galement de prfixer chaque objet pour indiquer son type ici par exemple on peut nommer la requte :RqDeptChef. Exercice 03 : Requte pices et ouvriers habilits

Pour chaque pices afficher : Classe et rfrence de la pice. Numro,nom et prnom des employs habilits sur cette pice.

Exercice 04 : Employ et Chef Pour chaque employs, afficher le nom de son chef. Cette exercice vous conduira introduire deux fois la table employ dans la clause FROM ; vous devrez alors distinguer ces deux usages par des alias.

page

11

4. CREER DES FORMULAIRES


Les formulaires forment linterface par laquelle loprateur accde aux donnes. Lorsque vous les aurez correctement paramtrs, ils afficheront automatiquement les donnes adquates. De mme si loprateur modifie les donnes affiches, les modifications seront automatiquement reportes dans la base de donnes. Cest cette automaticit qui rend le dveloppement ACCESS si simple, mais cest galement elle qui effraie les programmeurs, car ils perdent la matrise des oprations, nous discuterons cela dans le chapitre CONCLUSIONS Un formulaire est un objet lui mme compos dautres objets (ou contrles) typiquement des champs daffichage, chaque objet possde des proprits quil faut paramtrer, par exemple la proprit source indique quel champ de la base de donne contient linformation afficher. Vous pouvez crer et paramtrer ces objets la main o utiliser un assistant, ce que nous ferons dans un premier temps. La srie dexercices propose vous permettra de matriser progressivement les possibilits offertes. Un corrig vous est propos sur le rpertoire commun, examiner la structure dune application est intressant, il suffit de regarder les proprits des divers objets.

4.1. Formulaires simples.


Exercice 05 : Construire un formulaire sur la table Employs

Utiliser dans longlet formulaire crer un formulaire avec lassistant . Nommer ce formulaire FormEmploys, par exemple. Regarder ce qui a t gnr.

4.1.1. Regarder en mode donnes (ouvrir). Noter que le formulaire permet de se dplacer de ligne en ligne dans la table Employs. Il permet de lire, mais aussi de modifier et dajouter. Nous verrons plus loin quil est possible dinterdire les ajouts et mises jour. Bien noter que les donnes entres sont valides soit : Lorsque lon change de ligne Lorsque lon ferme le formulaire. Lorsque lon clique explicitement sur enregistrement / sauvegarder lenregistrement.

page

12

4.1.2. Regarder en mode cration (lquerre du maon).

Ce dessin montre la structure du formulaire, le formulaire est un objet qui contient lui mme dautres objet, appels aussi contrles pour les objets daffichage et de saisie.
13

page

Les proprits du formulaire sont visibles et modifiables, par un clic droit dans langle haut gauche, on obtient :

La proprit capitale cest la source des donnes, il sagit dune table ou dune requte SELECT. Chaque champ possde galement des proprits que lon peut obtenir par un clic droit dans ce champ :

Les deux proprits capitales sont : Le nom de lobjet. Sa source, il sagit dun champ de la table ou de la requte source du formulaire. Cest dans la source que ACCESS va chercher la valeur afficher. Cest galement vers la source que ACCESS recopie une valeur saisie ou modifie. Si la source nest pas renseign, le contrle est dit indpendant. Par dfaut lassistant donne lobjet le mme nom que la source, cest une simplification mais cele prte confusion. Renommer soigneusement vos objets en les prfixant. Dans ACCESS vous manierez un grand nombre dobjets, une stratgie de nommage systmatique est indispensable.
page

14

4.1.3. Choisir le dpartement dans une liste. Chaque fois que possible, proposer loprateur les valeurs autorises dans une liste. Si vous avez bien dfini votre table employs, lassistant cre un contrle liste droulante pour la saisie du dpartement. Regardons les proprits de cet objet :

Nom est le nom de lobjet, respecter des conventions de nommage Source contrle est le champ de la base de donnes o la valeur saisie par loprateur sera recopi. Origine source indique o il faut chercher les valeurs proposes dans la liste, ici il sagit dune table, ne pas confondre cette notion avec la prcdente. Contenu est le nom de la table utiliser, ici dpartement ; ce pourrat galement tre une requte. Nbre colonnes est le nombre de colonne afficher. Colonne lie est le numro de colonne conserver, ici 1, le numro du dpartement. 4.1.4. Exprimenter filtrer par formulaire.

Loprateur peut filtrer les rsultats du formulaire par exemple pour lister les employs dun dpartement. Essayer filtrer par formulaire, on obtient le dessin ci aprs :

page

15

Chaque contrle permet donc de fixer les critres de recherche, ACCESS propose des listes droulantes partout fondes sur les valeurs existantes. Un clic sur activer le filtre permet dobtenir les lignes recherches :

Regarder bien ces divers crans pour ne pas les confondre : dans lcran filtrer par formulaire on frappe des critres de recherche, dans lcran ci dessus, une frappe ou une slection dans une liste va provoquer une modification des donnes dans la base.

page

16

4.2. Sous formulaires.


Exercice 06 : Ajouter un sous formulaire votre formulaire employs

Crer un sous formulaire fond sur la table des habilitations et linclure dans le formulaire FormEmploys de manire afficher pour chaque employ la liste des pices quil est habilit assembler. Vous devrez obtenir ce rsultat :

4.2.1. Structure dun ensemble formulaire / sous formulaire. Un sous formulaire est un contrle dont la source est elle mme un formulaire. Dans cet exercice, nous nommerons ce contrle : CadreHabilitation et le formulaire source SFormHabilitation. Le contrle CadreHabilitation limite laffichage de SFormHabilitation par un lien pre- fils, ici on impose : mme numro demploy. Larchitecture de lensemble peut tre reprsent par le schma :

page

17

FormEmploys Lien pre fils : Mme numro demploy

CadreHabilitation Source Source

SFormHabilitation

Source

Table Employs

Table EstHabiliteA

NB : Lorsque vous utilisez un assistant, celui ci donne le mme nom aux objets CadreHabilitation et SFormHabilitation. Ceci est une simplification mais gne la comprhension du mcanisme. La barre de dfilement du bas permet de parcourir les employs, vous devez observer que laffichage du sous formulaire se met jour automatiquement. Seules les pices sur lesquelles lemploy est habilit sont affiches. Le systme fonctionne galement en criture, si vous ajoutez une nouvelle ligne dans le sous formulaire, ACCESS rajoute une ligne dans la table EstHabilitA en utilisant le numro demploy du formulaire principal. Vous pouvez perfectionner lensemble en permettant de choisir la Rfrence Pice dans une liste. Finalement le travail de remplissage de la table EstHabilitA devient facile 4.2.2. Construire un ensemble formulaire / sous formulaire. Il existe plusieurs mthodes pour construire un ensemble formulaire / sous formulaire. Nous vous proposons, non pas la plus rapide, mais celle qui permet de bien comprendre larchitecture de lensemble : Construire le formulaire principal, FormEmploys ,ici cest dj fait, vous pouviez utiliser lassistant. Construire ce qui deviendra le sous formulaire SformHabilitation , vous pouvez utiliser lassistant. Ajouter FormEmploys un contrle sous formulaire, vous pouvez utiliser lassistant.. Vrifier les proprits de contrle sous formulaire en cliquant dans son angle suprieur gauche. Attention la manipulation peut sembler confuse :
page

18

1. si vous cliquer dans le formulaire principal puis dans langle du sous formulaire, vous obtenez bien les proprits du contrle sous formulaire et nous en profiterons pour le renommer : CadreHabilitation ; 2. si vous cliquer dabord dans le sous formulaire puis dans son angle, vous obtenez les proprits du formulaire source SformHabilitation, ce qui nous intresse moins. Voici lensemble en mode cration :

Et voici les proprits du contrle sous formulaire CadreHabilitation :

page

19

Les proprits intressantes sont : Nom : nom du contrle sous formulaire qui encadre un formulaire et le contraint limiter son affichage selon le critre pre fils. Objet source : nom du formulaire contrl par le cadre ci avant. Champ pre, champ fils : nom des champs dans le formulaire et le sous formulaire, dont les valeurs doivent tre maintenues gales. Il sagit ici des noms de champs des tables sous jacentes aux formulaires. Exercice 07 : Pices et composants

Faire de mme un ensemble formulaire / sous formulaire permettant de saisir, et de rafficher, les pices et leurs composants.

4.2.3. Conclusions intermdiaires. Les formulaires, tudis jusqu prsent, permettent de faciliter le peuplement de la base, ici les tables Employs, EstHabilitA, Pices, SeComposeDe. Ils sont donc autoriss en lecture, ajout, modification, suppression Dautres sries de formulaires seront consacres aux recherches dinformations. Elles ne seront donc autorises quen lecture.

4.3. Formulaires orients affichage.


Exercice 08 : Renseignements dtaills sur les employs Faire un ensemble formulaire / sous formulaire pour afficher : Dans le formulaire : numro, nom, prnom de lemploy, nom du dpartement et nom du chef. Dans le sous formulaire la rfrence et la classe des pices que louvrier est habilit fabriquer. Dans cet exercice formulaire et sous formulaire seront fonds non plus directement sur las tables, mais sur des requtes quil faudra crire au pralable.
20

page

4.4. Formulaires orients recherche.


Crer un formulaire permettant dafficher tous les employs dun dpartement dont loprateur devra saisir le nom. Nous raliserons cet exercice en employant plusieurs techniques. Exercice 09 : Filtrer par formulaire Vous avez dj expriment cette solution, cest la plus simple et la plus souple, par contre elle peut tre confuse pour un oprateur inexpriment. Exercice 10 : Filtrer par une requte paramtre. Dans les exercices SQL fait jusquici, on demandait par exemple :je veux tous les employs du dpartement montage . Bien videmment pour obtenir les employs de la comptabilit il faut modifier la requte ce qui nest pas pratique. ACCESS propose une extension SQL : les requtes paramtres. Dans sa forme la plus simple il suffit de remplacer la constante par un prompt de saisie entre [.] . Lorsque cette requte doit tre excute, une boite de saisie apparat.

Exercice 11 : Filtrer par lien pre fils. Ceci est la meilleure solution. Crer un formulaire pre qui contiendra un champ de saisie ( ou mieux une liste droulante) pour le dpartement vis. Attention le formulaire, le champ de saisie ou la liste droulante nont pas de source associes, ils sont indpendants. Nommer votre champs de saisie. Tirer votre formulaire employs dans le pre pour en faire un sous formulaire. Dfinir le lien pre fils Nous verrons plus loin dautres techniques mais qui ncessitent des macros.

page

21

5. CREER DES ETATS

Exercice 12 : Afficher un tat complet du personnel et de ses habilitations Bien sur la prsentation se fera par dpartement puis par employs. Voici ce quil faudra obtenir :

Pour ce faire on commencera par tablir une rqute capable de fournir toutes les donnes ncessaires. Donc il faut joindre les tables Dpartement,Employs,EstHabilitA,Pices Puis on utilisera lassistant tat en fondant ltat sur cette requte. En principe lassistant propose de lui mme les regroupemnts. En mode cration on obtient donc :

page

22

Bien regarder les groupes gnrs. Regarder les proprites de ltat, ouvrir la fentre trier et grouper.

page

23

6. LES MACROS
Dans les exercices tudis jusquici ACCESS savait ce quil devait faire selon les manipulations de loprateur, par exemple slectionner correctement les enregistrements dun sous formulaire. Tout tait automatique. Les exercices que nous allons voir maintenant sont plus complexes, et il faut indiquer ACCESS ce quil doit faire. La logique est vnementielle : vous avez peut tre remarque dans la fentre proprit une liste dvnements (aprs mise jour, sur clic, sur activation etc.), le principe de la programmation vnementielle est de dfinir pour chaque vnement que lon souhaite traiter un petit programme excuter. Deux langages sont disponibles : le langage macro et le langage Visual Basic. Dans les cas simples le langage macro suffit. Ce langage est spcifique dACCESS car les actions entreprendre sont des actions ACCESS. Exercice 13 : Rfrencer un champ de saisie dans une requte paramtre. Nous allons ici reprendre lide de lexercice 10 en introduisant dans la requte paramtre une rfrence un champ de saisie du formulaire : on doit obtenir SELECT Employes.NumSecu, Employes.Nom, Employes.Prenom, Employes.NumDepartement FROM Employs WHERE (((Employes.NumDepartement)=[Formulaires]![FormEmpDuDept4]![ListDept])); Regarder bien la syntaxe de la zone soulignes. Formulaires dsigne la collection de tous les formulaires que vous avec cres. FormEmpDuDept4 est un nom de formulaire. ListDept est un nom de champ du formulaire. Vous pouvez galement gnrer cela en mode graphique en vous aidant de lassistant magicien. Cliquer sur la baguette magique dans la barre doutils.

page

24

Slectionner le formulaire qui vous intresse puis le champ, le gnrateur syntaxique fera le reste. Voici le formulaire obtenir obtenir en cration

page

25

Noter bien que la liste de choix est dans la zone entte du formulaire et quelle est indpendante. Nous pourrions penser que grce notre requte le formulaire afficherait les bons employs, en fait cela ne marche pas. Il faut en effet dire ACCESS que chaque fois que loprateur saisi un nouveau dpartement la requte doit tre rexcute. Ici ACCESS ne le fait pas de lui mme. Lvnement qui nous intresse concerne lobjet ListDept et lvnement considrer est Aprs MAJ. Associer cet vnement une macro dont la seule action sera actualiser, sans prciser de champ ici. Exercice 14 : Rajouter un filtre une requte Une variante de cet exercice consiste ne pas mettre de clause WHERE la requte. Cette clause sera ajoute de manire dynamique comme suite lvnement aprs MAJ sur lobjet ListDept. Nous allons dfinir une macro dont laction sera appliquer filtre. Appliquer un filtre revient donc ajouter une clause WHERE une requte. Assez bizarrement il faut prcder cette action dune action actualiser.

page

26

Exercice 15 : Ajuster de manire dynamique une liste droulante.

Revenons la cration dun dpartement. Dans un premier temps nous avons convenu de ne pas dfinir de suite le chef. Ensuite nous crons les employs. Maintenant nous pouvons nommer le chef. Vous allez faire le formulaire adquat. Bien sur il serait intressant de choisir pour chef un employ de ce dpartement. Vous allez donc crer une liste droulant affichant les employs du dpartement. Voici ce quil faudrait obtenir :

La liste droulante aura pour requte contenu : SELECT Employes.NumSecu, Employes.Nom, Employes.Prenom FROM Employs WHERE (((Employes.NumDepartement)= [Formulaires]![FormNommerChefDepartements]![TxtNumDepartement])); Tout comme dans lexercice 12, il faut demander lactualisation de cette liste chaque fois que lon change de dpartement, donc de ligne dans le formulaire. Cela correspond lvnement sur activation du formulaire lui mme. Cette fois dans la macro pour laction Actualiser il faudra prciser le champs nouveau chef

page

27

7. ORGANISER LAPPLICATION
7.1. Dcider dun ensemble cohrent de formulaires.
Dans cette initiation nous avons explor les possibilits dACCESS. Dans un vrai projet, il faut commencer par dfinir de manire logique et cohrente lensemble des formulaires ncessaires. Typiquement on ralise : Les formulaires qui permettent de remplir la base. Les formulaires qui permettent de visualiser les infos les plus couramment demandes.

Ces deux catgories assurent en quelques sortes lintendance du systme dinformation. Ensuite il faut dfinir les formulaires qui doivent effectuer les traitements requis tels quils apparaissent lissue de lanalyse. Lobjet mme de lactivit de lentreprise. Il est possible que ces besoins se recoupent avec ceux dj identifis plus haut.

Dune manire gnrale, il est prudent de sparer les formulaires de saisies et les formulaires de consultation, les oprateurs sont souvent diffrents.

7.2. Crer une barre de menu.


Exercice 16 : Crer un barre de menu
Pour donner un look professionnel vous crerez une barre de menu pour donner accs vos formulaires, vous en profiterez pour les regrouper de manire logiques.

La procdure est assez complexe mais puissante, nhsitez pas utiliser laide en ligne. Crer un formulaire indpendant qui sera la page daccueil. Aller dans Affichage ->Barre doutil->personnaliser->Barre doutils.

page

28

Cliquer sur nouvelle. Donner un nom votre barre de menu. Aller dans proprits et dfinir : type barre de menu :

Remarquer que votre menu est visible sous forme dun petit carr, visible sur lcran pas sur ce polycopi. Revenir dans lcran ci avant pour choisir longlet commande. Choisir : tous les formulaires .

page

29

Cliquer sur le formulaire qui vous intresse et le tirer vers le menu. Par un clic droit sur le bouton cr, accder ses proprits.

Pour crer des menus droulant il fallait au pralable insrer des nouveaux menus dans le menu principal. Lorsque le menu est termin il suffit de laffecter au formulaire daccueil. Ds que le formulaire daccueil est ouvert votre menu remplace le menu ACCESS. Il ne reste plus qu demander louverture de votre formulaire daccueil au dmarrage, voir outils -> dmarrage.
page

30

8. LE CODE VISUAL BASIC APPLIQUE A ACCESS.


Le langage VISUAL BASIC est une autre manire de dfinir les ractions dACCESS aux divers vnements. Vous avez alors votre disposition toute la puissance dun vrai langage de programmation. Cette technique sort du cadre de cette initiation ACCESS, en fait cest de la programmation VB tout simplement. Vous accdez aux donnes par la couche ADO. Vous pourrez ainsi traiter les cas dlicats et les transactions. Cependant si vous deviez gnralisez cette manire de travailler une grande partie de votre application ; ACCESS ne vous servirait plus rien, autant travailler alors directement en VB.

page

31

9. CREER DES PAGES WEB.


ACCESS permet la ralisation automatique de pages WEB , trois formes sont possibles : Copie statique en html pur, utiliser le menu exporter. Fichier asp permettant de lire les dernires donnes, utiliser le menu exporter. Page dynamique permettant de lire et de mettre jour, cest donc lquivalent WEB dun formulaire.. Gnrer avec lassistant page WEB daccs aux donnes. La page gnre est une page html avec des actives X spciaux pour laccs aux donnes. Dans cette technique le client WEB accde directement aux donnes par une connexion OLE DB. Pour des raisons de scurit cette technique est plutt rserver lINTRANET. De plus elle exige Internet Explorer de Microsoft cause des actives X.

page

32

10. ASPECTS AVANCES ET CONCLUSIONS


10.1. Loriginalit dACCESS.

ACCESS permet de dvelopper des applications sans code, donc sans algo. La connaissance dun langage de programmation nest pas ncessaire. Cest donc en principe un outil pour non informaticien, mais des comptences danalyse sont requises. La prise en main de loutil ncessite galement une formation. Le dveloppement est trs rapide. Cependant dans des cas complexes, des difficults risquent dapparatre. Nous allons les examiner ci aprs.

10.2.

Transactions et verrouillages.

Lexamen de ce point dlicat sort du cadre de cette initiation. Cependant ACCESS est faible de ce point de vue, et il importe donc den comprendre les limitations. Lemploi dobjets lis aux donnes, implique des mises jour automatiques des donnes. Ces mises jour ne concernent quune ligne de donnes dans une seule table la fois. Il nest donc pas possible de crer de transaction comportant plusieurs requtes. Du point de vue verrouillage, ACCESS pratique un verrouillage optimiste, cest dire quil ne verrouille pas les donnes affiches. En revanche si vos donnes sont modifies par un autre utilisateur, vous recevrez un message derreur si vous tentez vous mme de modifier la mme ligne. ACCESS est donc dconseill pour des applications o les aspects transactions et verrouillages doivent tre grs avec rigueur : virements bancaire, rservations de places train ou avion par exemple. Il est possible de traiter correctement ces aspects en sabstenant de crer des objets lis aux donnes et en effectuant les mises jour par du code Visual Basic. Mais alors leffort de dveloppement est le mme que pour une application VB traditionnelle.

10.3.

Contrles daccs.

Le SGBD JET dispose de protections, il est possible des dfinir des utilisateurs. Cependant ces aspects sont moins volus que dans les serveurs SGBD type ORACLE. Il est possible de corriger cette lacune par une architecture Client / Serveur qui permet de remplacer JET par un SGBD plus performant, tout en conservant les possibilits de gnration dapplication de ACCESS.

10.4.

Aspects multiutilisateurs.

Le SGBD JET est capable de traiter des accs simultans, mais la gestion des verrous nest pas aussi rigoureuse quavec un SGBD serveur. Ici aussi la solution consiste travailler en client / serveur et traiter par code VB les transactions dlicates.

page

33

10.5.

Domaines dusage privilgi dACCESS.

Des rserves exposes ci avant, il apparat que contrario, ACCESS est bien adapt aux applications bureautiques personnelles, ce qui reprsente une trs grand domaine dapplication. Ds que le nombre dutilisateurs deviendra important, on pourra basculer en client serveur. Les transactions dlicates pourront tre mieux scurises par un traitement VISUAL BASIC. Souvent cela ne reprsente quune petite partie des traitements. Les informaticiens traditionnels rpugnent employer ACCESS : Ils redoutent des difficults pour matriser transactions et verrouillages. Le travail sans code les droute.

page

34

S-ar putea să vă placă și