访问子表单更改关注按钮单击
Access Subform Changes Focus on Button Click
我有一个子表单(连续表单),每行都有一个按钮,单击时可以过滤该记录上的主表单。当我单击该按钮时,子窗体上的焦点会跳转到子窗体的顶部(即第一条记录)。怎样才能让焦点停留在记录上。
换句话说,我单击记录 100 旁边的按钮,焦点更改为在子窗体上记录一个(主窗体按预期显示记录 100)。我希望关注子表单以保持记录 100。
这是我正在使用的 VBA 代码:
Private Sub select_record_button_Click()
Me.Parent.Form.Filter = "[ID]=" & Me.ID
Me.Parent.Form.FilterOn = True
End Sub
以上代码是针对子窗体上的按钮的 On Click 事件。
你可以试试这个:
在应用过滤器之前将子表单的 .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
我有一个子表单(连续表单),每行都有一个按钮,单击时可以过滤该记录上的主表单。当我单击该按钮时,子窗体上的焦点会跳转到子窗体的顶部(即第一条记录)。怎样才能让焦点停留在记录上。
换句话说,我单击记录 100 旁边的按钮,焦点更改为在子窗体上记录一个(主窗体按预期显示记录 100)。我希望关注子表单以保持记录 100。
这是我正在使用的 VBA 代码:
Private Sub select_record_button_Click()
Me.Parent.Form.Filter = "[ID]=" & Me.ID
Me.Parent.Form.FilterOn = True
End Sub
以上代码是针对子窗体上的按钮的 On Click 事件。
你可以试试这个:
在应用过滤器之前将子表单的 .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