BTS Informatique de gestion 1re année
Jean-Yves Février
Développement d’applications informatiques et génie logiciel
Cours 2 (ACCESS)
Directrice de publication : Valérie Brard-Trigo Les cours du Cned sont strictement réservés à l’usage privé de leurs destinataires et ne sont pas destinés à une utilisation collective. Les personnes qui s’en serviraient pour d’autres usages, qui en feraient une reproduction intégrale ou partielle, une traduction sans le consentement du Cned, s’exposeraient à des poursuites judiciaires et aux sanctions pénales prévues par le Code de la propriété intellectuelle. Les reproductions par reprographie de livres et de périodiques protégés contenues dans cet ouvrage sont effectuées par le Cned avec l’autorisation du Centre français d’exploitation du droit de copie (20, rue des Grands Augustins, 75006 Paris).
Conseils généraux
Présentation du cours
Organisation du cours Ce cours de programmation (Access) est constitué de 13 séquences et un devoir auto-corrigé. Je vous rappelle qu’il s’imbrique avec le cours d’analyse (Merise réf. 3932 TG 01). Voici l’ordre dans lequel il faut exploiter tout cela :
• vous travaillez le cours d’analyse (Merise) jusqu’à la séquence 5 ; • tout en continuant l’analyse, vous pouvez alors traiter le cours Access :
– vous travaillez les séquences 1 à 13, – ensuite, vous faites le devoir auto-corrigé.
Attention, ne vous arrêtez pas à la séquence 5 du cours d’analyse. Il faut aller jusqu’à la séquence 5 pour avoir les prérequis nécessaires à l’apprentissage d’Access. Ensuite, vous devez travailler ces cours et le cours SQL (voir réf. 3999 TG 02) en parallèle. Access est un outil très dense. En première année, nous étudions tout ce qui est utile aux deux options. En seconde année, nous l’approfondirons ensemble dans l’option développeur d’applications.
Choix d’Access et place du SGBDR
Introduction Le cours que vous commencez vous permettra d’acquérir la pratique d’Access, le Système de Gestion de Base de Données Relationnel (SGBDR) semi-professionnel de Microsoft. Par semi-professionnel, je n’entends pas semi-performant : c’est un produit très efficace s’il est utilisé à bon escient. Toute PME ou petite administration pourra utiliser des applications Access pour gérer ses données. En revanche, pas question pour EDF, une banque ou le Trésor Public de développer sous Access : quand on a des centaines de millions de données, il faut un outil profes- sionnel d’une toute autre dimension : SQL Server, Oracle… Pourquoi Access ? Nous avons hésité entre cet outil et d’autres du monde libre (MySQL, PosgreSQL). Finalement, nous avons retenu Access car c’est l’outil le plus répandu dans les entreprises où vous irez travailler (en action professionnelle, stage ou, ultérieurement, en vrai travail). Cela dit, l’es- sentiel de ce que nous allons étudier se transpose dans tout SGBDR.
Nous dirons donc que nous allons apprendre un SGBDR par le biais de l’un de ses représentants, Access.
8 3932 TG PA 02
3
Le SGBDR dans le référentiel Comme je l’ai dit dans les conseils généraux de SQL, ce cours est indispensable pour le BTS Informatique de gestion car dans ce secteur d’activité, l’essentiel de votre travail consistera à manipuler des bases de données. Dans le référentiel de la formation des deux options, l’étude d’Access se glisse un peu partout :
• explicitement dans le savoir S2 ALSI (Architecture logicielle des systèmes informatiques), précisément le savoir S25 du référentiel intitulé « Système de gestion de base de données relationnel » ;
• implicitement en S26 (architecture client-serveur) et S33 (Maquettage d’applications informa-
tiques et programmation événementielle) ;
• également en S35 (Conception et développement d’applications à l’aide d’un langage de
programmation procédural) ;
• pourquoi pas en S32 (Analyse et conception de systèmes logiciels) ? Oui, c’est le cours de Merise. Quel rapport avec Access ? Eh bien, la finalité d’une analyse Merise, c’est la création d’une application base de données !
Justifions tout cela : vous ne connaissez pas encore Access, mais je peux dès à présent vous dire que cet outil :
• est évidemment un SGBDR (d’où S25 et S26) ; • possède des formulaires (feuilles de VB, formulaires de Delphi), d’où S33 ; • possède le langage VB pour programmer votre application Access, d’où S35.
Ainsi, pour pouvoir exploiter pleinement Access, vous avez besoin de nombreuses connaissances cela en fait un outil d’informaticien d’une complexité sans commune mesure avec Word et Excel. Nous n’allons pas étudier tout cela dans ce support : seul l’outil Access nous intéresse. Mais, comme je viens de le dire, pour pouvoir exploiter les formulaires, il faut connaître la programma- tion événementielle ; pour automatiser l’application, il faut savoir programmer…
Le SGBDR dans la formation En formation initiale (en lycée), la première année s’étend sur 35 semaines, le volume horaire hebdomadaire de l’ALSI étant 2 heures de cours et 2 heures de travaux dirigés. Le SGBDR et SQL constituent la majeure partie de cet enseignement. L’apprentissage d’Access est généralement réparti sur les deux années : le tronc commun en pre- mière année et le cours d’option en seconde année :
• en première année, on étudie tout… sauf la programmation avancée ; • en seconde année (option développeur d’applications), on s’occupe de la programmation
avancée.
Nous ferons la même chose dans ce cours.
Le SGBDR à l’examen Access est un logiciel très intéressant pour mettre en œuvre les activités présentées dans l’épreuve de pratique des techniques informatiques, notamment en option développeur d’applications : les compétences C32, C33, C35 et C36 peuvent être bâties autour d’Access. En option administrateur de réseaux locaux d’entreprise, les compétences C24 et C37 peuvent exploiter Access (quoique là, soyons honnêtes, installer Access pour la compétence installer un SGBD est un peu limité… sauf si l’on installe une architecture client/serveur par exemple).
4
8 3932 TG PA 02
Le SGBDR dans votre vie professionnelle d’informaticien Dois-je justifier l’étude d’Access ? Ma foi, cet outil fait souvent partie des sujets de stage (option développeur d’applications) et sera certainement votre fond de commerce lors de votre arrivée dans la vie active.
Attention à ceux qui se sentent plus la fibre d’administrateur de réseaux locaux d’entreprise : vous avez l’impression qu’Access n’est utile que pour « ceux de l’autre option » ? Évidemment, seuls les développeurs d’applications présenteront Access à l’examen, mais ce sera sur les techniques de programmation avancée. Toute la partie que nous allons étudier cette année constitue un tronc commun que vous devez connaître : pour savoir installer et administrer une base de données, il faut savoir ce que c’est ! De plus, tout technicien supérieur en informatique de gestion doit pouvoir intervenir en maintenance ou en dépannage de premier niveau sur des domaines variés (configuration, installation, réseau, base de données) quelle que soit son option.
Présentation du support de cours
Principe Ce cours a été conçu pour pallier au maximum les difficultés de l’apprentissage à distance : je l’ai rédigé de telle manière que sa lecture ressemble à un cours qu’un professeur étant en face de vous pourrait faire. Enfin, j’ai essayé autant que possible de faire cela. Ainsi, à chaque difficulté potentielle ou interrogation que vous pourriez avoir, j’ai tenté de pren- dre les devants et de tout aplanir. Mais j’insiste sur le point suivant : quelle que soit la qualité pédagogique de ce cours, il ne vous permettra pas d’assimiler Access par simple imprégnation visuelle. Vous devez fournir un travail d’apprentissage (le cours), de réflexion (toujours le cours) et d’entraînement (utilisation intensive d’Access). Le début du cours comporte quelques exercices explicites, mais après, plus rien. Enfin… je n’ai pas pu les matérialiser comme dans le cours d’analyse ou de SQL, mais les exercices sont bels et bien présents : lorsque j’illustre une manipulation (et je n’arrête pas !), je vous dis systématiquement de la refaire vous-même et, si je ne le vous dit pas, c’est un oubli de ma part. À la fin du cours, vous trouverez un sujet auto-corrigé d’application Access. La base corrigée est accessible à cette adresse : http://www.campus-electronique.fr/bts-informatiquegestion puis en allant à la rubrique téléchar- gement. Jouez le jeu et ne vous précipitez pas sur cette dernière !
Organisation Le fascicule de cours contient différentes choses :
• une ou plusieurs séquences par concept de base d’Access (tables, requêtes, formulaires, états,
macros et modules) ;
• la séquence sur les modules est en fait une séquence sur la programmation sous Access : encore une fois, je vous donne des bases que j’espère solides, mais il n’est pas question de pousser les choses trop loin ;
• la dernière séquence est consacrée à l’ergonomie, c’est-à-dire à la façon de présenter correc- tement des applications. Ce n’est donc plus le côté technique qui est abordé, mais l’aspect visuel. C’est un thème qui m’est cher.
8 3932 TG PA 02
5
Notations
Pour vous aider à identifier les différents constituants du cours, j’ai utilisé les représentations suivantes :
• tout ce qui est mis en couleur doit être appris par cœur. Cela correspond aux défini- tions ou explications qu’il est absolument nécessaire de connaître pour s’en sortir en analyse. Quand je dis apprendre, ce n’est pas retenir pour l’heure qui suit afin d’épater les convives au prochain repas. Il s’agit d’une vraie leçon, dont vous devez vous souvenir tout au long de votre vie d’informaticien, ou, plus prosaïquement, au moins jusqu’à l’examen. Ces informa- tions sont reprises à la fin de chaque séquence dans la fiche synthèse ;
Quelques conseils Le seul conseil utile que je puisse vous donner est de garder à l’esprit la fable de La Fontaine Le lièvre et la tortue : il ne sert à rien de travailler ce cours comme un fou en juin ; travaillez-le plutôt dès maintenant quelques heures par semaine ré-gu-li-è-re-ment (j’aurais pu écrire régulièrement ou RÉGULIÈREMENT, mon but étant juste d’insister sur le mot). La difficulté de l’enseignement à distance réside dans le fait que, par définition, vous êtes seul face au cours, personne n’étant là pour vous guider, insister sur l’essentiel ou établir la progression du cours.
Pour vous aider à suivre un rythme correct, disons que chaque séquence correspond à un travail d’environ une dizaine d’heures.
Attention à l’environ ! Vous avez sans doute le souvenir de vos études où, pour obtenir un même résultat, certains travaillaient toute la soirée et d’autres se contentaient d’être présents en cours. Il en est de même ici. Les 10 heures ne sont qu’un ordre de grandeur signifiant juste que 15 minutes, ce n’est pas assez, mais 30 heures, c’est trop. Retenez qu’il vaut mieux passer 15 heures sur une séquence et la comprendre parfaitement, que faire exactement 600 minutes (10 heures) en passant à côté de l’essentiel.
Lorsque quelque chose ne vous semble pas clair, n’hésitez pas à creuser un peu, à étudier l’aide, à faire des manipulations par vous-même… il faut pratiquer ! La théorie que nous aborderons est essentielle car elle vous explique le sens des savoir-faire et vous aide à réagir aux problèmes.
Tout informaticien doit savoir faire. En fait, dans toute discipline, vous êtes recherché pour votre maîtrise des savoir-faire. Un comptable connaissant toute la théorie des optimisations fiscales mais incapable d’établir correctement une déclaration de revenus n’est pas un bon comptable. Si vous pouvez disserter une heure sur le protocole OSPF (administrateur réseau) ou sur le polymorphisme (développeur), mais que vous n’arrivez pas à configurer la connexion internet de l’entreprise, vous ne duperez personne.
Vous devez travailler chaque séquence la durée nécessaire à une réelle compréhension : quand vous comprenez le sens des manipulations présentées et que vous savez les refaire, c’est que la séquence est assimilée. J’insiste : vous devez tout refaire sur Access et faire des expérimentations.
6
8 3932 TG PA 02
Sommaire
Séquence 1 : Prise en main d’Access
Séquence 2 : Les tables 1/2 : origine et création
Séquence 3 : Les tables 2/2 : propriétés des champs
Séquence 4 : Relations et intégrité référentielle
Séquence 5 : Génération automatique de tables et import/export de données
Séquence 6 : Les requêtes
Séquence 7 : Présentation des formulaires
Séquence 8 : Les contrôles graphiques
Séquence 9 : Les formulaires accèdent aux données
Séquence 10 : Les états
Séquence 11 : Les macros
Séquence 12 : Programmation VBA élémentaire
Séquence 13 : Ergonomie
Sujet du devoir auto-corrigé
Corrigé du devoir auto-corrigé
8 3932 TG PA 02
9
19
29
49
63
75
Publicité
85
115
133
153
169
181
213
241
251
7
Séquence 1 Prise en main d’Access
Dans cette séquence, nous étudions les différents concepts d’Access.
u Capacités attendues
• Comprendre ce que vous pouvez faire avec Access
• Effectuer quelques paramétrages essentiels
• Savoir accéder à l’aide et aux fichiers base de données
• Utiliser une base Access avec une autre version d’Access
u Contenu
Introduction ............................................................................................ 10 1. 1A. Vocabulaire de base ................................................................................... 10 1B. Étapes de développement d’une application .......................................... 10
2.
Les objets d’Access .............................................................................. 11
3. Utilisation d’Access .............................................................................. 11 3A. Fichier .......................................................................................................... 11 3B. Exécution d’Access ..................................................................................... 11 3C. Création d’une base et fenêtre Base de données d’Access .................... 13 3D. Ouverture d’une base existante et sécurité ............................................. 15
Synthèse
8 3932 TG PA 02
9
Séquence 1
1.
Introduction
1A. Vocabulaire de base
1A1. Base de données Une base de données (BDD) est un ensemble d’informations structurées se rapportant à un domaine précis (le système d’information vu dans le cours d’analyse). Exemples :
• les informations permettant le suivi des stages en section de BTS ; • les fiches d’état de stock dans un magasin.
Une base contenant toujours plusieurs données, il sera très mal vu d’omettre le pluriel au mot « donnée ».
1A2. Système de gestion de base de données relationnel (SGBDR) Un Système de Gestion de Base de Données (SGBD) est un système informatique gérant l’ensemble des informations présentes dans une base de données. Différentes façons de gérer les données ont vu le jour : les SGBD furent hiérarchiques puis réseaux ; aujourd’hui ils sont relationnels, demain ils seront objets (ou relationnels/ objets). Relationnel fait référence aux relations mathématiques basées sur la théorie des ensembles cartésiens. On parle de SGBD Relationnels, soit SGBDR.
Il existe deux familles de SGBDR :
• les outils personnels convenant à la gestion des données de petites entreprises : Access, Paradox, MySQL… Leur intérêt ? Un rapport qualité/prix sans équivalent ; • les systèmes professionnels, pouvant gérer un nombre considérable de données et d’utilisateurs. Citons Oracle, SQL Server, PosgreSQL… leur qualité ? La performance.
Ce support de cours concerne Access 2003. C’est un cours important car l’informatique de gestion exploite intensément les SGBDR ! L’obtention du BTS passe par la maîtrise d’un SGBDR, classiquement Access qui est très répandu.
1B.
Étapes de développement d’une application L’efficacité de l’application dépend fortement de votre connaissance de l’interconnexion des données, ce qui correspond au cours d’analyse (MCD). En pratique, un développe- ment réussi (donc correct) ne peut se faire qu’en modélisant les données avant toute implantation sur ordinateur. En effet, un MCD inexistant ou faux impliquera une base de données inconsistante (c-à-d. erronée et inexploitable). Du MCD, vous déduisez le MLD qui décrira comment stocker les informations dans le SGBDR. La règle de développement suivante est donc impérative :
Compréhension du métier à informatiser
Élaboration du MCD
Création du MLD
Développement de la BDD
En d’autres terme s, vous devez être certain de la correction de vos MCD et MLD avant toute manipulation sur Access. Si, en cours de développement, vous êtes amené à corri- ger le MCD, l’ensemble du projet sera bien mal parti. Pourquoi ce paragraphe ? Pour insister sur le fait que l’on ne doit surtout pas se lancer bille en tête dans la réalisation de l’application Access. Il faut préalablement conduire une analyse bien menée pour créer correctement les tables.
10
8 3932 TG PA 02
Prise en main d’Access
2.
Les objets d’Access La base de données contient les données de l’entreprise. Elle permet :
• de les stocker de façon rationnelle et efficace ; • de les récupérer (exploiter) au mieux.
Access est un outil constitué des objets suivants :
• des tables, servant au stockage structuré des données ; • des formulaires, chargés d’afficher les données et permettant également de les
saisir ;
• des requêtes SQL (voir mon cours SQL !) permettant d’interroger la base, c’est-à-dire
de récupérer les données ;
• des pages, qui permettent d’afficher et manipuler de l’information sur internet ;
c’est l’équivalent du formulaire, mais orienté Web ;
• des états, dont l’objet est d’être imprimés. Ils fournissent les données de la base sous une forme lisible et permettent également (c’est le plus important) de produire les documents de l’entreprise à partir des données : les factures, les relances clients, les états de stock…
• le langage de programmation VBA (Visual Basic for Applications) qui permet de
relier tous ces éléments pour en faire une application utilisable.
Nous allons étudier ces différents composants. Il ne s’agit pas d’être exhaustif, mais de débroussailler le terrain pour vous rendre autonome et capable d’aller plus loin.
3.
Utilisation d’Access
3A.
Fichier Concrètement, une base de données Access est un fichier. Cela signifie que la sauvegarde de la base revient à la sauvegarde d’un fichier. L’extension du fichier base de données est MDB (pour Microsoft Data Base). En créant la base Gestion, vous générez un fichier nommé gestion.mdb. La base de données est le réservoir d’informations de l’entreprise ; cette dernière y stocke ses clients, fournisseurs, commandes, factures… La base est donc un fichier crucial que l’on ne peut se permettre de perdre. La copie de sauvegarde de la base elle-même est une obligation professionnelle.
3B.
Exécution d’Access
3B1. Paramétrage initial de l’interface En lançant Access, vous obtenez sans doute la fenêtre suivante (si ce n’est pas le cas, c’est que votre paramétrage a déjà été modifié ; cela est sans importance).
8 3932 TG PA 02
11
Séquence 1
Vous allez paramétrer les menus pour que toutes les commandes soient visibles. Pour cela, lancez la commande Outils/Personnaliser…å Vous obtenez alors la boîte de dialogue suivante, à personnaliser comme moi.
L’essentiel, c’est que la deuxième case soit cochée. Elle vous assure que les commandes ne joueront pas à cache-cache avec vous. Si vous avez un problème pour activer la première case, cela peut être dû à un paramétrage contraire dans Word ou un autre outil du pack Office.
Quand vous avez fini, faites Fermer Notez que cette boîte ne respecte pas l’ergonomie Windows car on devrait trouver des boutons OK et Annuler. Ici, OK est remplacé par Fermer et, pour annuler, il faut relancer la commande et restaurer les valeurs initiales à la main.
3B2. Paramétrage initial de l’aide La version 2003 intègre une aide en ligne locale (sur votre PC) et une aide en ligne internet mise à jour continuellement (Microsoft Office Online). L’aide internet ne peut évidemment être utilisée que si vous disposez d’une connexion internet. De plus, je ne peux pas baser mon cours dessus puisse qu’elle évolue en permanence. Tous mes ren- vois vers l’aide dans le cours feront donc référence à l’aide locale, tout à fait complète d’ailleurs.
å Je rappelle le sens de cette écriture conventionnelle : la commande Outils/Personnaliser signifie qu’il faut lancer le menu Outils (dans la barre de menus) puis lancer la commande Personnaliser…
12
8 3932 TG PA 02
Prise en main d’Access
Publicité
Pour éviter toute confusion, nous allons paramétrer votre version d’Access pour qu’elle désactiver l’aide internet. Voici la manipulation à réaliser :
Vous obtenez alors cette boîte de dialogue :
Depuis la fenêtre Access, lancez la commande ?/Options pour les commentaires clients…
Décochez alors la case Afficher le contenu et les liens de Microsoft Office Online si elle était cochée.
Notez qu'il faudra quitter puis relancer Access
Dois-je vous dire de cliquer sur OK ?
Sélectionnez la catégorie Contenu en ligne.
3C.
Création d’une base et fenêtre Base de données d’Access
3C1. Création J’ai choisi de créer une nouvelle base de données Clients à partir de l’interface Access. Le volet Nouveau fichier s’ouvre automatiquement. Je sélectionne alors Base de données vide. Access me demande immédiatement un dossier et un nom de fichier pour enregis- trer la base. J’appelle ma base Clients.mdb.
8 3932 TG PA 02
13
Séquence 1
J’obtiens la fenêtre suivante :
Notez cette information sur le format du fichier (voir paragraphe 3C3).
Ceci est la fenêtre de la base de données. Tous ses composants (tables, requêtes…) sont accessibles (colonne de gauche, Objets). Tout au long du développement de votre appli- cation, vous pouvez faire apparaître cette fenê- tre en appuyant sur F11.
3C2. Le contenu de la fenêtre de la base de données Vous remarquerez que la partie droite de la fenêtre contient des choses :
(cid:129) « Créer une table… » pour les objets Tables ; (cid:129) « Créer un formulaire… » pour les objets Formulaires.
C’est étonnant, puisque ma base Clients vient d’être créée. Comme je n’ai encore rien mis dedans, je m’attendais naïvement à la trouver vide. En fait, elle est vide. Nous voyons des raccourcis vers des assistants pour créer facilement de nouveaux objets. Pour voir (s’ils n’y sont pas) ou supprimer (s’ils y sont) ces assistants, il faut lancer la commande Outils/Options…å, aller dans l’onglet Affichage puis cocher ou non la case Raccourcis des nouveaux objets. Je vous demande de décocher cette case.
3C3. Barre de titre de la fenêtre : format de la base Le problème général de la compatibilité entre versions La copie d’écran du paragraphe 3C1 attirait votre attention sur la barre de titre indi- quant que ma base nouvellement créée était au format de fichier Access 2000. Quel est alors l’intérêt, je vous le demande, d’acheter la version 2003 d’Access si la base est au format 2000 ?
Des informations supplémentaires dans l’aide L’aide en ligne (mode hors connexion) contient beaucoup d’informations sur les conver- sions et compatibilités entre les différentes versions Access (2.0, 95, 97, 2000, 2002 et 2003). Vous y apprendrez d’ailleurs qu’Access 2002 et 2003 utilisent le même format de fichier. Pour accéder à tout cela, lancez l’aideç (F1) puis recherchez convertir. Le résultat inté- ressant parmi les vingt obtenus, c’est « À propos de la conversion d’un fichier Access ». Lisez-le !
Pour conclure : quel format utiliser ? Quitte à travailler sur Access 2003, nous utiliserons le format Access 2002–2003.
å Pour accéder à la commande Outils/Options…, vous devez avoir une base de données ouverte dans Access.
ç Je vous rappelle le paramétrage précédent pour n’exploiter que l’aide locale.
14
8 3932 TG PA 02
Prise en main d’Access
Vous devez donc réaliser le paramétrage suivant. Il faut lancer la commande Outils/ Options…å. Or, Options… n’est actif que si un fichier Access est ouvert. Ainsi, alors même que le paramétrage ne concernera que les nouvelles bases et en aucun cas celle ouverte, il faut ouvrir une base quelconque pour accéder à la commande. Bref. Une fois une base quelconque ouverte, lancez la commande Outils/Options… puis, dans la boîte de dialogue Options, sélectionnez l’onglet Avancé et choisissez Access 2002- 2003 dans la liste Format de fichier par défaut comme dans la copie d’écran ci-après :
Ma base Clients, toujours à l’écran, reste comme convenu au format Access 2000.
3D. Ouverture d’une base existante et sécurité
Vous noterez qu’Access a un fonctionnement sensiblement différent des autres outils du Pack Office (Word, Excel et PowerPoint). Ces trois logiciels gèrent des objets (documents, classeurs ou présentations). Plusieurs peuvent être chargés en même temps. En revanche, Access ne peut traiter qu’une base à la fois. Si vous voulez ouvrir deux bases, vous aurez deux applications Access tournant simultanément ç. Cela est dû à la technicité des systè- mes de gestion de base de données : ces outils sont, sans qu’il y paraisse, très pointus. Lorsque j’ouvre une base existante (en double–cliquant sur son fichier d’extension mdb ou à partir de l’interface Access), j’obtiens des boîtes de dialogue bizarres.
Cela commence ainsi… (je choisis Non) :
å Petit rappel : Outils/Options… signifie menu Outils puis commande Options…
ç En vrai, la programmation résout cela : si l’interface graphique d’Access ne permet de tra- vailler que sur une base à la fois, vous pouvez utiliser du code VBA (liens ODBC par exemple) pour accéder aux données d’une autre base. Nous n’étudierons pas cela dans ce cours (c’est hors- programme). De plus, si vous avez besoin de réaliser ce genre de choses, c’est que votre dévelop- pement commence à être dense… et qu’Access n’est plus forcément l’outil adapté.
8 3932 TG PA 02
15
Séquence 1
Cela continue comme cela (je choisis Ouvrir) :
Ces boîtes sont une nouveauté d’Access 2003. Elles concernent la sécurité de votre sys- tème qui peut être mise à mal par des applications nuisibles. La première boîte prend en compte le mode sandbox, la seconde concerne les virus macro.
16
8 3932 TG PA 02
Synthèse
Pour le moment, il y a assez peu de choses à retenir.
L’important est de bien distinguer le rôle du SGBDR Access vis-à-vis des autres produits du Pack Office.
De plus, il est crucial d’assimiler dès maintenant l’imbrication très forte de l’ana- lyse et de la base de données : l’algorithmique est à la programmation ce que l’analyse est à la base de données. Je répète qu’il n’est concevable de passer à Access qu’une fois l’analyse conduite sérieusement.
C’est d’ailleurs un leitmotiv chez mes étudiants revenant de stage : « Oh, mon- sieur, vous aviez raison : j’ai commencé à faire la base immédiatement, mais j’étais ensuite incapable de réaliser les traitements demandés. J’ai dû recommen- cer en faisant l’analyse, ce qui m’a fort marri »å.
Un dernier argument : avoir mené l’analyse correctement vous assure que vous avez bien en tête l’ensemble du système d’information que vous allez informati- ser. Et cela, c’est déjà une base de départ solide.
Retenez enfin que quoi que vous fassiez (définition d’une table, d’un formu- laire…), vous pouvez faire apparaître la fenêtre Base de données en appuyant sur F11. Cette fenêtre est indispensable puisqu’elle permet d’accéder à tous les constituants de l’application.
å J’ai amélioré le style (mes étudiants ne parlent pas tous comme cela) mais l’idée est là.
8 3932 TG PA 02
17
Séquence 2 Les tables 1/2 : origine et création
C’est dans les tables que les données d’une base sont stockées. C’est une séquence cruciale car la qualité de la définition des tables conditionne celle de l’application finale. Comme j’ai beaucoup de choses à vous dire (c’est simple mais c’est long), la présentation des tables se fera dans deux séquences :
• dans cette séquence 2, nous verrons ce que sont les tables et comment les
créer sous Access ;
• dans la séquence 3, nous détaillerons tout le paramétrage fin des champs
constituant les tables.
u Capacités attendues
• Avoir parfaitement assimilé l’interaction entre l’analyse et la concep-
tion des tables la base de données
• Savoir créer des tables de façon rigoureuse (c’est-à-dire en exploitant
correctement les propriétés des champs)
u Contenu
1.
Introduction ............................................................................................ 20
Création des tables .............................................................................. 20 2. 2A. Introduction ................................................................................................ 21 2B. On y va ! ...................................................................................................... 21 2C. Les types des champs ................................................................................. 22 2D. Spécifier les clés primaires (et étrangères ?) ............................................ 24 2E. Faites une table vous-même ! ................................................................... 26
Synthèse
8 3932 TG PA 02
19
Séquence 2
1.
Introduction Nous allons voir comment définir des tables puis comment les remplir.
La base de données que vous allez mettre en place sera composée de tables. Une table, au sens informatique, est un ensemble d’informations se rapportant à un sujet particu- lier. Les données d’une table sont présentées sous la forme d’un tableau comportant des lignes (appelées enregistrements) et des colonnes (appelées champs). Les tables (leurs champs) sont définies dans le MLD. Ainsi, je vous rappelle l’obligation de faire un MCD puis un MLD avant de commencer le moindre développement sur Access. Ce n’est pas pour vous brimer, mais parce qu’il est tout simplement impossible, pour vous comme pour moi, d’arriver à faire de tête la définition des tables pour un cas un tant soit peu intéressant. Bien entendu, si vos tables sont mal définies, vous ne représentez pas correctement la réalité. Votre application Access ne pourra donc pas réaliser ses objectifs.
Nous avons vu dès le cours SQL que le monde de l’analyse possède un vocabulaire diffé- rent de celui des bases de données. Le tableau suivant rappelle les différents termes :
Vocabulaire MCD
Vocabulaire MLD et SGBD
Vocabulaire SQL
identifiant
Publicité
propriété
occurrence
clé primaire
champ
enregistrement
entité ou association
table
champ
enregistrement
table
Sans refaire de démonstration comme dans le cours d’analyse, je vous rappelle juste que la différence de nom n’est pas aussi arbitraire et lourde qu’il y paraît : les concepts sont voisins mais pas tout à fait identiques puisque chaque univers (l’analyse et la base de données) apporte sa structuration.
2.
Création des tables Il y a trois façons de créer une table. Il est possible :
• d’utiliser un atelier de génie logiciel (AGL) qui, partant du MCD, va générer le MLD puis les tables dans Access. Vous n’avez alors rien à faire sous Access mais il n’y a pas de miracle : ce que vous ne ferez pas sous Access, vous devrez le faire avec l’AGL. Nous verrons cela dans la séquence 5 ;
• d’exécuter des requêtes SQL du langage de définition des données (voir le support
SQL, séquence 8) ;
• de définir les tables à la main depuis la fenêtre Base de données. Il s’agit alors sim- plement de donner la liste des champs avec leur type et de définir une clé primaire. C’est ce que nous allons voir maintenant.
Créer les tables ne revêt aucune difficulté. Il suffit de le faire. C’est long, pas très mar- rant, mais facile et indispensable. C’est en effet une étape cruciale où les malfaçons se payent très cher. En effet, si vous définissez mal un champ, vous devrez revoir tous les formulaires et le code où il apparaît pour les corriger. Plus vous en êtes aux fondations de votre application, plus les erreurs sont coûteuses à corriger. D’où l’importance d’un MCD et d’un MLD corrects.
20
8 3932 TG PA 02
Les tables 1/2 : origine et création
2A.
Introduction C’est la façon la plus naturelle pour un projet de taille normale où vous ne disposez de toute façon pas d’un AGL. Nous allons créer la base de données Bibliothèque contenant deux tables définies ainsi dans le MLD :
Livre (NumLivre, Titre, NbrPages, DateAchat, PrixAchat, NumAuteur#) Auteur (NumAuteur, NomA, PrénomA, DateNaissanceA)
Légende : clé primaire, clé étrangère#
Pouvons-nous nous lancer bille en tête ? Non, bien sûr, car si nous avons le nom des diffé- rents champs, nous n’avons pas leur type. Il faudrait en théorie se référer au dictionnaire des données pour les avoir. J’ai bien dit en théorie car ici les noms des champs indiquent explicitement leur type.
2B. On y va !
Pour créer la table, c’est simple ! Dans un premier temps, créez une base de données Bibliothèqueå. Ensuite, faites les deux étapes suivantes :
1. dans Objets, sélectionnez (cliquez sur) Tables ; 2. dans la barre d’outils, cliquez Nouveau.
1re étape : cliquez ici.
2e étape : cliquez là.
J’ai appliqué le paramétrage défini dans la séquence précédente : ma base est au format de fichier 2002–2003 et je n’ai plus d’assistant affiché.
Avant de continuer, observez la copie d’écran ci-dessus et comparez-la avec la fenêtre base de données que vous avez sur votre écran. Notez que vous avez accès à trois boutons :
• Nouveau crée une table. C’est cette commande que vous devez utiliser ;
• Modifier modifie la structure d’une table : vous pouvez ajouter, modifier ou sup- primer des champs. Comme aucune table n’est sélectionnée (et pour cause, la base n’en contient pas), cette commande est inactive ;
• Ouvrir permet de visualiser, ajouter ou modifier les données d’une table (ouverture de la table en mode Feuille de données). Comme aucune table n’est sélectionnée, cette commande est inactive.
Une fois Nouveau sélectionné, vous obtenez un menu proposant cinq choix possibles. Cliquez sur les différentes propositions dans la partie droite. La partie gauche vous donne alors un (bref) descriptif.
å Vous avez appris à faire cela dans le paragraphe 3C de la séquence 1. Je ne peux que vous conseiller de créer un dossier (du genre Z:\BTSIG 1re année\Alsi\Access) pour stocker vos dif- férentes bases de données.
8 3932 TG PA 02
21
Séquence 2
Choisissez Mode Création et validez. Vous obtenez alors la fenêtre suivante :
Le triangle matérialise le champ que l’on est en train de définir.
Chaque ligne correspond à un champ de la table.
Zone d’aide sur la saisie en cours.
Ici (dans l’onglet Général) figurent les propriétés (caractéristiques) du champ en cours ; pour l’instant, aucun champ en cours donc il n’y a rien.
Vous remarquerez que nous allons rentrer les différents champs dans un tableauå (un par ligne). Chaque champ sera caractérisé par trois informations :
• son nom (obligatoire). Il peut être composé de caractères quelconques, dont des espaces. Cela dit, utiliser des espaces rendra l’écriture des requêtes et des formulai- res plus complexe. Je vous recommande de n’écrire le nom du champ que sous la forme d’un mot et de mettre par exemple DateLecture au lieu de Date de lecture ; • son type (obligatoire), à savoir le type des données qu’il contiendra. La saisie est
aisée puisqu’une liste déroulante vous propose les différents types possibles ;
• une description (facultative). C’est une phrase en français explicitant si besoin est la
signification du champ.
2C.
Les types des champs Remplissez le tableau pour avoir la même chose que moi. Lors de la définition des dif- férents types de champs, observez bien le contenu de l’onglet Général en bas à gauche dans la fenêtre ; il indique les différentes propriétés du champ courant. N’hésitez pas à utiliser F1 quand la zone d’aide vous le propose pour lire la description des différents types et propriétés.
(il est clair que cette table permet de stocker des informations sur des livres.)
å Access se définit par Access (de même qu’un compilateur VB peut être écrit en VB). Ainsi, les descriptions des tables que vous créez sont stockées dans des tables système. Pour le voir, menu Outils/Options…, onglet Affichage, rubrique Afficher, cochez Objets système. Décochez cette case après avoir vu les tables.
22
8 3932 TG PA 02
Les tables 1/2 : origine et création
Vous remarquerez que les types ne sont pas définis très finement : on ne distingue par exemple pas les entiers des réels… pour le moment ! Cela se fera dans l’onglet Général. Pourquoi NumLivre est-il en NuméroAuto et NumAuteur en Numérique ? Nous allons l’expliquer dans quelques lignes. Voici un résumé des différents types de données. Pour plus d’explications, cherchez dans l’aide en ligne !
Type de données
Texte
Mémo
À quoi correspond le type
Remarque ou exemples de valeur
Caractères alphanumériques (tous les caractères du clavier). C’est le type par défaut proposé par Access. Il permet de stocker 255 caractères au maximum
"Bonjour !" "Alice au pays des merveilles"
Quelques phrases ou paragraphes (65 536 caractères maximum)
Pour stocker du texte, utilisez Texte. Si la longueur dépasse 255 caractères, utilisez Mémo.
Numérique
Valeur numérique (entière ou réelle)
12 4,56
Date/Heure
Date et heure (ou que date, ou que heure)
07/12/2008 12:30:00 dimanche 7 décembre 2008 le choix d’affichage (date et/ou heure, format) sera défini dans un second temps.
Monétaire
Valeur monétaire (numérique) (avec le symbole € si les paramètres rég