Поделиться через


Объект CurrentProject (Access)

Объект CurrentProject ссылается на проект для текущего проекта Microsoft Access (ADP) или базы данных Access.

Замечания

Объект CurrentProject содержит несколько коллекций, содержащих определенные объекты AccessObject в текущей базе данных. В следующей таблице перечислены имена каждой коллекции и типы объектов, которые она содержит.

Коллекции Тип объектов
AllForms Все формы
AllReports Все отчеты
AllMacros Все макросы
AllModules Все модули

Примечание.

Коллекции в предыдущей таблице содержат все соответствующие объекты в базе данных независимо от того, открыты ли они или закрыты.

Например, объект AccessObject , представляющий форму, является членом коллекции AllForms , которая представляет собой коллекцию объектов AccessObject в текущей базе данных. В коллекции AllForms отдельные члены коллекции индексируются с нуля. Ссылка на отдельный объект AccessObject в коллекции AllForms либо путем ссылки на форму по имени, либо путем ссылки на ее индекс в коллекции. Если вы хотите ссылаться на конкретный объект в коллекции AllForms , лучше ссылаться на него по имени, так как индекс коллекции элемента может измениться. Если имя объекта содержит пробел, имя должно быть заключено в квадратные скобки ([ ]).

Синтаксис Пример
AllForms!имя_формы AllForms! OrderForm
AllForms![ имя_формы] AllForms! [Форма заказа]
AllForms("имя_формы") AllForms("OrderForm")
AllForms(index) AllForms(0)

Пример

В следующем примере отображаются некоторые текущие параметры свойств объекта CurrentProject , а затем задается параметр для отображения скрытых объектов в приложении.

Sub ApplicationInformation() 
 ' Print name and type of current object. 
 Debug.Print Application.CurrentProject.FullName 
 Debug.Print Application.CurrentProject.ProjectType 
 ' Set Hidden Objects option under Show on View Tab 
 'of the Options dialog box. 
 Application.SetOption "Show Hidden Objects", True 
End Sub

В следующем примере показано, как использовать объект CurrentProject с помощью службы автоматизации из другого приложения Microsoft Office. Сначала создайте ссылку на Microsoft Access из другого приложения, выбрав Ссылки в меню Сервис в окне Модуль. Установите флажок рядом с полем Библиотека объектов Microsoft Access, а затем введите следующий код в модуль Visual Basic в этом приложении и вызовите процедуру GetAccessData .

В примере имя базы данных и имя отчета передается процедуре, которая создает новый экземпляр класса Application , открывает базу данных и проверяет, существует ли указанный отчет с помощью объекта CurrentProject и коллекции AllReports .

Sub GetAccessData() 
' Declare object variable in declarations section of a module 
 Dim appAccess As Access.Application 
 Dim strDB As String 
 Dim strReportName As String 
 
 strDB = "C:\Program Files\Microsoft " _ 
          & "Office\Office11\Samples\Northwind.mdb" 
 strReportName = InputBox("Enter name of report to be verified", _ 
                          "Report Verification") 
 VerifyAccessReport strDB, strReportName 
End Sub 
 
Sub VerifyAccessReport(strDB As String, _ 
                       strReportName As String) 
 ' Return reference to Microsoft Access 
 ' Application object. 
 Set appAccess = New Access.Application 
 ' Open database in Microsoft Access. 
 appAccess.OpenCurrentDatabase strDB 
 ' Verify report exists. 
 On Error Goto ErrorHandler 
 IsObject appAccess.CurrentProject.AllReports(strReportName) 
 MsgBox "Report " & strReportName & _ 
        " verified within " & appAccess.CurrentProject.Name & " database."
 appAccess.CloseCurrentDatabase 
 Set appAccess = Nothing 
Exit Sub 
ErrorHandler: 
 MsgBox "Report " & strReportName & _ 
        " does not exist within " & appAccess.CurrentProject.Name & " database."
 appAccess.CloseCurrentDatabase 
 Set appAccess = Nothing 
End Sub

Методы

Свойства

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.