Display picture in Form

G

Guest

I have an OLE data type into which I am inserting a picture. The form does
not show the picture, even though the control property is set to Contents.
When I double click the control in Form view, a new window is opened and the
picture is displayed.

I am using Access 2003 with a default file format of Access 2000. In
earlier versions of Access, including Access 2000, my experience is that the
form displays a picture.

How can I make the form show the picture? I am a sophisticated user but do
not do programming.
 
R

Roger Carlson

It is usually a bad idea to store pictures as OLE objects in the database.
The database size grows very quickly. The usual solution is to store the
path to the file in the database and then programmatically insert the
picture into an unbound image control at runtime. It *does* require some
programming, but not a lot.

On my website (www.rogersaccesslibrary.com), is a small Access database
sample called "Picture.mdb" which illustrates how to do this.

--
--Roger Carlson
MS Access MVP
Access Database Samples: www.rogersaccesslibrary.com
Want answers to your Access questions in your Email?
Free subscription:
http://peach.ease.lsoft.com/scripts/wa.exe?SUBED1=ACCESS-L
 
S

Stephen Lebans

This issue pops up daily here.
An application has to be registered to insert and then later display the
embedded Image. You have obviously installed an application that has taken
over the registration for JPG Image files. You need to change this back to
the previous application that was functionaing correctly as an OLE Server
for JPG images.

The anwer to your second question, why are inserted JPG files smaller than
BMP files, is complex to say the least. In addition to storing an
uncompressed copy of the original BMP or JPG image, a preview of the Image
must be stored as well. This public preview Stream must be stored in a
standard uncompressed format(DIB). Finally, the OLE Server application can
store whatever it wants or requires within the private data field of the
embedded or linked OLE object. Some apps will compress the bitmap of the
original file as it lies within their private data Stream, but most do not.


If you need detailed info on the exact makeup of the Structured Storage OLE
objects see the OLE object Extraction tool on my site.


Here is a previous post of mine on a relevant issue:


The relevant Microsoft KB article is here:
http://support.microsoft.com/default.aspx?scid=kb;en-us;832508&Product=a


Images that are stored in OLE object fields do not appear correctly
View products that this article applies to.
Article ID : 832508
Last Review : May 3, 2005
Revision : 2.0


This article applies only to a Microsoft Access database (.mdb).


Novice: Requires knowledge of the user interface on single-user computers.
On This Page
SYMPTOMS
CAUSE
WORKAROUND
Install Microsoft Photo Editor
Display the images from a folder
MORE INFORMATION
Steps to reproduce the behavior
REFERENCES
SYMPTOMS
When you store an image file in a table as an OLE object in Microsoft Office
Access 2003, and then you try to display the stored image by embedding or by
linking the image file in a form, a report, or a data access page, you may
not be able to view the image. Additionally, you may notice that the file
icon displays the file name instead of the image itself.
Back to the top


CAUSE
This problem occurs because Access 2003 cannot find the OLE Server that can
correctly interpret the OLE object header information.
Back to the top


WORKAROUND
To work around this problem, use one of the following methods:
Back to the top


Install Microsoft Photo Editor
You can install Photo Editor from the Microsoft Office XP CD-ROM. To do
this, follow these steps: 1. Insert the Office XP CD-ROM in your CD-ROM
drive or in your DVD-ROM drive.
2. If the Office XP Setup program does not start automatically, follow
these steps: a. Click Start, and then click Run.
b. In the Run dialog box, type the following command in the
Open box:


<CD Drive>:\Setup.exe
c. Click OK.


3. Follow the instructions in the Office XP Setup Wizard.


Make sure that you select the customized installation.
4. When you reach the Selecting Features step, set each node of the
Setup tree to Not Available.
5. Under Features to install, expand Office Tools.
6. Click Microsoft Photo Editor, and then click Run from My Computer.
7. Click Install Now.
8. Click OK when the Office XP Setup program is completed
successfully.


Back to the top


Display the images from a folder
Instead of storing the images inside the table as OLE objects, you can store
the image file paths and the image names in the table and then display the
images by using an image control. When you use an image control inside a
form or a report, Access does not require the OLE Server to display the
images in the image control. For more information, click the following
article number to view the article in the Microsoft Knowledge Base:
285820 (http://support.microsoft.com/kb/285820/) How to display images from
a folder in a form, a report, or a data access page
Back to the top


MORE INFORMATION
When you install Microsoft Office 2003, the Setup program removes all the
standard components from Office XP (such as Photo Editor) that you
previously had installed on your computer. As a result, Access 2003 cannot
find the OLE Server that can display an image file (such as a .jpg file or a
..gif file), and you cannot view the embedded graphic files or the linked
graphic files.
Back to the top


Steps to reproduce the behavior
1. Start Access 2003.
2. Open the Northwind.mdb sample database.
3. In the Database window, click Tables under the Objects section.
4. In the right pane, double-click Create table in Design view.
5. Create a table that is named TestImage with the following details:


Table: TestImage
Field Name: FldImage
Data Type: OLE Object
6. Open the TestImage table in datasheet view.
7. In datasheet view, right-click the FldImage field, and then click
Insert Object.
8. Select Create from File, and then click Browse.
9. Locate the .jpg image file. Select the .jpg image file, and then
click OK.
10. Click OK.
11. On the File menu, click Close.
12. In the Database window, click Forms under the Objects section.
13. In the right pane, double-click Create form by using wizard.
14. In Form Wizard, select Table: TestImage from the Table/Queries
drop-down list.
15. Click >> to move all fields from the Available Fields list to the
Selected Fields list.
16. Click Finish.
17. If the form is not already open in form view, open the form in
form view.


Notice that when you view the data in the table in datasheet view, the
value of the OLE object is shown as a package image or as a bitmap image.
Additionally, when you view the form that displays the OLE object in form
view, the embedded image file does not appear. However, you can see the file
icon for the image file that is embedded in the form.


Back to the top


REFERENCES
For more information, click the following article number to view the article
in the Microsoft Knowledge Base:
817095 (http://support.microsoft.com/kb/817095/) Microsoft Photo Editor is
removed when you install Office 2003
Back to the top


---------------------------------------------------------------------------­­­-----


APPLIES TO
. Microsoft Office Access 2003



--

HTH
Stephen Lebans
http://www.lebans.com
Access Code, Tips and Tricks
Please respond only to the newsgroups so everyone can benefit.
 
A

Andy

Hi;

A few of my Clients have the same problem w/Images.

The Install or Re-Install Photo Editor DID NOT WORK on those machines. Was
getting the name of the file instead of the image itself, (did not matter if
linked or inserted).

Discovered two work arounds by trial and error.

On two machines we open the image in "Paint" first, then back in Access
insert the image normally. (Don't know why Paste doesn't work on these
machines)
On the others open the image in "Paint", Select All, Copy. Then paste it
into the control.

Not pretty but it works.

Andy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top