Advertisement
Advertisement


Is there a way to get ms-access to display images from external files


Question

I've got an MS-Access app (1/10th MS-Acccess, 9/10ths MS-SQL) that needs to display photographs of some assets along with their specifications. Currently the images are stored in an MS-Access table as an OLE Object (and copy-n-pasted into the field by the users).

For various reasons, I would like to do is store the original .jpgs in a folder on the network drive, and reference them from the application portion. I have considered moving into MS-SQL's image data type (and its replacement varbinary), but I think my user population will more easily grasp the concept of the network folder.

How can I get MS Access to display the contents of a .jpg?

2008/09/12
1
6
9/12/2008 7:02:01 PM

Accepted Answer

Another option is to put an image control on your form. There is a property of that control (Picture) that is simply the path to the image. Here is a short example in VBA of how you might use it.

txtPhoto would be a text box bound to the database field with the path to the image imgPicture is the image control The example is a click event for a button that would advance to the next record.

Private Sub cmdNextClick()
    DoCmd.GoToRecord , , acNext
    txtPhoto.SetFocus
    imgPicture.Picture = txtPhoto.Text
    Exit Sub
End Sub
2008/09/03
7
9/3/2008 1:44:05 AM


I found that this article by Microsoft with full VBA worked very well for me.

How to display images from a folder in a form, a report, or a data access page

2008/09/03

The easiest way is probably to plop an Internet Explorer onto one of your forms. Check out this site: http://www.acky.net/tutorials/vb/wbrowser/

Since you can reference that object in Access, you will only need to point the webbrowser control to the path of the .jpg (NavigateTo() if I remember correctly).

EDIT: The above link was just googled and picked from the results (first one that opened quickly). I do not think it is a very good tutorial, it just has all the pointers you need... Check out msdn etc. if you need more information!

2008/09/02

You can try an ActiveX control called AccessImagine, makes adding images to database more convenient - you can load from file, scan, paste from buffer or drag-n-drop. You can crop image right inside the database and resample it automatically. It handles external image storage automatically if you need it.

2009/07/04

Note that in Access 2010 (and later) this is dead simple to do because the Image control can be bound to a field in the table that contains the path to the image file (.jpg, .png, ...). No VBA required.

For more details see my other answer here.

2017/05/23

Source: https://stackoverflow.com/questions/40112
Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Email: [email protected]