OpenCurrentDatabase Method

Microsoft Access Visual Basic

OpenCurrentDatabase Method

       

You can use the OpenCurrentDatabase method to open an existing Microsoft Access database (.mdb) as the current database.

expression.OpenCurrentDatabase(filepath, Exclusive, bstrPassword)

expression   Required. An expression that returns one of the objects in the Applies To list.

filepath  Required String. A string expression that is the name of an existing database file, including the path name and the file name extension. If your network supports it, you can also specify a network path in the following form: \\Server\Share\Folder\Filename

Note   If you don't supply the filename extension, .mdb is appended to the filename.

Exclusive  Optional Boolean. Specifies whether you want to open the database in exclusive mode. The default value is False, which specifies that the database should be opened in shared mode.

bstrPassword  Optional String. The password to open the specified database.

Remarks

You can use this method to open a database from another application that is controlling Microsoft Access through Automation, formerly called OLE Automation. For example, you can use the OpenCurrentDatabase method from Microsoft Excel to open the Northwind.mdb sample database in the Microsoft Access window. Once you have created an instance of Microsoft Access from another application, you must also create a new database or specify a particular database to open. This database opens in the Microsoft Access window.

Note   Use the OpenAccessProject method to open an existing Microsoft Access project (.adp) as the current database.

If you have already opened a database and wish to open another database in the Microsoft Access window, you can use the CloseCurrentDatabase method to close the first database before opening another.

Set the Exclusive argument to True to open the database in exclusive mode. If you omit this argument, the database will open in shared mode.

Note   Don't confuse the OpenCurrentDatabase method with the ActiveX Data Objects (ADO) Open method or the Data Access Object (DAO) OpenDatabase method. The OpenCurrentDatabase method opens a database in the Microsoft Access window. The ADO Open method returns a Connection object variable, and the DAO OpenDatabase method returns a Database object variable, both of which represent a particular database but don't actually open that database in the Microsoft Access window.

Example

The following example opens a Microsoft Access database from another application through Automation and then opens a form in that database.

You can enter this code in a Visual Basic module in any application that can act as a COM component. For example, you might run the following code from Microsoft Excel, Microsoft Visual Basic, or Microsoft Access.

When the variable pointing to the Application object goes out of scope, the instance of Microsoft Access that it represents closes as well. Therefore, you should declare this variable at the module level.

' Include the following in Declarations section of module.
Dim appAccess As Access.Application

Sub DisplayForm()
    ' Initialize string to database path.
    Const strConPathToSamples = "C:\Program " _
        & "Files\Microsoft Office\Office\Samples\"

    strDB = strConPathToSamples & "Northwind.mdb"
    ' Create new instance of Microsoft Access.
    Set appAccess = _
        CreateObject("Access.Application")
    ' Open database in Microsoft Access window.
    appAccess.OpenCurrentDatabase strConPathToSamples
    ' Open Orders form.
    appAccess.DoCmd.OpenForm "Orders"
End Sub