if rs.eof then
msgbox "no record"
end if

解决方案 »

  1.   

    我想问以上两位,如果恰好是最后一条记录符合条件,你也msgbox "no record" ?
      

  2.   

    hsn1982(我爱猫猫) 的方法也是我常用的方法,因为Find的方法不管有没有找到,它不返回一个值,所以无法判断。当然,如果你知道确定有这条记录,用Find的方法来定位记录指针还是很好的
      

  3.   

    请问eof属性标记的是记录集的最后一条,还是记录集的结束?
      

  4.   

    BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。
    EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。 
    返回值BOF 和 EOF 属性返回布尔型值。说明使用 BOF 和 EOF 属性可确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。如果当前记录位于第一个记录之前,BOF 属性将返回 True (-1),如果当前记录为第一个记录或位于其后则将返回 False (0)。如果当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回 True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。如果 BOF 或 EOF 属性为 True,则没有当前记录。如果打开没有记录的 Recordset 对象,BOF 和 EOF 属性将设置为 True,而 Recordset 对象的 RecordCount 属性设置为零。打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而 BOF 和 EOF 属性为 False。
      

  5.   

    Find 方法
          搜索 Recordset 中满足指定标准的记录。如果满足标准,则记录集位置设置在找到的记录上,否则位置将设置在记录集的末尾。语法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 匹配。)。