我连接到一个oracle数据库,它基本上使用我给它的SQL语句将数据输出到工作表中:
这是将其复制到电子表格中的代码:
Set oRsOracle = New ADODB.Recordset
With oRsOracle
.ActiveConnection = oConOracle
.Open "SELECT CalcGrp_Name FROM Calc_Group"
Sheets(2).Range("A1").CopyFromRecordset oRsOracle
.Close
End With
Set oRsOracle = Nothing
oConOracle.Close
Set oConOracle = Nothing
基本上没有行Sheets(2).Range("A1").CopyFromRecordset oRsOracle
有一种方法可以将这些值存储到数组或VB必须提供的任何数据结构中,我基本上想要使用这些值并随机将它们填充到另一个数据测试中生成文件
答案 0 :(得分:2)
您可以使用数组或变体,例如:
Dim dat as Variant
dat = Array(record1, record2, record3)
在循环中,您可以设置单个记录:
For i = 1 to 10
dat(i) = 'your record
next
在你的代码中试试这个:
Dim dat as Variant
With oRsOracle
.ActiveConnection = oConOracle
.Open "SELECT CalcGrp_Name FROM Calc_Group"
dat = oRsOracle.GetRows
.Close
End With
打印结果:
Dim i As Long
For i = LBound(dat) to UBound(dat)
Debug.Print dat(i)
Next
答案 1 :(得分:0)
尝试类似的东西
Dim Qdata as variant
Qdata= recordset.GetRows /// recordset is Adodb recordset
Qdata= Application.Transpose(Qdata)
最后你有漂亮的数组