adodc1.Recordset.RecordCount 就可以了。

解决方案 »

  1.   

    错了.RecordCount 是移动过的记录数,最好先MoveFirst,再MoveLast
      

  2.   

    用ado时,RecordSet的Recordcount属性是无效的。
    得到记录数的简单方法是将记录集(CursorType为adOpenKeyset或adOpenDynamic)
    从头到尾数一遍。
     iCount = 0
     ObjRecord.MoveFirst
     Do While Not ObjRecord.EOF
       iCount = iCount + 1
       ObjRecord.MoveNext
     Loop
      

  3.   

    谁说无用,我就用过recordcount就是记录中的记录数,不管移过没有
      

  4.   

    用sqlserver的话recordcount,包括book还是可靠的,access就不一定了,有时非得用wlei()的方法数一遍。
      

  5.   

     当 MyRst.CursorLocation =adUseClient 时,MyRst.RecordCount 就是记录个数
      

  6.   

    access的用SQL语句做连接的话,一开始RecorderCount的值是1,如果没有符合条件的纪录则是0
      

  7.   

    dim rs as new adodb.recoreset
    rs.open"select * from tbl_name"
    rs.recordcount就是纪录个数
      

  8.   

    用SQL语句的Count 函数是最准确的
      

  9.   

    注意ado.recordset游标位置!
    及锁定类型,这个对读取recordcount属性有影响!
      

  10.   


      conn.excute "select * from database",i
    msgbox "记录数" &  i
      

  11.   

    但我用ado.recordcount时得-1
    正确是100
    为什么?
    它还与什么属性有关吗?
      

  12.   

    一般由两方面决定是否可通recordset.recordcount确定记录数.
    ADO方面:游标类型,游标位置.
    数据库方面:数据库类型,数据引擎.
    动态游标时recordcount总是-1.客户端静态游标一般返回正确记录数.
    Access不很了解,只在SQL SERVER的几个版本中情况也不一样.
    如果你只是想得到表中记录数,那就用dbcontrols(泰山) 的方法就可以.
    如果判断当前的记录集对象中的记录数,可以试试各种游标的搭配,如果不行那就while一遍吧.
      

  13.   

    你用的是forwardonly或者
    set rst=con.executestrsql
    i=rst.recordcount
    i是会-1
      

  14.   

    能否用sql语句给到记录数