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