Find 方法 (ADO)
在 记录集 中搜索满足指定条件的行。 (可选)可以指定搜索方向、起始行和起始行的偏移量。 如果满足条件,则会在找到的记录上设置当前行位置;否则,该位置将设置为 Recordset的末尾(或开始)。
语法
Find (Criteria, SkipRows, SearchDirection, Start)
参数
条件
一个 字符串 值,该值包含一个语句,指定要在搜索中使用的列名、比较运算符和值。
SkipRows
自选。 一个 Long 值,其默认值为零,指定与当前行或 Start 书签的行偏移量以开始搜索。 默认情况下,搜索将从当前行开始。
SearchDirection
自选。
SearchDirectionEnum 值,该值指定搜索应从当前行开始还是搜索方向的下一个可用行开始。 如果值 adSearchForward,则 Recordset 末尾停止不成功的搜索。 如果值 adSearchBackward,则 Recordset 开始时,搜索失败。
开始
自选。
Variant 书签,用作搜索的起始位置。
言论
条件中只能指定单列名称。 此方法不支持多列搜索。
Criteria 中的比较运算符可以是“>”(大于)、“<”(小于)、“=”(等于)、“>=”(大于或等于)、“<=”(小于或等于)、“<>”(不相等)或“like”(模式匹配)。
Criteria 中的值可以是字符串、浮点数或日期。 字符串值用单引号或“#”(数字符号)标记(例如,“state = 'WA'”或“state = #WA#”)分隔。 日期值用“#”(数字符号)标记(例如“start_date > #7/22/97#”)分隔。 这些值可以包含小时、分钟和秒来指示时间戳,但不应包含毫秒或错误。
如果比较运算符为“like”,则字符串值可能包含星号 = 以查找任何字符或子字符串的一个或多个匹配项。 例如,“state like 'M*'”匹配缅因州和马萨诸塞州。 还可以使用前导和尾随星号查找值中包含的子字符串。 例如,“如'*as*'”的州与阿拉斯加、阿肯色州和马萨诸塞州匹配。
星号只能在条件字符串的末尾使用,也可以在条件字符串的开头和结尾使用,如上所示。 不能将星号用作前导通配符('*str'),也不能用作嵌入通配符('s*r')。 这将导致错误。
注意
如果在调用“查找”之前未设置当前行位置,则会发生错误。 设置行位置的任何方法(如 MoveFirst)都应在调用 Find之前调用。
注意
如果在记录集上调用 Find 方法,并且记录集中的当前位置位于文件 (EOF)的最后一条记录或末尾,则不会找到任何内容。 需要调用 MoveFirst 方法,将当前位置/光标设置为记录集的开头。