我的程序是用vb嵌套sql语句访问access数据库,执行完sql语句后,假如应该是返回3条记录,但是recordcount值却是2,这是怎么回事?简单的操作过程是这样的:我先从试题表中,随即抽取一道试题,放入试卷表中,然后对试卷表进行一些条件限制,即使某种类型的试题不应超过一定的数目,问题就出在统计此类型的数目上了,谢谢大家!

解决方案 »

  1.   

    这样,在窗体里添加一个DataGrid控件,将之隐藏,就能正确地计算..recordcount的数值了
      

  2.   

    这种问题我还没遇过,不过用rs.recordcount能正确返回记录个数,除非数据库中没有数据
      

  3.   

    我现在没带代码,不过就是普通的vb执行sql语句的方法。谢谢aiguo25(青春无悔)我回去试试!
      

  4.   

    用xx.recordsource="select * from 表" 然后,必须有xx.refresh(打开)
      

  5.   

    RS.MOVEFIRST
    RS.MOVELASET
    RS.RECORDCOUNT
      

  6.   

    会不会是使用的打开方式不对?设置CONN属性为3,1?
      

  7.   

    先将RecordSet对象的CursorLocation属性设置成adUseClient,然后再获取RecordCount的值。
      

  8.   

    Dim objRs As New Adodb.Recordset
    Dim objCon As New Adodb.ConnectionobjCon.Open "数据库连接字符串"
    objRs.Open strSql, objCon, adOpenKeyset, adLockOptimistic, &H1
      

  9.   

    Dim objRs As New Adodb.Recordset
    Dim objCon As New Adodb.ConnectionobjCon.Open "数据库连接字符串"
    objRs.CursorLocation=adUseClient
    objRs.Open strSql, objCon
    msgbox objrs.recordcount