可以使用 CloseCurrentDatabase 方法从另一个通过自动化打开数据库的程序中关闭当前数据库(Microsoft Access 数据库 (.mdb) 或 Access 项目 (.adp))。
expression.CloseCurrentDatabase
expression 必需。返回“应用于”列表中的一个对象的表达式。
例如,可以从 Microsoft Excel 中使用该方法在打开另一个数据库之前关闭当前在 Microsoft Access 窗口中打开的数据库。
CloseCurrentDatabase 方法用于从另一个程序中通过自动化打开 Microsoft Access 数据库时。从另一个程序中打开 Microsoft Access 的实例之后,必须新建一个数据库,或指定打开一个现有的数据库。该数据库将在 Microsoft Access 窗口中打开。
如果使用 CloseCurrentDatabase 方法关闭了在 Microsoft Access 的当前实例中打开的数据库,则以后打开其他数据库时就不必创建另一个 Microsoft Access 实例。
以下示例通过 Automation 从其他应用程序打开一个 Microsoft Access 数据库,在其中创建一个新窗体并保存它,然后关闭该数据库。
可以将这段代码添加到任何能够作为 COM 组件的应用程序的 Visual Basic 模块中。例如,可从 Microsoft Excel 或 Microsoft Visual Basic 中运行下面的代码。
当指向 Application 对象的变量超出范围时,它所表示的 Microsoft Access 实例也将关闭。所以,必须在模块级说明这个变量。
' Enter following in Declarations section of module.
Dim appAccess As Access.Application
Sub CreateForm()
Const strConPathToSamples = "C:\Program Files\Microsoft Office\Office11\Samples\"
Dim frm As Form, strDB As String
' Initialize string to database path.
strDB = strConPathToSamples & "Northwind.mdb"
' Create new instance of Microsoft Access.
Set appAccess = CreateObject("Access.Application")
' Open database in Microsoft Access window.
appAccess.OpenCurrentDatabase strDB
' Create new form.
Set frm = appAccess.CreateForm
' Save new form.
appAccess.DoCmd.Save , "NewForm1"
' Close currently open database.
appAccess.CloseCurrentDatabase
Set AppAccess = Nothing
End Sub