CurrentProject 对象 (Access)

CurrentProject 对象引用当前的 Microsoft Access 项目 (.adp) 或 Access 数据库的项目。

备注

CurrentProject 对象具有多个集合,这些集合包含当前数据库中的特定 AccessObject 对象。 下表列出了每个集合的名称以及它所包含的对象类型。

集合 对象类型
AllForms 所有窗体
AllReports 所有报表
AllMacros 所有宏
AllModules 所有模块

注意

[!注释] 上表中的集合包含了数据库中的各个对象,不管它们是打开还是关闭。

例如,一个 AccessObject 对象,它表示窗体是 AllForms 集合是在当前数据库中的 AccessObject 对象的集合的成员。 在 AllForms 集合中从零开始索引集合中的单个成员。 通过按名称引用窗体或引用其集合中的索引来引用 AllForms 集合中的单个 AccessObject 对象。 如果要引用 AllForms 集合中的特定对象,最好按名称引用它,因为项的集合索引可能会更改。 如果对象名中包含空格,那么必须将名称用方括号 ([ ]) 括起来。

语法 示例
AllForms!formname AllForms!OrderForm
AllForms![form name] AllForms![Order Form]
AllForms("formname") 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

下一个示例演示如何使用另一个 Microsoft Office 应用程序中的自动化来使用 CurrentProject 对象。 首先,从另一个应用程序中,通过在“模块”窗口的“工具”菜单中选择“引用”来创建对 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。