Ms access 在MS Access中重新查询后如何保持焦点?
我在VBA中使用以下代码,以便即使在重新查询后也能将注意力集中在某个记录集上:Ms access 在MS Access中重新查询后如何保持焦点?,ms-access,vba,Ms Access,Vba,我在VBA中使用以下代码,以便即使在重新查询后也能将注意力集中在某个记录集上: With Forms!frmMain!frmMainSub strControlName = .Form.ActiveControl.Name lngCurrentPos = .Form.Recordset.AbsolutePosition .Requery .Form.Recordset.AbsolutePosition = lngCurrentPos
With Forms!frmMain!frmMainSub
strControlName = .Form.ActiveControl.Name
lngCurrentPos = .Form.Recordset.AbsolutePosition
.Requery
.Form.Recordset.AbsolutePosition = lngCurrentPos
.Form.Controls(strControlName).SetFocus
End With
此代码的问题在于,子窗体位于数据表视图中,并且通常按字段排序。由于上面的代码记录了动态集或快照类型记录集对象上的绝对位置,因此无法跟踪已排序的数据表
是否有更好的方法在重新申请表单后将焦点放在特定字段上
编辑:
这个问题不是重复的,因为有关于保持焦点不变的答案。问题是,我的状态不同,而且我希望即使对其中一个字段应用了筛选器也能保持焦点。可能的重复项您是否确实尝试过在重复项上使用答案中的技巧(使用
.FindFirst
导航回记录)?出了什么问题?我不相信你只是说你想在不同的场景中使用它,它就不是一个复制品。做一些类似表单的事情!弗曼!frmMainSub.Form.RecordSource.RecordsetClone
不起作用,并给我提供了所需的对象错误,这只是因为RecordSource
不应该在其中。这只是表单!弗曼!frmMainSub.Form.RecordsetClone