FindNextRecord 宏操作

适用于:Access 2013、Office 2013

可以使用 FindNextRecord 操作查找符合上一个 FindRecord 操作指定的条件或与 "查找和替换" 对话框(在 "开始" 选项卡上单击 "查找")中的值匹配的下一个记录。 可以使用 FindNextRecord 操作重复搜索记录。 例如,您可以在特定客户的所有记录间逐个移动。

Setting

FindNextRecord 操作不具有任何参数。 FindNextRecord 操作会查找符合 FindRecord 操作或 "查找和替换" 对话框所设置的条件的下一个记录。 FindRecord 操作的参数由 "查找和替换" 对话框中的选项共享。

若要设置搜索条件,请使用 FindRecord 操作。 通常的做法是先在宏中输入 FindRecord 操作,再使用 FindNextRecord 操作查找符合相同条件的后续记录。 若要仅在满足特定条件的情况下搜索记录,可以在 FindNextRecord 操作的操作行的“条件”列中输入条件表达式。

备注

此操作与使用“查找和替换”对话框中的“查找下一个”按钮的效果相同。

注意

[!注释] 对于表、查询和窗体,虽然 FindRecord 操作与 "开始" 选项卡上的 "查找" 命令相对应,但并不与"代码"窗口中 "编辑" 菜单上的 "查找" 命令相对应。 不能使用 FindRecordFindNextRecord 操作搜索模块中的文本。

提示

If you've set the Only Current Field argument of the FindRecord action to Yes, you may need to use the GoToControl action to move the focus to the control containing the data you're searching for before you use the FindNextRecord action.

如果在执行 FindNextRecord 宏操作时当前所选文本与搜索文本相同,则搜索将紧接在所选内容之后、与所选内容相同的字段中以及同一条记录中开始。 否则将从当前记录的起始位置开始搜索。 这样可以找到单个记录中可能出现的符合相同搜索条件的多个实例。

但请注意,如果使用命令按钮运行包含 FindNextRecord 操作的宏,则将重复找到符合搜索条件的第一个实例。 出现这种情况的原因是,单击命令按钮会将焦点从包含匹配值的字段中移走。 这样, FindNextRecord 操作将从记录的起始位置开始搜索。 为了避免此问题,请使用不会更改焦点的技术运行该宏,例如使用自定义工具栏按钮或在 AutoKeys 宏中定义的组合键。 此外,也可以在执行 FindNextRecord 操作之前将宏中的焦点设置为包含搜索条件的字段。

The same behavior also occurs if you use a command button to run a macro containing the FindRecord action with the Find First argument set to No.

若要在 Visual Basic for Applications 模块中运行 FindNextRecord 操作,请使用 DoCmd 对象的 FindNext 方法。