Site log analysis indicated, that a lot of people come here to find some answers about continuous forms. So, we decided to create this FAQ, to answer all questions you may have about that continuous forms.
Introduction
Microsoft Access continuous form is a special form type, when entire form design is repeated for each record of the data source. It gives you ability to make something different to usual “table-view” approach, hovever you are still limited to “striped” design.
Core problem
Access doesn’t create separate form object for each record. It just makes one form to draw several times with different data. This leads to following limitations:
- Any changes to form controls or properties thru VBA affects appearence of all the records
- Event handlers you suppose to be executed for every record, execute only for the first one
- It is restricted to place ActiveX controls on continuous form
There is no ways to bypass this limitations directly. Remark: this limitations doesn’t apply to header and footer of the form – because it is not dublicated.
FAQ
Once we made thru basics, lets answer the questions. If you have question not being answered here, don’t hesistate to ask it at the bottom of the page.
How can I make controls to look different in different records?
The only way is to use Format->Conditional Formatting feature. In Access 2007 you can put right mouse button on the row title in table view to reach it. Sure, its limited alot, but there is no much choice here.
How can I show pictures from database?
All the methods that utilize regular data-bound controls are valid. You can use Bound Object Frame, in Access 2007 – Attachments and Image controls. However, you can’t use any VBA scripting with em.
How can I show some conditional data or pictures?
The only way to achieve this is to build custom queries, that perform checks and calculations you need and prepare data to show.
How can I show pictures, that are stored externally?
In Access 2007 there is an improvement to regular Image control. It will display image from file, if you bind it to the field or expression that provides image path and filename. This works in continuous forms too.
In pre-2007 versions of Access you need to have picture previews saved in your database as OLE data type. AccessImagine control handles their creation and maintaining easily.
How can I do something, that Access limitations doesn’t allow me to do?
If there is no tricks to save the situation, people usually mimic continuous forms, creating a form that displays several records at once with paging buttons. There are 2 downsides of this approach. First – it requires a lot of VBA coding. Second – you loose all the built-in features users can utilize to any Access form – sorting, search and filters.
Try to avoid this path until you have some time to waste.
Not found an answer you need? Post a question at the bottom!
I got bitten by this bug, which exists at least in 2007…. For bound image controls to work, in the Access Options for the Current Database you must have ‘Preserve source image format’ chosen, NOT ‘Convert all picture data to bitmaps’. Hope this helps others avoid hours tracking this down!
Interesting info, Ben! How does it behaves with the ‘Convert all picture data to bitmaps’?
a person gets the error “msaccess the bitmap you specified is not a device-independent bitmap”
Ben – fantastic! I made made a new test MSAccess accdb with a simple form linked to a SQL table with images. Worked fine. Imported it into my large development app and failed. Could not for the life of me figure it out. Was mins away from tearing it apart from DEV to the test app and stumbled on your post. You saved me 5-6 hrs of work …
How can I show pictures, that are stored externally, clicking a thumbnail(preview)?
If only I correctly understood your question…
You need to create OnClick event for thumbnail object, where you need to write command that opens the form with this record.
You can see this technique in this sample database – http://access.bukrek.net/tutorial/ms-access-sample-database
Sorry, my english is not well. I try to explain: The pictures I use in my database are stored externally (otherwise the DB grows too fat)and created by your control. In the table I have the field Name (storage path). Now I want when clicking a button, the original to show up in the AccessImagine control.
Still don’t understand you. AccessImagine shows the original picture already, if you link it correctly to the field.
Do you want to show big picture, when user clicks on AccessImagine control?
I do not understand how to do this “In Access 2007 there is an improvement to regular Image control. It will display image from file, if you bind it to the field or expression that provides image path and filename. This works in continuous forms too.”
For example, if you have field called PictureFile with text like “D:\Mypics\mom.jpg”, you can bind it to regular Image control and it will display picture from that location.
how can i edit images in accessimagine,,, i just want to type or put a dot on the picture…im storing an xray picture thanks more power
For now AccessImagine doesn’t have such a functionality.
i have a continuous form based on a table. when i open this continuous form all the records in the table are shown perfactly in the form. i have bauilt controls on this continuous form to add record in the table but the newly added record doesn’t display in the continuous form at that time. when i close the continuous form and then reopen it then continuous forms shows all the records. i want to show the newly added record in the continuous form without closing and reopening it. thx
You need to update cuntinuos form after the insert form is closed. You can use Form.Requery for that.
hello, I would need the AccessImagine to open automatically when opening the Access mask, using the device set. It’s possible?
Yes, you can invoke AccessImagine “Use Device” function with VBA: Pic.Scan
hi. i created a flashing textbox in a continuous. the condition is once a tick box has been ticked it should flash a certain textbox. but what happened is all of the contents in that form will flash. Let say, I ticked that tickbox in a certain row or record, the outcome is all rows/records will flash. Really appreciate your help
hi. i created a flashing textbox in a continuous form. the condition is once a tick box has been ticked it should flash a certain textbox. but what happened is all of the contents in that form will flash. Let say, I ticked that tickbox in a certain row or record, the outcome is all rows/records will flash. Really appreciate your help. thank you
What is this error ” Read beyond end of File”
nice post
I have a continuous form bound to a single table (by the RecordSource) and fields in the Form Detail with their ControlSources set to various fields in the table. I also have fields in the Form Header with their ControlSources set to fields in the same table. (For design reasons, these header fields are repeated in all detail records in the table.) When records are loaded into this form, Where do the header fields get their values? From the first detail record? And an obvious follow-up question is: When the form is saved (via Dirty = False), which detail records will see their header fields updated? Just the first record?
I am sorry, that is too complicated for me.
And it seems to be not related to AccessImagine.