Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA记录集/Oracle和Excel连接_Oracle_Vba_Excel_Recordset - Fatal编程技术网

VBA记录集/Oracle和Excel连接

VBA记录集/Oracle和Excel连接,oracle,vba,excel,recordset,Oracle,Vba,Excel,Recordset,我已在vba语句中安装了TRYSES记录集。 不幸的是,他只访问我数据库中的第一行。谁能帮我? 我的VBA不是很好,这是我的第一个项目。我希望有人能帮我写代码。多谢各位 Sub Testbox() Dim conn, Rs Dim strSQL As String Dim auswahl As Integer auswahl = MsgBox("Die Daten werden geladen", vbOKCancel, "Bitte auswählen") If auswahl = 1

我已在vba语句中安装了TRYSES记录集。 不幸的是,他只访问我数据库中的第一行。谁能帮我? 我的VBA不是很好,这是我的第一个项目。我希望有人能帮我写代码。多谢各位

Sub Testbox()

Dim conn, Rs
Dim strSQL As String
Dim auswahl As Integer

auswahl = MsgBox("Die Daten werden geladen", vbOKCancel, "Bitte auswählen")

If auswahl = 1 Then

connstring = "UID=user;PWD=passwort;DRIVER={Microsoft ODBC For Oracle};SERVER=server.WORLD;"
Set conn = New ADODB.Connection
With conn
    .ConnectionString = connstring
    .CursorLocation = adUseClient
    .Mode = adModeRead
    .Open
End With
Set Rs = CreateObject("ADODB.Recordset")
strSQL = "select * from table  where logdatum =1507"
Rs.Open strSQL, conn, 3, 3
Range("A2:A5000") = Rs("scanclient")
Range("B2:B500") = Rs("Sum")
Range("C2:C500") = Rs("batchclass")
Rs.Close
Set Rs = Nothing
conn.Close
Set conn = Nothing      

Else
Exit Sub

End If

End Sub

不幸的是,不可能像这样将数据从记录集中打印到工作表中:

Range("A2:A5000") = Rs("scanclient")
Range("B2:B500") = Rs("Sum")
Range("C2:C500") = Rs("batchclass")
您需要将此代码替换为以下代码:

Dim i As Long: i = 1
Do Until Rs.EOF
    i = i + 1
    Cells(i, 1) = Rs("scanclient")
    Cells(i, 2) = Rs("Sum")
    Cells(i, 3) = Rs("batchclass")
    Call Rs.MoveNext
Loop