我用ADO连Access2000数据库,请问如何求出数据库中某个表的记录数

解决方案 »

  1.   

    Set rs= New ADODB.Recordset
        rs.Open "select * from table1", cnn, adOpenDynamic, adLockPessimistic
        msgbox rs.recordcount
      

  2.   

    Set rs= New ADODB.Recordset
        rs.Open "select * from table1", cnn, adOpenDynamic, adLockPessimistic
        msgbox rs.recordcount
      

  3.   

    能能给个详细点的,从连接数据库到用SQL查询再到返回记录的显示,谢谢了,本人很菜的,麻烦了:)
      

  4.   

    看看这个帖
       里有我的介绍
    http://expert.csdn.net/Expert/topic/1638/1638651.xml?temp=.373974
      

  5.   

    rs.recordcount就可以
    不过,最正确应该这样写
    rs.movelast
    msgbox rs.recordcount
      

  6.   

    '一个简单的例子,希望有用
    public    Con As New ADODB.Connection
    public    rs  As New ADODB.Recordset
    Public Function OpenDB() As Boolean
        OpenDB = False
        
        On Error GoTo Error_Event
        Set Con = New ADODB.Connection
        Con.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;data Source=" & DBFile.mdb & ";user ID=" & UID & ";Password=" & PWD & ";Jet OLEDB:Database Password=" & DBPWD
        Con.CommandTimeout = 60
        Con.Open
        OpenDB = True
        Screen.MousePointer = 0
        Exit Function
    Error_Event:
        Screen.MousePointer = 0
    End Function
    Public Function OpenRS(sqlstr As String, Optional ReadOnly As Boolean = False, Optional Conn As ADODB.Connection = Nothing) As ADODB.Recordset
        On Error GoTo OpenrecordsetErrorhandle
        If Conn Is Nothing Then Set Conn = Con
        
        Set OpenRS = New ADODB.Recordset
        OpenRS.CursorLocation = adUseClient
        If ReadOnly Then
                OpenRS.Open sqlstr, Conn, adOpenDynamic, adLockReadOnly
        Else
                OpenRS.Open sqlstr, Conn, adOpenDynamic, adLockOptimistic
        End If
        Exit Function
    OpenrecordsetErrorhandle:
        MsgBox "  致命错误:" & GetOdbcErrors() & Chr(13) & "  来自SQL命令:" & sqlstr & Chr(13) & "  无法继续执行", vbOKOnly + vbCritical, "致命错误"
        End
    End Function
    Public Function GetOdbcErrors()
    Dim a As String
    Dim i As Long
    a = ""
    For i = 0 To Con.Errors.Count - 1
      a = a & IIf(a = "", "", Chr(13)) & Con.Errors(i).Description
    Next i
    GetOdbcErrors = a
    End Function
    sub listit()
      Dim rs As New ADODB.Recordset
      Set rs = OpenRS("select * from system", True)
      Label1(0).Caption = rs!compname + "验光处方"
      Label1(1).Caption = "地址:" + rs!Addr + Space(1) + rs!Mo
      rs.Close
      Set rs = Nothingend sub
      

  7.   

    Set rs = OpenRS("select * from Odd" & sql, True)
            With rs
            If .RecordCount > 0 Then
                Timer1.Enabled = False
                .MoveFirst
                Do While Not .BOF And Not .EOF
                    For i = 0 To T.UBound - 1
                        T(i) = .Fields(FieldNme(i)).Value
                    Next i
                    T(29).Tag = !Oid
                    Combo1.ListIndex = IIf(!Sex = 0, 1, 0)
                    DTPicker1(0).Value = !birth
                    DTPicker1(1).Value = !OTime
                    .MoveNext
                Loop
                rs.Close
                Set rs = Nothing
            Else
                rs.Close
                Set rs = Nothing
                Exit Function
            End If
            End With
      

  8.   

    我用ADO连Access2000数据库,请问如何求出数据库中某个表的记录数我的表里有三条记录,但是为什么我用了msgbox rs.recordcount得到的结果是-1呢
      

  9.   

    rs.movelast
    msgbox rs.recordcount
      

  10.   

    不知你看过ADODB的帮助否?(MSDN中)
    有一个游标的概念
    连接和记录集都有一个CursorLoction的属性,有三个值
    其中只有客户端游标支持recordcount
    服务器端游标recordcount=-1
    另一个大概没用。你应该多搜寻MSDN!!!
      

  11.   

    我用recordcount得到的记录数是-1
      

  12.   

    Rs.CursorLocation = adUseClient  '加上这一句就可行了
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic