[Excel VBA] 在VBA中如何将SQL得到的数据直接赋值到数组?

来源:互联网 发布:淘宝卖假蛋白粉 编辑:程序博客网 时间:2024/05/01 17:46
Q:在VBA中如何将SQL得到的数据直接赋值到数组?
A:可以利用RecordSet的GetRows方法获取数组。


  1. Sub SQL2Arr()  
  2.     Dim AdoCN As Object  
  3.     Dim AdoRe As Object  
  4.     Dim SQL As String  
  5.     Dim Arr1, Arr2, Arr3  
  6.     Set AdoCN = CreateObject("ADODB.Connection")  
  7.     Set AdoRe = CreateObject("ADODB.Recordset")  
  8.     SQL = "SELECT * FROM [Sheet1$A1:C11]"  
  9.     AdoCN.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _  
  10.                  "Data Source=" & ThisWorkbook.FullName & ";" & _  
  11.                  "Extended Properties=Excel 12.0;"  
  12.     Set AdoRe = AdoCN.Execute(SQL)  
  13.     Arr1 = AdoRe.GetRows(, , "姓名")                    '取得某一列  
  14.     AdoRe.MoveFirst     '取完一次,要将指针移动到最前  
  15.     Arr2 = AdoRe.GetRows(, , Array("姓名""班级"))     '取得两列  
  16.     AdoRe.MoveFirst     '取完一次,要将指针移动到最前  
  17.     Arr3 = AdoRe.GetRows                                '取得全部  
  18.     AdoCN.Close  
  19.     Set AdoRe = Nothing  
  20.     Set AdoCN = Nothing  
  21. End Sub   


利用这个方法,也可以单独获取某一字段

附件下载:在VBA中如何将SQL得到的数据直接赋值到数组? http://www.exceltip.net/thread-13032-1-1-11314.html
原创粉丝点击