put this in a Class Module and name the class clsAccess:
Code:
Option Compare Database
Option Explicit
Private objAccessApplication As Access.Application
Private Sub Class_Initialize()
Set objAccessApplication = New Access.Application
End Sub
Public Sub OpenDatabase(Optional ByVal sDatabase As String)
With objAccessApplication
If sDatabase <> "" Then .OpenCurrentDatabase sDatabase, False
.Visible = True
End With
End Sub
Private Sub Class_Terminate()
If objAccessApplication Is Nothing Then
objAccessApplication.Quit
Set objAccessApplication = Nothing
End If
End Sub
to use create a public function in a module
Code:
Private objAccess As clsAccess
Public Function fnOpenDataBase(Byval sDatabase as string)
set objAccess = New clsAccess
objAccess.OpenDatabase sDatabase
End Function
sDatabase is the complete path and name (including ext) of the database you want to open.
Now you can run the function in a macro, or directly through VBA.
to run in macro, use RunCode: fnOpenDatabase("yourDatabasefile").