Home > Sql Server > 用Excel VBA 读取 SQL Server 数据

用Excel VBA 读取 SQL Server 数据

December 30th, 2009 Tony hu Leave a comment Go to comments

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cn As New ADODB.Connection ‘定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As New ADODB.Recordset ‘定义记录集对象,保存数据表
Dim strCn As String, strSQL As String ‘字符串变量
strCn = “Provider=sqloledb;Server=SCL;Database=grm;uid=grm;pwd=123456;” ‘定义数据库链接字符串
Set sht = ThisWorkbook.Worksheets(”R-FN203-R1″) ‘把sht指向当前工作簿的sheet1工作表

‘下面的语句将读取数据表数据,并将它保存到excel工作表中:画两张表想像一下,工作表为一张两维表,记录集也是一张两维表

strSQL = “SELECT distinct [ShelfAddress] FROM [GravureRoll] where [ArtworkNum]=’” + Trim(sht.Cells(16, 7)) + “‘ and [State]=1″

cn.Open strCn ‘与数据库建立连接,如果成功,返回连接对象cn
rs.Open strSQL, cn ‘执行strSQL所含的SQL命令,结果保存在rs记录集对象中
sht.Cells(16, 8) = rs(”ShelfAddress”) ‘将得到的值放到Excel的单元格中。
rs.Close
cn.Close

End Sub

注意点是要先添加ADO引用,否则会定义失败

Categories: Sql Server Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.