我使用组合框向导允许组合框确定表单上显示的记录。
该向导似乎在组合框的 AfterUpdate 事件上构建了一个宏,以允许这种情况发生。我也希望能够在 AfterUpdate 事件中添加一些 VBA,但从外观上看,Access 一次只能让您从 Expression/Macro/Code 中选择 1 个选项。
有什么方法可以保持向导创建的组合框的效果,并且还可以自由地将更多 vba 代码添加到 AfterUpdate 事件中?
我使用组合框向导允许组合框确定表单上显示的记录。
该向导似乎在组合框的 AfterUpdate 事件上构建了一个宏,以允许这种情况发生。我也希望能够在 AfterUpdate 事件中添加一些 VBA,但从外观上看,Access 一次只能让您从 Expression/Macro/Code 中选择 1 个选项。
有什么方法可以保持向导创建的组合框的效果,并且还可以自由地将更多 vba 代码添加到 AfterUpdate 事件中?
我不能说这件事的简单方法。我对新的嵌入式宏“功能”并不生气。
可以打开宏,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 的回答
完成上述操作后,您现在有了一个查找记录的事件过程,您可以添加任何需要的额外代码。