OLE embedding query

B

BarryG

I have an OLE field in a table. When I insert an object, if I select "Create
from File" and browse to a jpg to insert a photo, It tells me that the jpg
is of type "HTML document" and inserts the path and filename. If I "Edit the
object", the jpg is opened with my photo editor OK, but I want it to display
the photo, not the filename in a bound OLE frame on a form.
When I do the insert, if I instead select "Create New", and select
"Photoshop Image" from the list, when I insert the photo, the photo shows
the name "Photoshop image" in the table, displays OK in a form.
How can I get the jpg file recognised as type "Photoshop image", rather than
HTLM Document"?

Thanks,
BarryG
 
S

Stephen Lebans

You need to associate the JPG file extenstion with Photoshop. Currently, it
sounds like Internet Explorer is registered to display JPG files. Here is
previous post of mine on this subject:

Newsgroups: microsoft.public.access.forms
From: "Stephen Lebans"
<ForEmailGotoMy.WebSite.-WWWdo­tlebans­[email protected]> - Find
messages by this author
Date: Mon, 29 Nov 2004 20:52:36 -0400
Local: Mon,Nov 29 2004 7:52 pm
Subject: Re: .jpg pictures are allowed to store as OLE objects?
Reply to Author | Forward | Print | Individual Message | Show original |
Report Abuse


The format of the image file is completely independant of Access. It is
the responsibility of whatever Image/Paint program is currently
registered with WIndows to view the Image file types and act as the OLE
server for the object inserted into the OLE object field.
MS Photo Editor is generally used as the OLE server for Access. It must
be setup and registered to handle the selected image file types.


Before I explain how to setup Photo Editor to be registeredd for the
relevant Image file types one note of caution. Images embedded as OLE
objects will quickly fill up your MDB. A small 40KB JPG can end up
consuming several MB's in storage space. If you are planning on storing
a large number of images or even a few extremely high resolution images
then you should not be using OLE.


Why do Images embedded as OLE objects take up so much storage space?


In a nutshell:
An Image inserted as an OLE object is no longer the same size as the
original file. It is converted to a DIB(uncompressed Bitmap) and then
wrapped in a EMF(Enhanced Metafile). THe EMF is then wrapped within the
OLE stream. Further, if the original Image was not a Bitmap or Metafile,
then another full size DIB preview is inserted into the OLE stream.


THe only reasons to use an OLE object field are if you require:


1) The ability for your users to Edit the Image in the Program that acts
as the OLE server.
2) The ability to view the Images with a Form in Continuous View.
3) The Images are embedded for security concerns.


In reality, the enormous OLE file size "bloating" stops most users from
inserting more than a few images. With the exception of viewing the
images with a Form in Continuous view, coding solutions for the other 2
issues are available.


The most common solution is to simply keep the images in a seperate
folder storing the filenames only in a Text field. Using the Current
event of the Form or the Format event of the relevant section on a
Report, place a line of code to load the picture into the standard Image
control NOT the OLE Frame control.


Me.NameOfPictureControl.Pictur­­e =
Me.NameOfTextBoxBoundToFileNam­­eField


There is lots of sample code out there complete with error checking.
Search GoogleGroups.


******************************­­***************
Here is a previous post of mine on for how to setup MS Photo Editor:
Message 4 in thread
From: Stephen Lebans
(ForEmailGotoMy.WebSite.-WWWdo­­[email protected])
Subject: Re: Inserting picture into an access form


View this article only
Newsgroups: microsoft.public.access.active­­xcontrol
Date: 2004-11-12 19:43:08 PST


In this case the OLE server is simply an Image/paint program that:
1) Can function as an OLE Image server
2) Is registered to handle the specific Image file types you want to
insert into the OLE obect field.


In most cases, MS Photo Editor is used as the OLE Server program. It
must though, be setup as the default/registered handler for the image
file types in question. MS Photo Editor is no longer included with
Office 2003. YOu will have to find you Office XP or WIn2K disks and
install MS Photo Editor only!


The simplest method to associate a program with a specific file
extension(BMP,JPG,etc.) is to:
1) Open a folder containing the Images you want to insert.
2) Right click on a file while holding down the SHift key.
3) From the popup menu select "Open With".
4) Scroll down the Open With Dialog window until you find MS Photo
Editor and select it.
5) Check the Always use this program to open this file type CheckBox
control.
6) Click OK.


Repeat the steps once for each different type of Image file you want to
embedd in your table.
******************************­­***************



--

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

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