查找方法 (ADO)
适用于:Access 2013、Office 2013
用于在 Recordset 中搜索满足指定条件的行。 可以选择性地指定搜索方向、起始行和与起始行的偏移量。 如果满足条件,当前行位置将设置为找到的记录位置;否则,该位置设置为 Recordset 的末尾(或开头)。
语法
查找 (条件、 SkipRows、 SearchDirection、 Start)
参数
参数 | 说明 |
---|---|
条件 | 字符串型 值,包含用于指定在搜索中使用的列名、比较运算符和值的语句。 |
SkipRows | 可选。 长整型值,默认值为零,用于指定与当前行的行偏移量或开始书签,以开始搜索。 默认情况下,搜索将从当前行开始。 |
SearchDirection | 可选。 SearchDirectionEnum 值,指定搜索应从当前行开始还是从搜索方向上的下一个可用行开始。 如果该值为 adSearchForward ,则不成功的搜索在 Recordset 的末尾停止。 如果该值为 adSearchBackward ,则不成功的搜索在 Recordset 的开头停止。 |
Start | 可选。 变量型书签,充当搜索的开始位置。 |
备注
Criteria 中只能指定一个列名称。 该方法不支持多列搜索。
Criteria 中的比较运算符可以是“”> (大于) 、“<” (小于) 、“=” (等于) 、“>=” (大于或等于) 、“<=” (小于或等于) 、“<>” (不等于) 或“like” (模式匹配) 。
Criteria 中的值可以是字符串、浮点数或日期。 字符串值使用单引号或“#”(数字记号)标记分隔(例如,“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 之前设置的,将发生错误。 设置行位置的任何方法(如 MoveFirst)都应该在调用 Find 之前调用。
注意
[!注释] 如果对记录集调用 Find 方法,且记录集中的当前位置位于最后一个记录或文件末尾 (EOF),您将找不到任何内容。 您需要调用 MoveFirst 方法将当前位置/游标设置在记录集的开头。