私の知る限り、唯一の方法は、msaccess.exe で /nostartup スイッチを使用することです。
したがって、シェルコマンドを使用してアクセスオブジェクトを取得する必要があります
データベースを開いてオブジェクトを返す関数があります (これは C# に変換する必要がある VBA コードです)
Private Function OpenDatabaseWithShell(pDatabaseFullPath As String) As Access.Application
Dim AccObj As Access.Application
On Error GoTo ErrorHandler
Set OpenDatabaseWithShell = Nothing
Dim cmd As String
On Error Resume Next
' basically build full msaccess.exe path and append database name and command switches
cmd = SysCmd(acSysCmdAccessDir) & "MSAccess.exe """ & psDatabaseFullPath & """"
cmd = cmd & " /nostartup /excl"
'start ms access with shell
Shell PathName:=cmd
Do 'Wait for shelled process to finish.
Err = 0
Set AccObj = GetObject(pDatabaseFullPath)
Loop While Err <> 0
On Error GoTo ErrorHandler
'return access object
Set OpenDatabaseWithShell = AccObj
NormalExit:
Exit Function
ErrorHandler:
'error logging here
Exit Function
End Function
編集:これは、同様のことを行う VB.NET コードへのリンクです。「完全なサンプル Visual Basic .NET プロジェクトの作成」まで下にスクロールし、「ShellGetDB」関数を探します。