Функция Vba не запрашивает базу данных оракула
Я новичок в этом, и у меня есть этот код, который возвращает #value (без значения) в ячейке Excel, когда я ввожу значение параметра. Он работает с использованием sub, но мне нужна эта функция, которая запрашивает таблицу базы данных и извлекает необходимые данные.
Function PullData(CR As String)
Dim Conn As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim Cmd As New ADODB.Command
Dim sqlText As String
Dim Row As Long
Dim Findex As Long
Dim Data As Worksheet
Dim X As Long
Set Data = Sheets("Sheet1")
Data.Select
Cells.ClearContents
Conn.Open "PROVIDER=OraOLEDB.Oracle ;DATA SOURCE=mydb;USER ID=x;PASSWORD=y"
Cmd.ActiveConnection = Conn
Cmd.CommandType = adCmdText
sqlText = "select mycol from mytable where ID = & CR"
Cmd.CommandText = sqlText
Set RS = Cmd.Execute
For X = 1 To RS.Fields.Count
Data.Cells(1, X) = RS.Fields(X - 1).Name
Next
If RS.RecordCount < Rows.Count Then
Data.Range("A2").CopyFromRecordset RS
Else
Do While Not RS.EOF
Row = Row + 1
For Findex = 0 To RS.Fields.Count - 1
If Row >= Rows.Count - 50 Then
Exit For
End If
Data.Cells(Row + 1, Findex + 1) = RS.Fields(Findex).Value
Next Findex
RS.MoveNext
Loop
End If
Cells.EntireColumn.AutoFit
End Function