我正在使用Access 2003。
我有一个表单(FormA
),用于显示TableA
中行的字段。在表单上,我有一个按钮,打开一个对话框,其中列出了列出TableA
所有行的列表框。对话框表单上的删除按钮允许用户从TableA
中删除选定的行,然后用户关闭窗口并返回FormA
。
如果用户删除了当前查看的行,则表单上的字段会显示#DELETED
我从对话框返回时编码Me.Form.Requery
。当它执行时,我得到一个运行时错误,记录被删除。而不是错误,我希望表单重新查询并重新定位当前记录
我的代码在Sub Form_Current()
。只是为了看看这是否影响了重新查询过程,我评论了它。现在表格按照预期被重新获得。
似乎Form_Current()
的存在阻止了重新查询。我尝试在Me.Requery
中对Form_Current
进行编码,而我所做的只是循环。
我在Form_Current()
中的代码重新排列子表单。因此,在请求重新排队子表单之前,需要重新排队表单。
有没有办法让Form_Current()
被调用之前重新排队?有没有更好的方法?
我哪里出错?
答案 0 :(得分:1)
将重新查询放在对话框中会更好:
Forms!FormA.Requery