OpenCurrentDatabase 方法

expandtri全部显示

使用 OpenCurrentDatabase 方法可以打开一个已有 Microsoft Access 数据库 (.mdb) 作为当前的数据库。

expression.OpenCurrentDatabase(filepath, Exclusive, bstrPassword)

expression     必需。返回“应用于”列表中的一个对象的表达式。

filepath     必需 String 型。字符串表达式,表示已有数据库文件的名称,包括路径名和文件名扩展。如果网络支持,也可以按以下形式指定网络路径:\\Server\Share\Folder\Filename

注释   如果没有提供文件名扩展名,则将 .mdb 追加到文件名后。

Exclusive     可选 Boolean 值。指定是否以独占 方式打开数据库。默认值是 False,该值指定以共享方式打开数据库。

bstrPassword     可选 String。打开指定数据库的密码。

说明

使用该方法可以从另一个应用程序中打开数据库,该应用程序通过自动化(以前称为 OLE 自动化)控制 Microsoft Access。例如,可以使用 OpenCurrentDatabase 方法从 Microsoft Excel 中打开 Microsoft Access 窗口中的罗斯文示例数据库。一旦通过另一个应用程序创建了 Microsoft Access 实例,则也必需创建新的数据库或指定要打开的特殊数据库。该数据库是在 Microsoft Access 窗口中打开的。

注释  使用 OpenAccessProject 方法打开一个已有 Microsoft Access 项目 (.adp) 作为当前的数据库。

在 Microsoft Access 窗口中,如果已经打开一个数据库又希望打开另一个数据库,在打开另一个数据库以前,可以使用 CloseCurrentDatabase 方法关闭第一个数据库。

Exclusive 参数设为 True 可以以独占方式打开数据库。如果忽略该参数,数据库将以共享方式打开。

注释  请不要将 OpenCurrentDatabase 方法与 ActiveX 数据对象 (ADO) 的 Open 方法或数据访问对象 (DAO) 的 OpenDatabase 方法混淆。OpenCurrentDatabase 方法在 Microsoft Access 窗口中打开数据库。ADO 的 Open 方法返回 Connection 对象变量,而 DAO 的 OpenDatabase 方法返回 Database 对象变量。两者均代表一个特定的数据库,但都不在 Microsoft Access 窗口中实际打开数据库。

示例

下面的示例通过“自动化”从其他应用程序中打开一个 Microsoft Access 数据库,然后打开一个数据库中的窗体。

可以在任何一个可以用作 COM 组件的应用程序的 Visual Basic 模块中输入这段代码。例如,可以从 Microsoft Excel、Microsoft Visual Basic 或 Microsoft Access 中运行下列代码。

当指向 Application 对象的变量超出范围时,它所表示的 Microsoft Access 实例也将关闭。所以,必须在模块级声明这个变量。

' Include the following in Declarations section of module.

Dim appAccess As Access.Application

Sub DisplayForm()

    Dim strDB as String

    ' Initialize string to database path.

    Const strConPathToSamples = "C:\Program " _

        & "Files\Microsoft Office\Office11\Samples\"

    strDB = strConPathToSamples & "Northwind.mdb"

    ' Create new instance of Microsoft Access.

    Set appAccess = _

        CreateObject("Access.Application")

    ' Open database in Microsoft Access window.

    appAccess.OpenCurrentDatabase strDB

    ' Open Orders form.

    appAccess.DoCmd.OpenForm "Orders"

End Sub