Отчет о доступе должен быть обновлен, чтобы показать данные

У меня есть кнопка, которая при нажатии открывает отчет по записи, выбранной в этой форме. Вот код для кнопки:

blnSave = MsgBox("Are you sure you want to exit this student?", vbYesNo, "Exit Confirmation")
If blnSave = True Then
            DoCmd.OpenReport "rptExitNotice", acViewPreview, , "[BehaviourID]=" & Me.BehaviourID
            DoCmd.Close acForm, "frmExitStudent"
            End If

Когда форма закрывается и отчет открывается, все поля отчета остаются пустыми: Пустой отчет Когда вы нажимаете F5, данные отображаются идеально на месте: Полный отчет

Я попытался поместить Me.Refresh, DoCmd.Requery и DoCmd.Refresh в события Open, No Data и Activate, но они дают следующие ошибки: Метод или элемент данных не найден Команда или действие

Как я могу получить отчет для отображения данных в первый раз? Есть ли проблема с кодом кнопки? Или я должен добавить Me.Refresh или что-то подобное в другом событии?

1 ответ

Я удалил код в On Load, On Open и т. Д. И создал форму с таймером 1000 и событие timer выполняет этот код:

Private Sub Form_Timer()
Dim rpt As Report

With Reports
    ' Iterate over all open reports...
    For Each rpt In Reports
        rpt.Requery
    Next
End With
lblStatus.Caption = "Generation Complete"
DoCmd.Close acForm, "frmRefreshReport"
End Sub

Форма обновляет отчет, а затем закрывается. Есть небольшая метка статуса, которая изменяет текст после завершения обновления (чтобы конечные пользователи выглядели лучше). Форма открывается при открытии отчета, поэтому отчет обновляется с помощью формы, которая затем закрывается, сохраняя нажатие клавиши F5. Источник: Как автоматически перезагрузить отчет в MS Access?

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