![]()
Pour suivre cette leçon, vous devez avoir suivi les leçons précédentes. Ou plus précisément, vous devez être en possession de la base de données procd.mdb telle qu'elle était à la fin de la leçon précédente. Si vous n'êtes pas certain de l'avoir, vous pouvez la télécharger ici
| La fois passée, nous avons passé en revue les différentes options des relations lorsqu'une intégrité référentielle lie les tables, ce qui permet rigueur et souplesse à la fois au niveau des différentes tables |
| Dans cette leçon, nous alons apprendre qu'Access est une porte ouverte sur le monde, et que c'est un "ami d'enfance" d'Excel. En effet, Access et Excel ne sont pas du opposés, mais au contraire, très complémentaires, ils peuvent marcher main dans la main : En effet, Access et Excel ont chacun leurs atouts, et l'un n'exclut pas l'autres ... Là ou Access permet une sécurité accrue, Excel permet une souplesse inégalée. Là ou Excel offre les tableaux croisés dynamiques d'excellente facture, Access nous offre une interface utilisateur (les frmulaires, que nous n'avons pas encore vu) impeccable. Bien entendu, il faut que vous disposiez d'Excel, et que vous le connaissiez au moins un tout petit peu pour suivre cette leçon, mais bien rares sont les gens ou les entreprises qui disposent d'Access mais pas Excel (Par contre l'inverse est plus courant : Certaines entreprises n'ont qu'Excel) |
Absolument. C'est le sujet de cette leçon. Marche à suivre :
(NE PAS OUBLIER !!!)
, et cliquez sur
, et cliquez sur
"Suivant"
, "Première ligne
contient les en-têtes de colonnes" veut simplement dire que si vous la cochez,
la première ligne d'Excel contient les champs : C'est à dire qu'il y a un
champ NomFournisseur et un champ Téléphone. Si vous retirez cette coche, celà
voudra dire que vous avez votre premier fournisseur qui s'appelle réellement
NomFournisseur, et que son téléphone est réellement "Téléphone". Bon, dans
notre cas, c'est bien la première ligne qui contient les en-têtes de colonnes
(les champs). Cliquez sur Suivant
permet éventuellement d'ajouter les données d'Excel
dans une table existante. Par exemple, si ce n'était pas des fournisseurs,
mais des clients que nous aurions voulu ajouter aux clients existants, nous
aurions choisi "Dansune table existante" et chosi "T_Client", mais cette
option est très rarement utilisée. D'ailleurs dans notre cas, nous allons
cocher "Dans une nouvelle table" et cliquer sur "Suivant"
n'est pas d'une grande utilité. Elle permet de
détailler la manière dont sont importés les champs : Faut-il les indexer (nous
n'avons pas vu cette option), faut il changer les noms des champs ? Y a-t-il
des champs qu'il ne faut pas importer (sauter), etc. Ne nous attardons pas
ici, car si on veut personnaliser la table, nous aurons bien le temps de le
faire après, une fois importée. Cliquez tout de suite sur "Suivant"
, Access essaye de nous influencer, et coche par défaut
"Laisser Access ajouter une clé primaire", ce qui aurait pour effet de
simplement ajouter un champ en NuméroAuto. Bon, maintenant, nous sommes assez
grand pour savoir gérer nous même les clés primaires. Nous nous en occuperons
après. Choisissez "Pas de clé primaire", et cliquez sur "Suivant"
nous demande
simplement le nom de la table qui servira d'accueil à nos données Excel. Par
défaut, il donne le nom de l'onglet "Liste des fournisseurs". Changez ce nom
en "T_Fournisseur", et cliquez sur Terminer
Bravo ! Cliquez sur OK Vous voici en possession de votre nouvelle table, comme si vous l'aviez créée
dans Access :
. Vous pouvez la remodeler comme bon vous semble. Par exemple,
nous allons remplacer le champ Téléphone par Tel et mettre une clé primaire sur
NomFournisseur :
. En outre, vous constaterez que les deux champs sont en texte
de taille ... 255 !
ce qui est un peu grand, vous en conviendrez. Ramenez cette
valeur à 50 pour chacun des champs, et lancez en mode saisie de données : 
Oui, et c'est plus simple.
Et voilà ! Votre table est maintenant sous Excel !
Alors oui, théoriquement ce devrait être possible, mais j'ai constaté que très souvent Access (ou Excel je n'en sais rien) est buggé. Nous allons essayer tout de même.

. Dites Oui (pour que "Meuble" soit considéré comme
le nom du champ, pas comme un meuble)
Mais quand j'essaie, j'obtiens ce message d'erreur qui était déjà présent lorsque j'utilisais Access 97 :

Ce qui fait que pour passer d'Excel à Access, on doit, dans Access, faire Fichier/Données externes/Importer... C'est comme ça... Bon ce n'est pas vraiment gênant !
Presque. Mais il faut juste savoir qu'Access, contrairement à Word et Excel et bien d'autres programmes, n'accepte PAS d'ouvrir 2 bases de données à la fois. Si vous avez une base de données déjà ouverte, et que vous essayez de faire Fichier/Ouvrir une autre base de données, Access va fermer la précédente.
Quasiment. Mais ceci dit, nul besoin d'ouvrir 2 bases de données en même temps... On peut très bien ouvrir une base, copier la table qu'on désire mettre dans l'autre, fermer la base, ouvrir l'autre base, et coller la table. Je m'explique par un cas pratique : Admettons que vous désirez passer votre table T_Client que vous avez dans votre base habituelle procd.mdb vers une nouvelle base de données qui s'appellerait par exemple Nouveau.MDB. Marche à suivre :
, donnez un nom à la table (T_TrucMachin)
Et voilà. Vous vous retrouvez avec une copie conforme de T_Client dans votre nouvelle base de données
Non. Il y a une autre méthode pour faire des importations massives. C'est simplement Fichier/données externes importer. Allez dans une nouvelle base de données, et je vais vous expliquer comment faire pour importer toutes les tables de procd.mdb d'un seul coup :
, cliquez sur l'onglet Table, et cliquez sur les différentes
tables que vous voulez importer (Par exemple, T_Ami, T_Fournisseur et T_Pays)
*Paradox est un autre programme de bases de données, concurrent d'Access
Oui. Pour visualiser les différents formats d'importation, dans Access, allez
dans le menu Fichier/Données externes/importer, et cliquez sur la liste du bas
"Type de fichiers" :
pour visualiser les différents formats pris en compte :
(Vous ne les
voyez pas tous à la fois, il faut que vous cliquiez sur l'ascenseur vertical à
droite)
Mais ceci dit, il est tout de même possible que vous n'ayez pas tous ces formats possibles. En fait, il s'agit d'une opération assez exceptionnelle que de devoir importer des données d'autres formats. Par exemple, vous pouvez très bien ignorer totalement Paradox, et n'avoir absolument aucune utilité de l'importation de Paradox. Aussi, lors de l'installation d'Access (En fait, la plupart du temps quand vous installez Office), Microsoft à jugé bon de ne pas incorporer tous les formats de conversion parce que mine de rien, ça prend de la place sur le disque, tous ces additifs...
En fait, il y a toute une série de choses dans le genre qu'Office n'installe pas lorsqu'on demande une installation "Standard". Personnellement, j'ai pris l'habitude d'installer Office (et surtout Access) avec TOUTES les options. C'est vrai qu'il y en a certaines dont je ne me servirai jamais, mais au moins je suis tranquille. Et puis avec la taille des disques dur actuels, pourquoi se priver !
Voici donc la marche à suivre pour ajouter tout ce qui manque à Office 2000* :
* Pour Office 97, la présentation est un tout petit peu différente, mais le principe est le même
ATTENTION : Si vous désirez suivre cette procédure, vous devez tout éteindre, y compris internet (C'est conseillé en tout cas). Imprimez ou retenez à peu près par coeur la marche à suivre, et allez-y, une fois qu'il n'y a plus aucun programme ouvert.
Il va vous falloir vous munir de votre CD d'installation d'Access (ou
d'Office) Eh oui... Il faut que vous l'ayez, et une fois que vous l'avez inséré
dans votre lecteur de CD ROM, après quelques secondes, vous avez une boîte de
dialogue qui apparait. Cliquez sur
, puis sur OK (ou Installer.., enfin bref le bouton en
bas à droite), et dans la boîte de dialogue suivante cliquez sur "Microsoft
Office", ce qui fera apparaître un menu. Choisissez "Tout exécuter à partir du
disque dur", et sur le bouton "Mettre à jour":
. Suivez ensuite les
instructions, et tout à la fin revenez dans Access. Vous devriez avoir alors
d'autres formats présents lorsque vous faites Fichier/Données
externes/importer.
C'est quoi ça Basopro ????
OK. Bon admettons que vous travaillez avec Basopro, qui est, on va dire un système de bases de données très peu répandu. Alors, non, Access ne peut pas importer Basopro, mais peut être que Basopro, peut ... EXPORTER vers Access
Eh oui... tout simplement
Alors, dans ces cas là, dans Basopro, je copie les tables, ou les tableaux de Basopro, et je les colle dans Excel. Une fois les données dans Excel, on est sauvé, parce qu'Access reconnait Excel.
Oui. vous cliquez sur la table que vous désirez exporter par exemple en
Paradox, et pour la transformer, vous choisissez Paradox dans "Type de fichiers"
:
.
Exactement. Après, vous donnez un nom au fichier (Il donne T_Client par défaut si vous avez sélectionné T_Client - ce sera un fichier T_Client.db)
Vous avez tout compris. Et heureusement qu'il y a cette souplesse... Sinon vous vous rendez compte comme tout serait rigide... Là, vous pouvez changer de système de bases de données comme vous voulez : Tout à coup vous ne voulez plus travailler avec Access, mais vous avez eu le coup de foudre pour DBase par exemple, et vous voulez récupérer vos données qui étaient sous Access : C'est possible.
Mais il a un ordinateur quand même, votre collègue ?
Ah oui, pas grand chose effectivement*
*Le bloc-notes est un tout petit petit traitement de texte qui est fourni avec Windows que vous trouvez si vous faites Démarrer/Programmes/Accessoires/Bloc-notes
Et bien si ! On peut lui envoyer une table malgré tout. Nous allons pour ce faire exporter la table en format texte, qui est le format le plus basique qu'on puisse trouver, et qui a donc l'immense avantage de pouvoir être lu par n'importe quel ordinateur.
Absolument, oui. C'est réellement un format universel. Pour ce faire, et pour
bien comprendre, vous allez créer une table T_Ami, comme ceci :
, que vous allez remplir
comme ceci : 
Ensuite, vous quittez cette table, et vous la sélectionnez simplement en
cliquant une fois dessus :
et vous faites Fichier/Exporter.
Choisissez l'endroit ou vous voulez placer ce fichier texte : 
Comme nom de fichier, écrivez ListeAmi, et Type de fichier, choisissez
"Fichiers Texte (*.txt; *.csv; *.tab; *.asv)
, et cliquez sur
Enregistrer.
Vous arrivez dans la boîte de dialogue suivante :
. Choisissez "Délimité -
Des caractères (tabulation, virgule, ...) séparent chaque champ". Vous avez un
exempe de ce que ça va donner dans le fichier texte résultant dans "Format
d'exportation exemple" : "Androssi";"Alberto";"Angoulème", c'est à dire que les
données vont être encadrées par des guillemets. Si vous cliquez sur "Longueur
fixe" (Vous pouvez essayer pour voir), alors, les données vont être bien
alignées. On pourrait trouvrer que cest plus esthétique, mais ça dépend des cas,
car avec l'histoire des guillemets et des points virgules, on voit bien que pour
Eugène. le premier et le 3ème champ sont vides ("";"Eugène",""), tandis qu'avec
Longueur Fixe, c'est peut être moins net.
Cliquez sur "Suivant".
Vous arrivez ici :
. Choisissez Point-Virgule pour le délimiteur qui séparera vos
champs (Essayez de cliquer sur Virgule ou Espace pour voir ce que ça donnerait
si vous les choisissiez).
Mettez une coche dans "Inclure les noms de champs sur la première ligne", ce qui va inclure comme première ligne "NomAmi";"Prenom";"Ville".
Délimiteur de texte : Laissez le "guillemet". Si vous Choisissez 'l'apostrophe', ce sera simplement une apostrophe qui séparera chaque champ. Cliquez sur Suivant.
Nous sommes au bout de nos peines :
. Access nous demande
juste de bien vérifier le nom et l'emplacement du fichier de destination (C:\Mes
Documents\ListeAmi.txt). Cliquez sur Terminer :
, et OK.
Vous avez maintenant à votre disposition un fichier ListeAmi.txt qui contient la table T_Ami. Nous n'allons pas voir ici comment l'envoyer par E-Mail car ça sortiraiut du cardre du cours, mais nous allons surtout voir si on peut effectivement l'ouvrir avec le bloc-notes.
Ouvrez le bloc-notes (Démarrer/Programmes/Accessoires/Bloc-notes). Dans le
bloc-notes, faites Fichier/Ouvrir, allez chercher ListeAmi.txt là ou vous l'avez
mis (
).
Vous devriez obtenir ce résultat :
"NomAmi";"Prenom";"Ville"
"Androssi";"Alberto";"Angoulème"
"Barras";"Bernard";"Bruxelles"
"Channey";;"Cologne"
;"Daniel";"Dublin"
;"Eugéne";
Les champs vides étant remplacés par rien. Pour rappel, table d'origine ressemblait à ceci :

Et voilà...
| Access est ouvert sur le monde : Avec parfois un peu d'astuce, il est possible d'importer n'importe quoi dans Access, et d'exporter les tables Access vers n'importe quoi. La commande Fichier/Données externes/Importer permet d'importer des données depuis un grand nombre de formats, tandis que Fichier/Exporter permet d'envoyer les tables Access dans un grand nombre de formats de données. Si on ne trouve pas un certain fromat de fichier dans Fichier Exporter, il est possible de réinstaller Office avec toutes les options. Et quand bien même on aimerait envoyer une table à une personne qui n'a aucun système de gestion de bases de données, on a toujours la possibilité de lui envoyer les tables en format texte. Pour passer des données vers Access alors que celles-ci ne sont pas vraiment bien "rangées" - par exemple si elles sont sous forme de liste mal fichue sous word, et difficilement importables directement dans Access, on peut toujours utiliser le très souple Excel, qui va permettre de remettre les données sous forme de tableau bien "rangé", et va ainsi jouer le rôle de "metteur en forme intermédiaire" |
Pour voir les solutions, il vous suffit de sélectionner le questionnaire ci-dessus : 3 petites étoiles *** apparaîtront en face des bonnes réponses. |
|
L'exercice consiste à créer une nouvelle base de données que vous appellerez Importation.mdb. Dans cette base entièrement vide, vous allez importer un fichier qui a été créé dans un format de base de données que je ne vous révèle pas. Avant de l'importer, il faut bien entendu que vous le téléchargiez. Cliquez ici pour télécharger ce fichier surprise. Une fois téléchargé, vous l'importez dans votre base Importation.mdb, et vous lui donnerez le nom T_Surprise (Pour renommer une table, cliquez simplement dessus avec le bouton droit de la souris, et choisissez Renommer) La 2ème partie de l'exercice consiste à Exporter cette nouvelle table T_Surprise dans un fichier en format texte (txt) nommé ExportSurprise.TXT (Ne pas inclure les noms de champs sur la première ligne, Délimité, Délimitation du texte " et Caractères de séparation ; ) La 3ème partie de l'exercice n'a pas grand chose à voir avec Access, c'est seulement pour illustrer la facilité de changement de programme : Ouvrez simplement ce fichier ExportSurprise.TXT avec Excel Téléchargez les fichiers de solution : Importation.MDB et ExportSurprise.TXT |
Si vous n'êtes pas tout à fait certain d'avoir suivi correctement toutes les étapes de cette leçon, vous avez la possibilité de télécharger ici la version de procd.mdb exactement dans l'état ou elle devrait être à la fin de cette leçon.
| Lors de la prochaine leçon, nous changeons totalement de sujet. Nous allons voir comment trier et filtrer les tables dans tous les sens sans jamais aucun risque de mélange ! Mais pour trier ou filtrer des données, nous avons besoin d'une certaine masse de données : Plutôt que de les saisir vous-même, j'ai créé une table à votre intention qu'il faudra importer dans votre base de données... D'ou lutilité de cette leçon qui va vous servir immédiatement dans la leçon suivante ! A la find e la leçon suivante, vous ne pourrez plus perdre vos données, même si vous en avez plusieurs centaines de milliers ! |