Existe-t-il un moyen d'obtenir un accès MS pour afficher des images à partir de fichiers externes

StackOverflow https://stackoverflow.com/questions/40112

  •  09-06-2019
  •  | 
  •  

Question

J'ai une application MS-Access (1/10ème MS-Access, 9/10ème MS-SQL) qui doit afficher des photographies de certains actifs ainsi que leurs spécifications.Actuellement, les images sont stockées dans une table MS-Access en tant qu'objet OLE (et copiées-collées dans le champ par les utilisateurs).

Pour diverses raisons, j'aimerais stocker les fichiers .jpg originaux dans un dossier sur le lecteur réseau et les référencer à partir de la partie application.J'ai envisagé de passer au type de données image MS-SQL (et à son varbinaire de remplacement), mais je pense que ma population d'utilisateurs comprendra plus facilement le concept de dossier réseau.

Comment puis-je demander à MS Access d'afficher le contenu d'un fichier .jpg ?

Était-ce utile?

La solution

Une autre option consiste à mettre un contrôle d'image sur votre formulaire.Il existe une propriété de ce contrôle (Image) qui est simplement le chemin d'accès à l'image.Voici un court exemple en VBA de la façon dont vous pourriez l'utiliser.

Txtphoto serait une zone de texte liée au champ de la base de données avec le chemin d'accès à l'image ImgPicture est le contrôle d'image L'exemple est un événement de clic pour un bouton qui passerait à l'enregistrement suivant.

Private Sub cmdNextClick()
    DoCmd.GoToRecord , , acNext
    txtPhoto.SetFocus
    imgPicture.Picture = txtPhoto.Text
    Exit Sub
End Sub

Autres conseils

Avez-vous regardé les solutions de Stephen Lebans ?En voici un :

Module de classe d'image pour l'accès

Consultez la liste d’autres excellents codes sur le côté gauche de cette page Web.Vous trouverez peut-être quelque chose qui correspond parfaitement à ce dont vous avez besoin.

J'ai trouvé que cet article de Microsoft avec VBA complet fonctionnait très bien pour moi.

Comment afficher les images d'un dossier dans un formulaire, un rapport ou une page d'accès aux données

Le moyen le plus simple est probablement de placer Internet Explorer sur l'un de vos formulaires.Consultez ce site : http://www.acky.net/tutorials/vb/wbrowser/

Puisque vous pouvez référencer cet objet dans Access, il vous suffira de pointer le contrôle du navigateur Web vers le chemin du .jpg (NavigateTo() si je me souviens bien).

MODIFIER: Le lien ci-dessus a été simplement recherché sur Google et sélectionné parmi les résultats (le premier qui s'est ouvert rapidement).Je ne pense pas que ce soit un très bon tutoriel, il contient juste tous les conseils dont vous avez besoin...Consultez msdn, etc.si vous avez besoin de plus d'informations !

Vous pouvez essayer un contrôle ActiveX appelé AccèsImagine, rend l'ajout d'images à la base de données plus pratique - vous pouvez charger à partir d'un fichier, numériser, coller à partir d'un tampon ou glisser-déposer.Vous pouvez recadrer l'image directement dans la base de données et la rééchantillonner automatiquement.Il gère automatiquement le stockage d’images externes si vous en avez besoin.

Notez que dans Access 2010 (et versions ultérieures), cela est très simple à faire car le contrôle Image peut être lié à un champ de la table qui contient le chemin au fichier image (.jpg, .png, ...).Aucun VBA requis.

Pour plus de détails, voir mon autre réponse ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top