我有一个子例程可以转到命令按钮的click事件的下一条记录,该事件已成功用于替换单视图子表单的内置导航按钮,但是当我将其应用于连续表单时,子窗体,父窗体将更改为下一条记录。我想防止用户过滤或搜索,这就是为什么我选择取消导航按钮。当我已经将焦点设置到子表单时,如何防止父表单跳到下一条记录?
Private Sub CmdNextRecord_Click()
On Error Resume Next
Forms![frmParent]![fsubChild].SetFocus
DoCmd.GoToRecord , , acNext
Forms![frmParent].SetFocus
End Sub
答案 0 :(得分:0)
此行:Forms![frmParent]![fsubChild].SetFocus
将焦点设置到主窗体上的子窗体控件,而不是子窗体控件内的实际窗体。
要将焦点设置到子表单中的第一个控件:
Forms!frmParent!fsubChild.Form.Controls(0).SetFocus
我建议您使用表单记录集来代替移动记录:
Dim rs As DAO.Recordset
With Forms![frmParent]![fsubChild].Form
Set rs = .RecordsetClone
rs.Bookmark = .Bookmark
rs.MoveNext
If Not rs.EOF Then 'If not last record
.Bookmark = rs.Bookmark
End If
End With