如何使用数据宏 运行 在 vba 中发挥作用?

How to run function in vba using data macro?

我是 ms access 2013 数据宏的新手,需要一些帮助。 所以让我们假设我有一个简单的数据库,只有一个 table 用户。 当我更改 table 中的 "Age" 字段时,我想 运行 一个外部 exe 文件(dosent 很重要的原因)。 所以我在过去几天学习了这个主题,结果是这样的: 1. 我在 ms access 中构建了一个名为 RunMiniFix 的模块(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 文件是 运行ning。

  1. 在 ms access 中,我基于 'If Then' 语句构建了一个数据宏,询问 如果 [Users]![Age] > x 然后从调用 RunMiniFix 函数的操作目录调用内置 RunCode 事件。 现在,在保存数据宏时,ms access 弹出一个消息框说 Microsoft access 没有能力找到我在短语中提到的名称 "Users",建议我在形式。 "the form"?是的,表格! 该数据库不是基于表格的。我从来没有设计过任何图形用户界面。我没有要处理的按钮或点击事件。 我想问的是,当 Age 字段被修改时,我如何触发 RunMiniFix 模块。拜托,这很重要!

    感谢个头,

    奥伦.

请使用数据宏中操作列表中的 SetLocalVar,并将表达式设置为您的函数名称。示例:

name: "test"
Expression: RunMiniFix()