使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

可以使用 Access 桌面数据库中的 SearchForRecord 宏操作在表、查询、窗体或报表中搜索特定记录。

设置

SearchForRecord 宏操作具有以下参数。

操作参数

说明

对象类型

输入或选择要搜索的数据库对象的类型。 可以选择“”、“查询”、“窗体”“报表”。

对象名称

输入或选择包含要搜索的记录的特定对象。 下拉列表显示为 Object Type 参数选择的类型的所有数据库对象。

录制

指定搜索的起点和方向。

设置

说明

上一个

从当前记录向后搜索。

下一个

从当前记录向前搜索。

名字

从第一条记录向前搜索。 这是此参数的默认值。

姓氏

从最后一条记录向后搜索。

Where 条件

使用与 SQL WHERE 子句相同的语法输入搜索条件,但不包含单词“WHERE”。 例如,

Description = "Beverages"

若要创建包含窗体文本框值的条件,必须创建一个表达式,该表达式将条件的第一部分与包含要搜索的值的文本框的名称连接在一起。 例如,以下条件将在名为 frmCategories 的窗体上名为 txtDescription 的文本框中搜索“说明”字段的值。 请注意表达式开头的等号 (=) ,在文本框引用的任一端使用单引号 (') :

="Description = '" & Forms![frmCategories]![txtDescription] & "'"

备注

  • 在多个记录与 Where Condition 参数中的条件匹配的情况下,以下因素确定找到的记录:

    • Record 参数设置   有关 Record 参数的详细信息,请参阅 Settings 部分中的表。

    • 记录的排序顺序    例如,如果 Record 参数设置为 First,则更改记录的排序顺序可能会更改找到的记录。

  • 在运行此操作之前,必须在 “对象名称” 参数中指定的对象处于打开状态。 否则,将发生错误。

  • 如果未满足 Where Condition 参数中的条件,则不会发生任何错误,并且焦点将保留在当前记录上。

  • 搜索上一条或下一条记录时,搜索到达数据末尾时不会“包装”。 如果没有其他与条件匹配的记录,则不会发生任何错误,并且焦点将保留在当前记录上。 若要确认找到匹配项,可以为下一个操作输入条件,并使条件与 Where Condition 参数中的条件相同。

  • 若要在 VBA 模块中运行 SearchForRecord 操作,请使用 DoCmd 对象的 SearchForRecord 方法。

  • SearchForRecord 宏操作类似于 FindRecord 宏操作,但 SearchForRecord 具有更强大的搜索功能。 FindRecord 宏操作主要用于查找字符串,并复制“查找”对话框的功能。 SearchForRecord 宏操作使用的条件更类似于筛选器或 SQL 查询的条件。 以下列表演示了可使用 SearchForRecord 宏操作执行的一些操作:

    • 可以在 Where Condition 参数中使用复杂条件,例如

Description = “饮料” 和 CategoryID = 11

  • 可以引用窗体或报表的记录源中但不显示在窗体或报表上的字段。 在前面的示例中, DescriptionCategoryID 都不得显示在窗体或报表上,条件才能正常工作。

  • 可以使用逻辑运算符,例如 <>ANDORBETWEENFindRecord 操作仅匹配等于、以 开头或包含要搜索的字符串的字符串。

示例

以下宏首先使用 OpenTable 操作打开 Categories 表。 然后,该宏使用 SearchForRecord 宏操作查找表中“说明”字段等于“饮料”的第一条记录。

操作

参数

OpenTable

表名称:类别

视图数据表

数据模式编辑

SearchForRecord

对象类型

对象名称:类别

记录第一个

其中条件:说明 = “饮料”

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×