注册 登录
编程论坛 VB6论坛

VB获取ACCESS数据库行数

opelwang 发布于 2017-07-28 00:55, 3068 次点击

已经打开了ACCESS数据,如何获取总行数,请指教,谢谢。

Private Sub Command2_Click()

    Dim db As New ADODB.Connection
    Dim sPath As String

    db.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & App.Path & _
            "\DC_CapacityData.accdb;Jet OLEDB:Database Password=1234;Persist Security Info=False"

    sPath = App.Path + "\表.xlsx"


    Call db.Execute("insert into DC select * from [表$]  In '" & sPath & "' 'Excel 12.0;'")


Recordset.MoveLast
Recordset.MoveFirst
s = Recordset.RecordCount   ' 获取导入数据的总行数


    db.Close
    Set db = Nothing
    MsgBox "共導入:" & s & " 行數據。", 64 + 0, "提示"
End Sub
3 回复
#2
风吹过b2017-07-28 09:14
不是查询 记录数
而应该 查询 受影响的记录数。
Access 如何支持,自己测试一下吧,在手机上没法找。

#3
xiangyue05102017-07-28 09:30
以下是引用opelwang在2017-7-28 00:55:16的发言:


已经打开了ACCESS数据,如何获取总行数,请指教,谢谢。

Private Sub Command2_Click()

    Dim db As New ADODB.Connection
    Dim sPath As String

    db.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & App.Path & _
            "\DC_CapacityData.accdb;Jet OLEDB:Database Password=1234;Persist Security Info=False"

    sPath = App.Path + "\表.xlsx"


    Call db.Execute("insert into DC select * from [表$]  In '" & sPath & "' 'Excel 12.0;'")


Recordset.MoveLast
Recordset.MoveFirst
s = Recordset.RecordCount   ' 获取导入数据的总行数

    db.Close
    Set db = Nothing
    MsgBox "共導入:" & s & " 行數據。", 64 + 0, "提示"
End Sub

就是这句代码 s = Recordset.RecordCount 返回的是查询到的记录行数
但是你这个Recordset凭空出现的……怎么可能查询到行数
#4
ZHRXJR2017-07-28 14:24
    db.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & App.Path & "\DC_CapacityData.accdb;Jet OLEDB:Database Password=1234;Persist Security Info=False"
搞不懂,这里连接的是Access数据库,下面又是打开的excel表格,这样根本无非读取Excel表格数据的。
程序代码:
    Dim db As New ADODB.Connection, RS As New ADODB.Recordset
    Dim S As Integer
    db.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties=excel 12.0;data source=" & App.Path & "\表.xlsx"
    RS.Open "Select * FROM [Sheet1$]", db, 3, 2
    S = RS.RecordCount   ' 获取导入数据的总行数
    RS.Close
    Set RS = Nothing
    db.Close
    Set db = Nothing
    MsgBox "共導入:" & S & " 行數據。", 64 + 0, "提示"

这段代码是打开Excel表格,读取表格的工作表,得到工作表的总行数。
1