Revision History
Site Map

Graph: DBPix image storage vs OLE Embedding and Linking in Microsoft Access

The Access Image FAQ < Previous ArticleNext Article >

Continuous Forms - Same Image Displayed for Every Record

Sample Newsgroup Questions 
Linked images in continuous forms not displaying correctly
Event for each record in continuous form
Images on the fly in a form with continuous view
Linked pic on continuous form... How?
How to display image files on continuous forms?
Photo in continuous form
Displaying multiple images in continuous view in form
Showing images in Access 2000 continuous form

If you try to use the Access Image Control in a continuous form (by updating the 'Picture' property with the image path in the form's 'OnCurrent' event), you'll see the same image for every record. The problem is that the 'Form_Current' event is only fired once, and not for each individual record, so there's no way to update the Image Control on a per-record basis. Unfortunately, there doesn't seem to be any event that fires per-record on continuous forms, and since you can't use a subform in Continuous forms mode this isn't an alternative either.

There's actually some logic behind this - decoding images (e.g. from JPEG format) is quite CPU intensive, and once they are decoded images consume a significant amount of memory. Since there's no limit to the number of records that might be displayed on a continuous form the CPU and memory load could quickly become excessive, rendering the form unusable. Even if the performance was ok during testing, it would worsen over time as records are added - not a good system design.

Consider an analogy - a search engine results page. If Google displayed 100 million results on a single page, page-load times and memory-use would make it unusable. And what would be the point? After all, you can only view a screen-full of information at a time.

The search engine analogy suggests a solution - display a 'page' of results at a time. This is possible in Access by using an Unbound form with a fixed layout of controls for a 'page' of records (e.g. 10), then writing code to create a recordset and to populate the controls. You can see examples of this using the DBPix control here and here - the 'external files' versions of these samples could be adapted to use the Access Image Control, but performance might be an issue.

Imaging for Access that's Easy, Efficient & Fast
  • NO OLE Bloat
  • NO App Dependencies
  • NO Complex Coding
  • NO Performance Penalty
  •  DBPix logo
    Read More

    Microsoft and the Office logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries.