VBA, MS Access MS Access в примерах

Изменение свойств всех отчетов приложения

Private Sub ChangeReportsPrp()
'Изменение определенных (ниже) свойств всех отчетов приложения
'---------------------------------------------------------------------------------------------------
Dim dbs As Database, objContainer As Container, objDoc As Report, objReport As Report, sRepName$
'---------------------------------------------------------------------------------------------------
On Error GoTo ChangeReports_Err
    Set dbs = CurrentDb
    Set objContainer = dbs.Containers!Reports
    
    For Each objDoc In objContainer.Documents       'Цикл по всем отчетам
        sRepName = objDoc.Name                      'Имя отчёта в переменную
        DoCmd.OpenReport sRepName, acViewDesign     'Открытие отчета в режиме редакции
        Set objReport = Reports(sRepName)
        'Отображение информации в Status Bar
        SysCmd acSysCmdSetStatus, "Обрабатываю Отчет: " & sRepName & " ..."
        'Изменение свойств:
        With objReport
            .PopUp = True
            ' ... другие свойства ...
        End With
        DoCmd.Close acReport, sRepName, acSaveYes  'Закрытие отчета c сохранением макета
    Next objDoc
    
'---------------------------------------------------------------------------------------------------
ChangeReports_End:
    SysCmd acSysCmdClearStatus
    On Error Resume Next
    Set objReport = Nothing
    Set objContainer = Nothing
    Err.Clear
    Exit Sub
Exit Sub
ChangeReports_Err:
    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in Sub : " & _
           "ChangeReports." & vbCrLf & "При обработке Отчета: [" & sRepName & "]", vbCritical, "Error!"
    'Debug.Print "ChangeReports_Line: " & Erl & "."
    Resume ChangeReports_End
End Sub


Назад ToTop
L.E. 21.12.2022
Рейтинг@Mail.ru