Linked OLE Objects causing database bloat?

DataMinerHome

Registered User.
Local time
Yesterday, 21:26
Joined
Jan 4, 2010
Messages
57
I have about 25 forms in my database (Access 2007), each of which contains between 3 and 6 unbound object frames. All of these are linked, NOT imbedded. Yet the presence of these linked OLE objects seems to cause the db to bloat, by something on the order of 1 to 5 MB per frame!

The links are to files external to the db, and the source doc changes with each record on the form.(Code in the on-current event handles this). The external files are either .bmp, .jpg or .pdf. But when I create the unbound object frame, Access requires me to specify "Adobe acrobat, microsoft photo editor" etc. And yet magically, when I change the source doc, Access seems smart enough to change the class and OLE class to the appropriate one.

What do you think I should be setting the OLE class to when I create the object? Should I be setting it myself somehow at runtime when I set the source doc? But isn't the OLE Class read only?

So, I am wondering if there is a better way to do this to keep my database from bloating to the size of the known universe? I don't need to be able to edit the OLE objects within Access.
 
I have about 25 forms in my database (Access 2007), each of which contains between 3 and 6 unbound object frames. All of these are linked, NOT imbedded. Yet the presence of these linked OLE objects seems to cause the db to bloat, by something on the order of 1 to 5 MB per frame!

The links are to files external to the db, and the source doc changes with each record on the form.(Code in the on-current event handles this). The external files are either .bmp, .jpg or .pdf. But when I create the unbound object frame, Access requires me to specify "Adobe acrobat, microsoft photo editor" etc. And yet magically, when I change the source doc, Access seems smart enough to change the class and OLE class to the appropriate one.

What do you think I should be setting the OLE class to when I create the object? Should I be setting it myself somehow at runtime when I set the source doc? But isn't the OLE Class read only?

So, I am wondering if there is a better way to do this to keep my database from bloating to the size of the known universe? I don't need to be able to edit the OLE objects within Access.


What I find works really well is to use the Web Browser Control (WBC) on a form to display the files.

This is what I normally use to display a PDF. Depending on teh version of Acrobat, make sure that Acrobat is set to display the PDF in the browser not a new window.
 
A bit OT: As to acrobat -that s/w is itself horribly bloated. I chucked it away ages ago and use Foxit for display of PDF's
 
I haven't tried pdf but use jpegs and an Image Control:

Providing a control called Imagefile is on the Form I declare GetImageDir separately:

Code:
Function GetPicture()

Dim Fullpath As String

    With CodeContextObject
        Fullpath = GetImageDir & .[ImageFile]

        If Dir([Fullpath]) <> Empty Then
            .[ImageControl].Visible = True
            .[ImageControl].Picture = Fullpath
        Else
            .[ImageControl].Visible = False
        End If
    End With

End Function

Simon
 

Users who are viewing this thread

Back
Top Bottom