在访问 vba 查询后移动到下一个记录记录集
Move to next record recordset after query in access vba
这是我的第一个问题,但我不得不说这不是我第一次使用该网站。还有一件事,对不起我的英语...
我正在使用 Access 2007 开发一个项目,其中包含大量 VBA 代码和大量前端表单。在表单中,我包含了记录导航按钮,供用户在 table(下一个、上一个等)的不同记录之间移动。
但是,我有一个问题不知道如何解决。假设用户输入一个表单。自然地,该表格显示 table 中包含的第一条记录。在表单中,用户可以搜索记录并转到指定记录。
获取到那条记录后,用户按下按钮显示下一条记录。但是,它不会转到下一个,而是转到第一个之后的记录。换句话说,表格转到第二条记录。
我猜是因为表单的记录集没有更新,所以当用户按下下一个按钮时(实际上我正在做 docmd.gotorecord acNext
),它会转到下一个记录table(第2条记录)。
我尝试在通过表单记录源方法进行查询后更新记录集,但仍然出错...
最实用的解决方案是什么?
谢谢!
您的问题是因为当您将过滤器设置为 false 时,您实际上重新设置了整个表单。
要解决这个问题,您可以尝试使用以下搜索命令:
DoCmd.OpenForm "Customers"
' This assumes that you've got a control on the customers form named ID which has the IDs in it
DoCmd.GoToControl "ID"
DoCmd.FindRecord Me.search_customers_subform.Form.ID
点击下一步时,您现在需要的是:
DoCmd.GoToRecord , , acNext
过滤器不再存在。
希望这对你有用。我现在没有Access,所以这段代码主要是靠记忆,如果有什么问题,尽管问。
这是我的第一个问题,但我不得不说这不是我第一次使用该网站。还有一件事,对不起我的英语...
我正在使用 Access 2007 开发一个项目,其中包含大量 VBA 代码和大量前端表单。在表单中,我包含了记录导航按钮,供用户在 table(下一个、上一个等)的不同记录之间移动。
但是,我有一个问题不知道如何解决。假设用户输入一个表单。自然地,该表格显示 table 中包含的第一条记录。在表单中,用户可以搜索记录并转到指定记录。
获取到那条记录后,用户按下按钮显示下一条记录。但是,它不会转到下一个,而是转到第一个之后的记录。换句话说,表格转到第二条记录。
我猜是因为表单的记录集没有更新,所以当用户按下下一个按钮时(实际上我正在做 docmd.gotorecord acNext
),它会转到下一个记录table(第2条记录)。
我尝试在通过表单记录源方法进行查询后更新记录集,但仍然出错...
最实用的解决方案是什么?
谢谢!
您的问题是因为当您将过滤器设置为 false 时,您实际上重新设置了整个表单。
要解决这个问题,您可以尝试使用以下搜索命令:
DoCmd.OpenForm "Customers"
' This assumes that you've got a control on the customers form named ID which has the IDs in it
DoCmd.GoToControl "ID"
DoCmd.FindRecord Me.search_customers_subform.Form.ID
点击下一步时,您现在需要的是:
DoCmd.GoToRecord , , acNext
过滤器不再存在。
希望这对你有用。我现在没有Access,所以这段代码主要是靠记忆,如果有什么问题,尽管问。