
- •Объекты Microsoft Access
- •Объект Application
- •Объект Application, примеры
- •Объект Collection
- •Пример использования объекта Collection
- •Объект Control
- •Семейство Controls
- •Объект Control, семейство Controls, пример
- •Объект Debug
- •Объект DoCmd
- •Объект DoCmd, пример
- •Объект Err
- •Пример использования объекта Err
- •Объект Form
- •Семейство Forms
- •Объект Form, семейство Forms, примеры
- •Семейство ItemsSelected
- •Семейство ItemsSelected, примеры
- •Объект Module
- •Семейство Modules
- •Объект Module, семейство Modules, пример
- •Объект Page
- •Семейство Pages
- •Объект Page, семейство Pages, пример
- •Объект Reference
- •Семейство References
- •Объект Reference, семейство References, пример
- •Объект Report
- •Семейство Reports
- •Объект Report, семейство Reports, примеры
- •Объект Screen
- •Объект Screen, пример
Объект Report
Объект Report представляет конкретный отчет Microsoft Access. Объект Report является компонентом семейства Reports, в которое входят все текущие открытые отчеты.
В рамках семейства Reports отдельные отчеты нумеруются с помощью индекса, начинающегося с нуля. Допускаются ссылки на объект Report в семействе Reports либо по имени отчета, либо по его индексу в семействе. Имена отчетов, содержащие пробелы, следует заключать в квадратные скобки ([ ]).
Синтаксис |
Пример |
Reports!имяОтчета |
Reports!ОтчетЗаказы |
Reports![имя отчета] |
Reports![Отчет Заказы] |
Reports("имяОтчета") |
Reports("ОтчетЗаказы") |
Reports(индекс) |
Reports(0) |
Каждый объект Report содержит семейство Controls, включающее все элементы управления в отчете. При ссылках на конкретные элементы управления в отчете допускаются как явные, так и неявные ссылки на семейство Controls. При неявных ссылках на объекты из семейства Controls программы выполняются быстрее. В следующем примере демонстрируются два способа ссылки на элемент управления «НовыеДанные» в отчете «Заказы».
' Неявная ссылка.
Reports!Заказы!НовыеДанные
' Явная ссылка.
Reports!Заказы.Controls!НовыеДанные
Семейство Reports
Семейство Reports содержит все отчеты, открытые в данный момент в базе данных Microsoft Access.
Семейство Reports используется в программах Visual Basic или в выражениях для ссылок на отчеты, открытые в данный момент. Например, для задания или возвращения значений свойств конкретных отчетов бывает удобно организовать перебор всех компонентов семейства. Компоненты семейства обычно перебираются с помощью инструкции For Each...Next. Допускаются ссылки на объект Report в семействе Reports либо по имени отчета, либо по его индексу в семействе.
Индексация компонентов семейства Reports начинается с нуля. Ссылки на отчет по индексу имеют вид Reports(0) для первого открытого отчета в семействе, Reports(1) для второго и т.д. Если сначала открыт отчет Report1, а после него Report2, то ссылка по индексу на Report2 в семействе Reports выглядит как Reports(1). Если затем отчет Report1 будет закрыт, то ссылка по индексу на Report2 в семействе Reports будет иметь вид Reports(0).
Примечание. Для того чтобы составить перечень всех отчетов базы данных, как открытых, так и закрытых, следует выполнить перебор компонентов семейства Documents объекта Container типа Reports. При этом свойство Name каждого конкретного объекта Document возвращает имя отчета.
Не допускается удаление или добавление пользователем объектов Report в семействе Reports.
Объект Report, семейство Reports, примеры
В данном примере создается новый отчет и определяются его свойства.
Sub NewReport()
Dim rpt As Report
' Возвращает объектную переменную, указывающую на новый объект Report.
Set rpt = CreateReport
' Задает значения свойств нового отчета.
With rpt
.RecordSource = "Товары"
.Caption = "Отчет Товары"
End With
' Восстанавливает окно отчета.
DoCmd.Restore
End Sub
В следующем примере перебираются компоненты семейства Reports и выводятся имена всех отчетов в этом семействе. Для каждого отчета перебираются компоненты семейства Controls и выводятся имена всех элементов управления в этом отчете.
Sub AllOpenReports()
Dim rpt As Report, ctl As Control
' Перебирает компоненты семейства Reports.
For Each rpt In Reports
' Выводит имя каждого отчета.
Debug.Print rpt.Name
' Перебирает компоненты семейства Controls каждой формы.
For Each ctl In rpt.Controls
' Выводит имя каждого элемента управления.
Debug.Print ">>>"; ctl.Name
Next ctl
Next rpt
End Sub