The Challenge
One of my clients is using an Access database in a multi-user environment. They had a form that they use on their production floor for scheduling jobs. They wanted to have the form update automatically for the PCs on the production floor to reflect the changes made in the office for scheduling jobs. If the form was closed and re-opened it would automatically reflect the scheduling changes but if the form was left open for long periods of time, those changes would not be reflected.
The Solution
Access provides an ability to create a timer driven activity within the forms. You can specify the period of time that the timer should occur and then what activity should take place when the timer expires. That timer function is driven by the TimerInterval attribute of the form. The time interval is specified in the FormLoad procedure. The timer interval is measured in 1000ths of a second so 300,000 is 5 minutes.
Private Sub Form_Load() Me.TimerInterval = 300000 End Sub
The activity that should be performed when the timer expires should be defined in the Form_Timer procedure. In my example, I set up a command to refresh the form display. However, any desired code could be constructed in this procedure.
Private Sub Form_Timer() DoCmd.Requery Me.Refresh End Sub