I have an Access 2007 database. I want to allow the users to add pictures to records. I created a table that holds just the primary key and the photo to link to the main data table. The users will be using the database "in the field", meaning they won't have access to a network, so I have to have the pictures embedded and not linked from a network location. Fortunately, the database will only have a couple hundred records so the database shouldn't grow too outrageously big.
So, how can I allow the users to add their pictures, and have the picture display, instead of the icon? I've played with OLEs and Attachments, and different file types. GIFs will only show the icon. Bitmaps display but the photos aren't GIFs. I tried PDF, which displayed, but gave me an error (I have to research that one). I've searched high and low on this forum as well as other websites, and I've seen "you can't do it", some things similar but the not the same, and a few things that didn't work. Part of the fun is that different pictures may be in differernt formats, but probably GIF and TIFF.
I can do without the picture dislaying in the form, but I really, really need the pictures to display on the reports.
Be very careful: storing BLOBs (Binary Large Objects) such as pictures in an Access database usually is a receipe for a disaster. Access does not handle these gracefully and a couple hundred picture data can represent a large amount. The recommended solution consists in storing the picture files in a dedicated folder, then store the full name of the file (path + name + extension) in the database.
Another concern is that you're talking about users (as in plural form) working with the database "in the field" (i.e. disconnected from a network). This should not prevent you from splitting the database (Front-end + Back-end), but my question is: How to you intend to reconcile the data from the different copies of the back-ends into a single concictent database?
Several controls, either native in Access or external, have a LoadPicture method (or something equivalent) that can be used to load a picture file for its rendition by the control. Most of these controls also have a .Picture or a .Image property that can be used to copy the loaded image into a variable of type Object and save it to a memo field. In any case you'll probably have to write your own functions to perform these operations.
Moreover, as you mention that the pictures can be in various formats, you'll perhaps to use different controls for different formats. The only control I know (which does not mean there are not several others) that can handle various picture formats is available in a product named AutoManager-View, but I did not used it for several years and don't know if it's still on the market.
Thanks for the help and thoughts. From what I've seen, there's just no way around linking to the pictures that are stored outside the database. I probably won't be able to get any additional software to help (even if it's free), but I'll think about your ideas for coding.
Since you asked, there won't be a central database, at least not for now. The database's primary purpose is data entry control for forms, so when they've done their stack of forms, they can put the database aside. The forms move on to a document management system from there. Sounds crazy, but it's better than what we've got right now.