用于数据库连接的Excel VBA脚本

我是VBA新手,需要编写一个脚本来打开从Excel文件到SQL Server数据库的连接。 我在https://msdn.microsoft.com/en-us/library/office/gg264383.aspx中引用VBA语言参考,并找不到有关如何完成的信息。 以下是我设法从我发现浮动的macros启用的Excel文件刮擦:

Sub CopyData() Dim sSQL As String Dim rs As ADODB.Recordset Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Server Name];Initial Catalog=[Catalog];" End With End Sub 

当我运行脚本时,收到一个错误'用户定义types未定义'。 并且Dim rs AS ADODB.Recordset被突出显示。 所以我的理解是,ADODB.Recordset还没有被定义为一个类,但我认为这是一个内置的类? 假设这不是一个内置的类,我不能在源代码中find这个类定义的地方。 我的最终目标是根据input到excel文件中运行SQL查询,并将查询结果输出到相邻的列中。 所以我的问题:

1)在哪里可以find有关数据库连接对象的Microsoft文档? 2)也许更多的一个SQL问题,但我应该如何格式化连接string?

 Dim con As ADODB.Connection Dim rec As ADODB.Recordset Set con = New ADODB.Connection Set rec = New ADODB.Recordset rec.CursorLocation = adUseClient con.Open ("Provider=SQLOLEDB;Data Source=ip;Initial Catalog=dbname;user ID=userid; password=password;") Query = "SELECT unique_Id FROM data group by unique_Id;" rec.Open Query, con Do While rec.EOF() = False 'do events rec.MoveNext Loop 

添加Microsoft ActiveX数据对象2.8库作为参考