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"