Find 方法 (ADO)

在 Recordset 中搜索满足指定条件的行。 (可选)可以指定搜索方向、起始行和起始行的偏移量。 如果满足条件,则会在找到的记录上设置当前行位置;否则,位置设置为 Recordset 的末尾(或开始)。

语法

  
Find (Criteria, SkipRows, SearchDirection, Start)  

参数

条件
一个 String 值,包含一个语句,指定要在搜索中使用的列名、比较运算符和值。

SkipRows
可选。 一个 Long 值,其默认值为零,指定当前行的行偏移量或 Start 书签开始搜索。 默认情况下,搜索将在当前行中开始。

SearchDirection
可选。 一个 SearchDirectionEnum 值,指定搜索应在当前行中开始,还是在搜索方向的下一个可用行中开始。 如果值为 adSearchForward,则不成功的搜索将在 Recordset 的末尾停止。 如果值为 adSearchBackward,则不成功的搜索将在 Recordset 的开头停止。

启动
可选。 一个 Variant 书签,用作搜索的起始位置。

备注

只能在条件中指定单列名称。 此方法不支持多列搜索。

条件的比较运算符可以是“>”(大于)、“<”(小于)、“=”(等于)、“>=”(大于或等于)、“<=”(小于或等于)、“<>”(不等于)或“like”(模式匹配)。

条件中的值可以是字符串、浮点数或日期。 字符串值用单引号或“#”(数字符号)标记分隔(例如“state = 'WA'”或“state = #WA#”)。 日期值用“#”(数字符号)标记分隔(例如“start_date > #7/22/97#”)。 这些值可以包含小时数、分钟数和秒数来指示时间戳,但不应包含毫秒数,否则将会出错。

如果比较运算符为“like”,则字符串值可以包含星号 (*) 来查找任何字符或子字符串的一个或多个匹配项。 例如,“state like 'M*'”与 Maine 和 Massachusetts 匹配。 还可以使用前导星号和尾随星号查找值中包含的子字符串。 例如,“state like '*as*'”与 Alaska、Arkansas 和 Massachusetts 匹配。

如上所述,星号只能在条件字符串的末尾使用或在条件字符串的开头和末尾一起使用。 不能将星号用作前导通配符 ('*str') 或嵌入通配符 ('s*r')。 这将导致错误。

注意

如果在调用 Find 之前未设置当前行位置,则会发生错误。 在调用 Find 之前,应调用设置行位置的任何方法(如 MoveFirst)。

注意

如果对记录集调用 Find 方法,并且记录集中的当前位置位于文件 (EOF) 的最后一条记录或末尾,则不会找到任何内容。 需要调用 MoveFirst 方法,将当前位置/游标设置为记录集的开头。

应用于

记录集对象 (ADO)

另请参阅

Find 方法示例 (VB)
Index 属性
Optimize 属性 - 动态 (ADO)
Seek 方法