|
楼主 |
发表于 2020-7-10 08:56
|
显示全部楼层
- Sub SQL2Arr()
- Dim AdoCN As Object
- Dim AdoRe As Object
- Dim SQL As String
- Dim Arr1, Arr2, Arr3
- Set AdoCN = CreateObject("ADODB.Connection")
- Set AdoRe = CreateObject("ADODB.Recordset")
- SQL = "SELECT * FROM [成绩表$]"
- AdoCN.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
- "Data Source=" & ThisWorkbook.FullName & ";" & _
- "Extended Properties=Excel 12.0;"
- Set AdoRe = AdoCN.Execute(SQL)
- Arr1 = AdoRe.GetRows(, , "姓名") '取得某一列
- AdoRe.MoveFirst '取完一次,要将指针移动到最前,否则将提示“BOF或EOF中有一个是“真”,或当前的记录已被删除,所需的操作要求一个当前的记录”
- Arr2 = AdoRe.GetRows(, , Array("姓名", "班级")) '取得两列
- AdoRe.MoveFirst '取完一次,要将指针移动到最前
- Arr3 = AdoRe.GetRows '取得全部
- AdoCN.Close
- Set AdoRe = Nothing
- Set AdoCN = Nothing
- End Sub
复制代码 AdoRe.MoveFirst '取完一次,要将指针移动到最前,否则将提示“BOF或EOF中有一个是“真”,或当前的记录已被删除,所需的操作要求一个当前的记录”
|
|