我设了 Public db As New ADODB.Connection
      Public rs As New ADODB.Recordset
   db.Provider = "Microsoft.Jet.OLEDB.4.0"
在form1中
rs.Open "select * from 表名", db, adOpenDynamic, adLockPessimistic Set MSHFlexGrid1.DataSource = rs
MSHFlexGrid1  中能显示表中的内容 
可是为什么 我要使用rs.recordcoount时 它的值是-1?谢了!

解决方案 »

  1.   

    if rs.state=adstateopen then rs.close
    rs.Open "select * from 表名", db,adopenkeyset,adlockreadonly
    msgbox rs.recordcount
      

  2.   

    以前遇到过!后来莫名其妙的就好了!
    你把ADO的引用换个版本.
      

  3.   

    在RecordCount前要先MoveLast才能得到RecordCount
    並且有可能要設定 CursorLocation=adUseClient 才行
      

  4.   

    游标类型必须选为adOpenKeyset或是adOpenStatic才行。或
    rst.CursorLocation =adUseClient
    rs.open sql,conn,1,1N久以前就有人问了,搜一下吧,很多
      

  5.   

    rs.Open "select * from 表名", db, adOpenDynamic, adLockPessimistic后面的参数错了
      

  6.   

    感谢楼上各位  特别感谢lastest(弯弓射大雕)  以后提问前一定先搜索一下