1

ms access 2013 のデータ マクロを初めて使用するので、助けが必要です。したがって、ユーザーのテーブルが 1 つしかない単純なデータベースがあると仮定します。テーブルの「Age」フィールドを変更すると、外部のexeファイルを実行したい(重要でない理由)。だから私はここ数日の間に主題を学び、これに行き着きます: 1. RunMiniFix と呼ばれる ms アクセスでモジュールを構築します (MiniFix は実行したい exe ファイルの名前です)。モジュールは ShellExecute 関数を使用し、モジュール全体は次のようになります。

Option Compare Database
Const SW_SHOW = 1
Const SW_SHOWMAXIMIZED = 3

Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" 
  (ByVal hwnd As Long, _
   ByVal lpOperation As String, _
   ByVal lpFile As String, _
   ByVal lpParameters As String, _
   ByVal lpDirectory As String, _
   Optional ByVal nShowCmd As Long) As Long

Public Function RunMiniFix()
     Dim RetVal As Long
     On Error Resume Next
     RetVal = ShellExecute(0, "open", "C:\Program Files\MiniFix\MiniFix.exe", "<arguments>", _
                        "<run in folder>", SW_SHOWMAXIMIZED)
End Function

これで、モジュールをアクティブ化すると、すべてが正常に機能し、exe ファイルが実行されます。

  1. ms access で、[Users]![Age] > x かどうかを尋ねる 'If Then' ステートメントに基づいてデータ マクロを作成し、RunMiniFix 関数を呼び出すアクション カタログから組み込みの RunCode イベントを呼び出します。ここで、データ マクロを保存するときに、MS Access はメッセージ ボックスをポップアップ表示し、Microsoft Access には、フレーズで言及した「ユーザー」という名前を見つける機能がないため、フォームで適切なコントロールを探すことをお勧めします。"フォーム"?はい、フォーム!このデータベースはフォーム ベースではありません。私はこれまでに設計されたGUIを持っていません。処理するボタンやクリックイベントはありません。私が求めているのは、Age フィールドが変更されたときに RunMiniFix モジュールをトリガーする方法です。お願いします、これはとても重要です!

    頭、ありがとう

    オロン。

4

1 に答える 1