Je traite des objets OLE dans ce même chapitre car ils ressemblent aux pièces jointes. Les champs de type OLE existent depuis fort longtemps, alors que les pièces jointes apparaissent avec Access 2007.
OLE signifie "Object Linking and Embedding", soit "Liaison et incorporation d'objets" - Objets dans le sens "Fichiers".
En bref :
- Les liens hypertextes permettent de cliquer dessus, et d'aller voir le fichier original (un seul fichier par lien hypertexte, donc)
- Les pièces jointes permettent d'intégrer une copie de fichiers qui se trouvent sur votre PC, et il faut cliquer dessus pour les visualiser.
- Les objets OLE permettent de soit intégrer la copie d'un fichier dans votre base de données (un peu comme une pièce jointe, mais un seul fichier est permis avec l'OLE), soit faire un lien vers le fichier d'origine (un peu comme un lien hypertexte).
Eh bien, les objets de type OLE permettent la visualisation du fichier directement dans Access, sans avoir besoin de cliquer dessus pour le voir. Et ça, c'est quand même drôlement sympa !
Essayons : créez un nouveau champ InfoVisuelle, en dessous de Prenom :
Insertion d'un objet OLE
Lancez la table en mode saisie de données
Cliquez avec le bouton droit de votre souris sur le champ InfoVisuelle d'Edith Piaf, choisissez Insérer un objet :
- Cliquez sur A partir d'un fichier
- Cliquez sur Parcourir
- Allez chercher votre fichier Tableau simple.xlsx où vous l'avez placé quand vous l'avez dézippé
- Cliquez sur OK, et encore OK
Il n'y a même pas le nom du fichier (Tableau simple.xlsx), et en plus, il faut cliquer deux fois dessus pour le visualiser ! Alors que je vous ai dit plus haut qu'on pouvait voir directement l'aperçu sans cliquer !
Oui, mais pas dans les tables ! On pourra seulement voir cet aperçu dans les formulaires et dans les états.
Nous n'allons pas étudier les formulaires maintenant, ce n'est pas le sujet de cette leçon, mais je vais quand même vous montrer quelque chose d'étonnant !
Faites d'abord l'exercice suivant : Dans le champ InfoVisuelle de Steven Spielberg, insérez l'image Boire ou voler.jpg (qui se trouve aussi parmi les fichiers qui sont dans le .zip du début de leçon).
Vous devriez obtenir le résultat suivant :
Constatez qu'il attribue (étrangement) le terme Package au lieu de, par exemple, image JPEG).Création d'un formulaire pour voir les OLE
Résumons la situation visuellement :
- Cliquez sur un autre enregistrement pour enlever l'éventuel petit crayon à gauche d'Edith Piaf
- Cliquez sur le ruban Accueil, puis sur Formulaire
- Cliquez sur l'icône au dessus de Affichage, en haut à gauche de votre écran :
Les pièces jointes dans les formulaires
Vous êtes maintenant dans un formulaire basé sur T_Client, et vous êtes sur le premier client (Edith Piaf).
Observez le champ InfoVisuelle : nous voyons, effectivement, comme je vous l'avais promis, le contenu du fichier Excel.
MAIS, dans Annexes, nous voyons seulement l'icône du premier fichier inclus (Commande de pizza.docx).
Pour voir les autres fichiers inclus, cliquez une fois sur l'icône Word : ça fait apparaître une mini-barre d'outils :
Cliquez sur la flèche verte (ne me demandez pas pourquoi l'infobulle affiche "avant", et pas "après" )
Et là, vous ne voyez pas une icône, mais carrément l'image Contourne Barrière.jpg
(Pourquoi ? ... je ne sais pas)
Si vous demandiez à voir le 3ème fichier (la vidéo Effet de Serre.wmv), vous verriez simplement l'icône également.(Pourquoi ? ... je ne sais pas)
Comme vous le constatez, ce n'est pas facile du tout de s'y retrouver !
Personnellement, je trouve que c'est une erreur de Microsoft de ne montrer que
la première icône dans le champs de Pièces jointes "Annexes" ! ...
Vous, vous savez qu'il y a d'autres fichiers, mais imaginez que votre
base de données soit utilisée par d'autres personnes, elles peuvent croire qu'il n'y a qu'une annexe,
si elles ne pensent pas à double cliquer pour faire apparaître la boîte
de dialogue des pièces jointes, ou à simplement cliquer pour faire
apparaître la minibarre.
Aberrations d'affichages dans les formulaires
Mais nous ne sommes pas au bout de nos surprises !
En bas de votre formulaire, vous avez des petites flèches qui vous permettent de changer d'enregistrement.
Cliquez sur la flèche droite pour aller sur le 2ème client (Steven Spielberg).
Cliquez sur la flèche droite pour aller sur le 2ème client (Steven Spielberg).
Et là, vous avez, cette fois, dans le champ OLE InfoVisuelle, une icône qui représente l'image, mais pas l'image elle-même :
On se croirait dans un sketch : Prenez une profonde inspiration !!!
Vous avez donc les images JPG dans les champs OLE qui s'affichent comme des icônes alors qu'on aurait préféré qu'elles s'affichent comme des images, alors que ces mêmes images s'affichent comme des images dans les champs pièces jointes alors que des icônes nous auraient suffi !
D'autre part, les fichiers Word ou Excel s'affichent, eux, comme des fichiers Word ou Excel en véritable aperçu dans les champs OLE, mais ils s'affichent sous forme d'icônes dans les champs Pièces jointes.
D'autre part, les fichiers Word ou Excel s'affichent, eux, comme des fichiers Word ou Excel en véritable aperçu dans les champs OLE, mais ils s'affichent sous forme d'icônes dans les champs Pièces jointes.
Voilà, c'est fini, vous pouvez respirer.
Ce problème d'affichage en icône des images est vraiment dommage, puisque ce serait tellement sympathique d'avoir, directement dans Access la photo des collaborateurs, des produits, des maisons à vendre, ...
Ces soucis d'affichage d'image dans des champs OLE sont un problème récurrent dans Access depuis de nombreuses, nombreuses années, sans que personne n'y ait jamais trouvé de solution véritable.
Il est possible que, dans votre cas, vous voyiez correctement les images en véritable aperçu. Tant mieux pour vous, mais restez calme, parce que cette situation peut changer à tout moment !
La simple installation d'un nouveau logiciel peut tout à coup vous réimposer les icones à la place des images. Si vous changez de PC, mais que vous ouvrez la même base de données, vous pourrez avoir également de souci d'affichage en icone.
Si vous connaissez une solution durable, simple et fiable, qui fonctionnne avec Access 2010 en français sous Windows 7, je suis preneur !
En conclusion, je vous propose d'utiliser plutôt le type de champ Pièces jointes, et pas l'objet OLE, avec une seule pièce jointe qui contient une image, si vous voulez une image qui apparaît directement dans votre formulaireIl est possible que, dans votre cas, vous voyiez correctement les images en véritable aperçu. Tant mieux pour vous, mais restez calme, parce que cette situation peut changer à tout moment !
La simple installation d'un nouveau logiciel peut tout à coup vous réimposer les icones à la place des images. Si vous changez de PC, mais que vous ouvrez la même base de données, vous pourrez avoir également de souci d'affichage en icone.
Si vous connaissez une solution durable, simple et fiable, qui fonctionnne avec Access 2010 en français sous Windows 7, je suis preneur !
Bien. Fermez ce formulaire (Access l'a nommé temporairement T_Client, comme votre table) sans l'enregistrer.
Les pièces jointes sont automatiquement intégrées dans la base de données. C'est à dire que si j'ai un fichier Test d'ébriété.docx sur mon PC et que je l'intègre en tant que pièce jointe dans Access, il s'agira donc une copie du fichier original qui sera intégré.Liaison ou incorporation OLE?
Par contre, avec les objets OLE, on a la possibilité de lier ou d'intégrer. Faisons le test :
- Dans le champ InfoVisuelle de Michael Jackson, insérez le fichier Test d'ébriété.docx, en cochant la case Liaison
- Double-cliquez sur ce fichier, et écrivez XXX au début du texte :
- Fermez Word, et enregistrez :
Ce qui change, c'est que si vous allez dans votre explorateur Windows, et que vous ouvrez le fichier depuis là (ou que vous alliez directement dans Word et que vous faites Fichier/ouvrir), vous constaterez que le fichier d'origine a changé : il contient bien XXX au début du texte.
Si vous déplacez le fichier d'origine dans un autre dossier, ou que vous le renommez, le lien OLE ne fonctionnera plus, évidemment.
Si on n'avait pas coché la case liaison, nous aurions seulement modifié la copie locale au sein de la table Access.Pour vous en persuader, faites ce petit exercice :
Feuille de Calcul Microsoft Excel d'Edith Piaf
Modifiez Mylord (avec un y) en Milord (avec un i)
Fermez Excel, en acceptant d'enregistrer
Re-double-cliquez deux fois sur cette feuille de calcul Microsfot Excel, dans le champ InfoVisuelle, et constatez que le i a bien été pris en compte
Allez dans votre explorateur Windows
Ouvrez Tableau Simple.xlsx en cliquant deux fois dessus, et constatez que dans ce fichier original, il y a toujours le y à Mylord.
Aucun commentaire:
Enregistrer un commentaire