私は、他のすべてのデータベース (合計 6 つ) の中心として機能する Access 2003 アプリケーションを作成する任務を負っています。これらの 6 つのデータベースにはそれぞれ、 というテーブルにバインドされたデータを作成するために使用されるマクロが含まれますDispenseExport
。
当初、これらのデータベースはそれぞれ独自のバージョンのこのテーブルを持っていましたが、今ではそれらすべてを 1 つのアプリケーションに書き込む必要があります。
Omega にはDispenseExport
、他のすべてのユーザーが書き込むテーブルが含まれます。また、他のデータベースからマクロを呼び出して書き込むデータベースにもなります。
だから - これを達成するための最良の方法は何ですか?
私はすでに別のデータベースからマクロを呼び出すためのサンプルサブを持っています(そして動作します)が、ここでの問題は、通常のユーザーと同じようにデータベースを開くことです-オメガはサーバーに座っており、これをバイパスする必要があります-おそらくSHIFTを使用して- KEYアクセス方法は?
それが最善の方法であると仮定して、VBAでプログラムでそれを行うにはどうすればよいですか?
これが私がこれまでに持っているものです:
Option Compare Database
Option Explicit
'Sub to call a macro from another database
Public Sub CallMacro()
On Error GoTo ErrHandler:
Debug.Print "Opening Macro"
'/x tells the database to run the macro as soon as it is opened
Call Shell("msaccess.exe C:\path-to-database\database.mdb /x mcrTestCall", 0)
Debug.Print "Completed Macro"
ErrHandler:
If Err.Number <> 0 Then
'Create a message box with the error number and description
MsgBox ("Sorry but error number " & Err.Number & " occurred; " & vbCrLf & Err.Description)
End If
End Sub
アップデート
まだ答えは見つかりませんが、近づいていると信じています。HOLDING DOWN SHIFTをエミュレートする方法を見つける必要があります- 何かアイデアはありますか?
ありがとう