Recordset对象用个.Find方法,它可以实现对一个条件的定位,像rst.Find "ID = 10",但好象不能实现像select语句那样的多条件组合,像"ID =10 and Count = 100".不知道.Find能不能实现?如果能,怎么写?

解决方案 »

  1.   

    为什么.Find老是不能正确工作?
    我在rst.Find "ID=10"时有时能定位到记录,有时则会找到记录集底.这是为什么?
    rst打开时是用的adOpenDynamic
      

  2.   

    MSDN:
    语法Find (criteria, [SkipRows], [searchDirection], [start])参数criteria   字符串,包含用于搜索的指定列名、比较操作符和值的语句。SkipRows    可选,长整型值,其默认值为零。它指定当前行或 start 书签的位移以开始搜索。searchDirection    可选的 SearchDirectionEnum 值,指定搜索应从当前行还是搜索方向上的下一个有效行开始。其值可为 adSearchForward 或 adSearchBackward。搜索停止在记录集的开始还是末尾则取决于 searchDirection 值。start    可选,变体型书签,用作搜索的开始位置。说明criteria 中的“比较操作符”可以是“>”(大于)、“<”(小于)、“=”(等于)或“like”(模式匹配)。  criteria 中的值可以是字符串、浮点数或者日期。字符串值以单引号分隔(如“state = 'WA'”)。日期值以“#”(数字记号)分隔(如“start_date > #7/22/97#”)。如“比较操作符”为“like”,则字符串“值”可以包含“*”(某字符可出现一次或多次)或者“_”(某字符只出现一次)。(如“state like M_*”与 Maine 和 Massachusetts 匹配。)--- End不指定可选参数,则以当前位置,向后查找,所以如果你要查找的记录在当前记录前面,也会找不到(EOF=TRUE)。