我有一个子形式(连续表格),每行上有一个按钮,可在单击时过滤该记录上的主表单。当我单击按钮时,对子形式的重点会跳到子形式的顶部(即第一记录)。我该如何使重点保持在记录上。
换句话说,我单击"记录100"旁边的按钮,然后更改焦点以记录一个子形式(主表单按预期显示记录100)。我想专注于子形式以保持记录100。
这是我正在使用的VBA代码:
Private Sub select_record_button_Click()
Me.Parent.Form.Filter = "[ID]=" & Me.ID
Me.Parent.Form.FilterOn = True
End Sub
上面的代码在单击事件上,用于子图中的按钮。
您可以尝试以下方法:
在应用过滤器之前,将子形式的.SelTop
属性保存到变量上,并在应用过滤器后还原。
它不会将选定的记录保留在确切的行中,但它将是子形式可见区域中的第一个记录。
Private Sub select_record_button_Click()
Dim t As Long
With Me
t = .SelTop
With .Parent.Form
.Filter = "[ID]=" & Me!ID
.FilterOn = True
End With
.SelTop = t
End with
End Sub