1
我已经编写了以下代码,以从Oracle DB中获取表中的数据,并使用VBA宏将数据转储到Excel表。
它从DB中的表中检索数据并将其转储到Excel表中。在Excel中,它重复显示第一行。对于一个实例,如果在DB中返回了45个不同的行,在Excel表中,返回了45行,但是在Excel中的所有45行都与第一行是DB相同。如何从数据库中获取精确的行到excel?使用Excel中的宏VBA从Oracle表检索数据到Excel
子结果()
Dim SQL As String
Dim OraDynaSet As Object
Dim i As Integer
SQL = "Select * from Employee where EmpID=20"
Set OraDynaSet = objDataBase.DBCreateDynaset(SQL, 0&)
If OraDynaSet.RecordCount > 0 Then
'There were records retrieved
OraDynaSet.MoveFirst
For ICOLS = 0 To OraDynaSet.Fields.Count - 1
.Cells(1, ICOLS + 1).Value = OraDynaSet.Fields(ICOLS).Name
Next ICOLS
'Loop the recordset for returned rows
For i = 0 To OraDynaSet.RecordCount - 1
For j = 0 To ICOLS - 1
.Cells(2 + i, j + 1) = OraDynaSet.Fields(j).Value
Next j
Next i
Else
MsgBox "No Matching records found"
End If
End Sub
得到的答案..........我应该给 “OraDynaSet.MoveNext” “下一步J” 之后...... .....当这种变化发生时,它可以正常工作。 – tester