从数据库提取值到数组中 – Excel-VBA

我连接到一个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提供的任何数据结构,我基本上想要使用这些值,并随机填充它们到另一个数据testing生成文件

您可以使用数组或变体,例如:

 Dim dat as Variant dat = Array(record1, record2, record3) 

在循环中,您可以设置个人logging:

 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