Как автоматически перезагрузить отчет в MS Access?

У меня есть отчет в MS Access, где базовые данные в таблицах изменяются нерегулярно. Я бы хотел, чтобы отчет автоматически отражал эти изменения, либо перезагружая форму, скажем, каждые 10 секунд, либо отчет получит уведомление об изменениях и отобразит новые данные. Это возможно?

1 ответ

Решение

Единственный способ, которым я могу думать об этом, не элегантен:

Создайте скрытую форму с интервалом таймера 10 секунд (или любым другим интервалом, который вам нужен). Когда сработает событие таймера форм, переберите коллекцию открытых отчетов, закройте и заново откройте каждый найденный отчет.

Что-то вроде:

Public Sub RefreshOpenReports()
    Dim rpt As Report

    With Reports
        ' Iterate over all open reports...
        For Each rpt In Reports
            rpt.Requery
        Next
    End With

End Sub
Другие вопросы по тегам