6

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?

BIBD
  • 14,789
  • 24
  • 82
  • 131

6 Answers6

7

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
WaterBoy
  • 523
  • 1
  • 5
  • 7
3

Have you looked at Stephen Lebans' solutions? Here's one:

Image Class Module for Access

Check out the list of other great code along the left-hand side of that web page. You may find something that fully matches what you need.

Marc Gravell
  • 976,458
  • 251
  • 2,474
  • 2,830
David-W-Fenton
  • 22,503
  • 4
  • 44
  • 55
  • This may get the job done, but I'm reluctant to follow a tutorial from 2002 using Access 97 in the year 2013. – StockB Sep 25 '13 at 11:23
  • Sadly access didn't develop too far from what it was when leban wrote those tutorials. I recently did some graphic works in access and those came in very handy - actually they were the best resources I could find in this regard. – Johanness May 29 '14 at 20:57
2

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

Fionnuala
  • 89,471
  • 7
  • 106
  • 145
0

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.

0

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.

Community
  • 1
  • 1
Gord Thompson
  • 107,466
  • 28
  • 191
  • 387
0

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!

Daren Thomas
  • 65,080
  • 40
  • 147
  • 198