如标题所示,我遇到了一个奇怪的现象。我有一个包含两个子表单的表单。在两个子表单上,我都有一个按钮,可以触发对相关子表单的重新查询。如果在加载表单后,我立即单击此按钮(重新查询表单),当我尝试将 OnCurrent 事件中当前记录的主键值保存到变量时,出现错误“3021:无当前记录”。奇怪的是,在调试器中相关值是这样的:
Form.CurrentRecord=1
Form.RecordSet.Absoluteposition=-1
Form.RecordSet.RecordCount=14
Form.RecordSet.EOF=False
Form.RecordSet.BOF=False
另请注意,当表单被加载时,在加载事件中它仍然可以正常工作,并且我可以保存主键值,它是第一条记录中包含的主键。
在 Form_Load 和我单击该重新查询按钮之间的某个地方,表单的状态变得不同步。我最近刚刚从 Access 2003 切换到 2007,据我所知,这个错误以前没有发生过(尽管我可能只是在加载后没有点击这个按钮)。
现在我有一个解决方法,但我真的很想了解这是如何发生的。