分享

vba连接数据 代码 (excel/access/sqlserver)

 昵称2548375 2018-09-24
                  Sub excel连接数据库()

    Dim Con As New ADODB.Connection
    Dim strCon As String
    Dim rs As ADODB.Recordset  '设置记录集
    Dim i, t
    t = Timer

    strCon = " Provider=Microsoft.ACE.OLEDB.12.0;" & _
                "Data Source= D:\平台\报表\账户流水.xlsx" & _
                ";Extended Properties=""Excel 12.0;HDR=True"";"

    strSQL = "select * from [账户流水$]"

    Con.Open strCon

    Set rs = Con.Execute(strSQL)

    For i = 0 To rs.Fields.Count - 1 '逐个字段

        Cells(3, i + 3) = rs.Fields(i).Name '取字段名  字头放置在cell(3,3)

    Next i

    Range("c4").CopyFromRecordset rs

    rs.Close

    Con.Close

    Set rs = Nothing

    Set Con = Nothing

    MsgBox "提取完毕" & "耗时" & Round(Timer - t, 4) & "秒"

End Sub



Sub access连接并查询()


    Dim Con As New ADODB.Connection
    Dim strConn As String
    Dim rs As ADODB.Recordset  '设置记录集
    Dim i, t
    t = Timer

    strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                "Data Source=C:\Users\Administrator\Desktop\test.accdb"

    strSQL = "select * from 账户流水"

    Con.Open strConn

    Set rs = Con.Execute(strSQL)

    For i = 0 To rs.Fields.Count - 1 '逐个字段

        Cells(3, i + 3) = rs.Fields(i).Name '取字段名  字头放置在cell(3,3)

    Next i

    Range("c4").CopyFromRecordset rs

    rs.Close

    Con.Close

    Set rs = Nothing

    Set Con = Nothing

    MsgBox "提取完毕" & "耗时" & Round(Timer - t, 4) & "秒"

End Sub




Sub sqlserver连接并查询()

    Dim Con As New ADODB.Connection
    Dim strCon As String
    Dim rs As ADODB.Recordset  '设置记录集
    Dim i, t
    t = Timer

    '连接远程数据库

    strCon = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _

              "User ID=sa;Pwd=123456;" & _

              "Initial Catalog= gydataH5 ;Data Source= 192.168.1.5 ;"

    '连接本地数据库

    ' strCon = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
    '           "User ID=sa;Pwd=;" & _
    '           "Initial Catalog= AdventureWorks2008;Integrated Security=SSPI"


    strSQL = "Select * from smscodelog"

    'strSQL = "Select * from person.person"

    Con.Open strCon

    Set rs = Con.Execute(strSQL)

    For i = 0 To rs.Fields.Count - 1 '逐个字段

        Cells(3, i + 3) = rs.Fields(i).Name '取字段名  字头放置在cell(3,3)

    Next i

    Range("c4").CopyFromRecordset rs

    rs.Close

    Con.Close

    Set rs = Nothing

    Set Con = Nothing

    MsgBox "提取完毕" & "耗时" & Round(Timer - t, 4) & "秒"


End Sub









    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多