CurrentProject 对象

expandtri全部显示

Application

parchildCurrentProject

spaceparchild多个对象

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

使用 CurrentProject 对象

CurrentProject 对象有好几个集合,每个集合都包含当前数据库中的特定 AccessObject 对象。下表列出了每个集合的名称及其所含对象的类型。

集合

对象类型

AllForms

所有窗体

AllReports

所有报表

AllMacros

所有宏

AllModules

所有模块

AllDataAccessPages

所有数据访问页

 

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

例如,代表窗体的 AccessObject 对象是 AllForms 集合的一个成员,而 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 Object Library 旁的复选框。然后在该应用程序的 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

    appAccess.CurrentProject.AllReports(strReportName)

    MsgBox "Report " & strReportName & _

        " verified within Northwind database."

    appAccess.CloseCurrentDatabase

    Set appAccess = Nothing

Exit Sub

ErrorHandler:

    MsgBox "Report " & strReportName & _

        " does not exist within Northwind database."

    appAccess.CloseCurrentDatabase

    Set appAccess = Nothing

End Sub