1

我使用组合框向导允许组合框确定表单上显示的记录。

该向导似乎在组合框的 AfterUpdate 事件上构建了一个宏,以允许这种情况发生。我也希望能够在 AfterUpdate 事件中添加一些 VBA,但从外观上看,Access 一次只能让您从 Expression/Macro/Code 中选择 1 个选项。

有什么方法可以保持向导创建的组合框的效果,并且还可以自由地将更多 vba 代码添加到 AfterUpdate 事件中?

4

1 回答 1

1

我不能说这件事的简单方法。我对新的嵌入式宏“功能”并不生气。

可以打开宏,ctrl+A全选,ctrl+C复制到剪贴板然后关闭。使用功能区,选择创建宏并按 ctrl+V 粘贴嵌入的宏。您现在可以将其另存为 VBA,从功能区将宏转换为 Visual Basic。你会得到:

DoCmd.SearchForRecord , "", acFirst, "[ID] = " & Str(Nz(Screen.ActiveControl, 0))

还有一些错误编码。然后是我更喜欢的方式,在这些行中,通过选择 [Event Procedure] 并键入来创建。当然,您应该添加错误编码。

If Not IsNull(Me.TheComboName) Then
    ''Force a save
    If Me.Dirty Then
       Me.Dirty = False
    End If

    ''This will go to first record if not found.
    ''You will need quotes for a text data type
    Me.Recordset.FindFirst "ID=" & Me.TheComboName 
Else
   ''This probably should not happen, so you may have 
   ''problems, it's up to you
End If

您可能想在这里阅读已故 D Fenton 的回答

完成上述操作后,您现在有了一个查找记录的事件过程,您可以添加任何需要的额外代码。

于 2013-03-14T10:25:37.967 回答