首页 > 解决方案 > 出现错误并需要建议以实现自动化

问题描述

Sub Conn2SQL()

    Dim cnn1 As New ADODB.Connection
    Dim mrs As New ADODB.Recordset
    Dim iCols As Integer

    Set cnn1 = New ADODB.Connection
      cnn1.ConnectionString = "driver={SQL Server};server=MyDBServer;uid=MyuserID;pwd=mypassword;database=MyDB"
      cnn1.ConnectionTimeout = 30
      cnn1.Open

    SQry = "use MyDB select * from TableName"

    mrs.Open SQry, cnn1

    For iCols = 0 To mrs.Fields.Count - 1
        Worksheets("SavedConfig").Cells(1, iCols + 1).Value = mrs.Fields(iCols).Name
    Next

    SavedConfig.Range("A2").CopyFromRecordset mrs

    mrs.Close
    cnn1.Close

End Sub

我已将工作表命名为 SavedConfig 而不是 Sheet1,但需要获取错误 424 对象。此外,我们可以从另一个 Excel 工作表中选择查询,而不是对上面的查询进行硬编码。


如何使连接字符串更具动态性,而不是对其进行硬编码,而是从 excel 工作表的单元格中获取值。

cnn1.ConnectionString = "driver={SQLServer};server=MyDBServer;uid=MyuserID;pwd=mypassword;database=MyDB"

标签: excelvba

解决方案


推荐阅读