RossWindows
Que?
- Local time
- Today, 02:28
- Joined
- Feb 25, 2008
- Messages
- 410
I am currently trying to apply conditional formatting to a continuous form that typically has thousands of records. Unfortunately it is a lot more complicated than you may think and requires a little background before I can address my real problem. I'll do my best!
My idea is very similar to the way Outlook shows emails as 'Read' and 'Unread'... and the way an email is automatically marked as 'Read' when the user opens the email. So, think of an Incident like an email.
My idea basically consists of three tables.
tblIncidents, tblUserRev and tblIncidentRev
The later two tables hold revision information.
The idea is, when a user is viewing incidents and their User Revision Sum of a particular incident is less than the Incident Revision Sum, the user is said to be 'out of date' and thus that record appears highlighted.
Conversely, if the User Revision Sum is equal to the Incident Revision Sum, the user is up to date and the incident does not appear highlighted.
In both revision tables, the Revision Sum is a combination of the Notes Revision Number, Status Revision Number and Data Revision Number. Having the Revision Sum broken into these three numbers not only allows us to see if the user up to date or not, but it also allows the user to see 'at a glance' exactly what aspect of the incident has been updated since they last viewed.
There is one more thing in each of the revision tables; Latest Revision Date. This allows the user to how much time has passed since they last visited an Incident that has since been updated.
Still with me?
Ok, now here's my real problem. With such intensive calculations being carried out for each and every incident on the continuous form, it seems to be going sllllllooooowwww once all the incidents are loaded into the databae. I think the total count is 20,684
So, I need some expert advise. I think I need to revamp the process... make it more streamlined... more efficient but I am at a creative loss.
My idea is very similar to the way Outlook shows emails as 'Read' and 'Unread'... and the way an email is automatically marked as 'Read' when the user opens the email. So, think of an Incident like an email.
My idea basically consists of three tables.
tblIncidents, tblUserRev and tblIncidentRev
The later two tables hold revision information.
The idea is, when a user is viewing incidents and their User Revision Sum of a particular incident is less than the Incident Revision Sum, the user is said to be 'out of date' and thus that record appears highlighted.
Conversely, if the User Revision Sum is equal to the Incident Revision Sum, the user is up to date and the incident does not appear highlighted.
In both revision tables, the Revision Sum is a combination of the Notes Revision Number, Status Revision Number and Data Revision Number. Having the Revision Sum broken into these three numbers not only allows us to see if the user up to date or not, but it also allows the user to see 'at a glance' exactly what aspect of the incident has been updated since they last viewed.
There is one more thing in each of the revision tables; Latest Revision Date. This allows the user to how much time has passed since they last visited an Incident that has since been updated.
Still with me?
Ok, now here's my real problem. With such intensive calculations being carried out for each and every incident on the continuous form, it seems to be going sllllllooooowwww once all the incidents are loaded into the databae. I think the total count is 20,684
So, I need some expert advise. I think I need to revamp the process... make it more streamlined... more efficient but I am at a creative loss.