У меня проблема с методом запроса формы, работающим некорректно.
У меня есть две формы.Первая форма - это форма Data_Entry
для пользователя.Вторая форма - это дисплей Dashboard
, который упорядочивает и форматирует важные данные из первой формы.В форме Data_Entry
есть кнопка, которую пользователь может нажать, чтобы вызвать событие Requery в формах Data_Entry
и Dashboard
.Это очень простой код:
Private Sub Button_Update_Click()
Form_Data_Entry.Requery
Form_Dashboard.Requery
End Sub
В форме Dashboard
у меня также есть событие таймера, которое срабатывает каждые 60 секунд:
Private Sub Form_Timer()
Me.Requery
End Sub
Примерно в 50% случаев этивсе работают как положено.Примерно в 45% случаев кнопка обновления в форме Data_Entry
сама будет запрашивать, но ничего не будет делать с приборной панелью;однако нажатие на Dashboard
и нажатие клавиши F5 приведут к принудительному выполнению запроса, как и событие таймера.В остальные 5% времени ни кнопка обновления, ни F5, ни таймер не будут запрашивать Dashboard
.
100% времени, кнопка обновления будет запрашивать форму Data_Entry
без проблем.
Если я закрою Dashboard
и снова открою его, он снова будет работать, как и ожидалось ... на некоторое время.Иногда это может продолжаться часами без проблем, а иногда - только 15 минут.
Я не понимаю, что вызывает такое непоследовательное поведение.Кажется, это не проблема VBA.Это какая-то более глубокая проблема в самом исходном коде Access, или я что-то упускаю из виду в другом месте?