Отчет о доступе должен быть обновлен, чтобы показать данные
У меня есть кнопка, которая при нажатии открывает отчет по записи, выбранной в этой форме. Вот код для кнопки:
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?