Получение ошибки времени выполнения 3265 при попытке передать набор записей из хранимой процедуры SQL в переменную в VBA.
У меня есть пользовательский инструмент VBA Excel, который я пытаюсь разработать, который имеет доступ к запускунекоторые хранимые процедуры в базе данных, но я получаю ошибку времени выполнения, когда пытаюсь передать результат в переменную.
Sub DBConnect()
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
If Sheets("Billing Control").Range("K2").Value = Test Then
ConnectString = "Provider=SQLOLEDB;Server=xxx;Database=yyy;Trusted_Connection=yes;"
ElseIf Sheets("Billing Control").Range("K2").Value = Live Then
ConnectString = "Provider=SQLOLEDB;Server=xxx;Database=yyy;Trusted_Connection=yes;"
End If
Sub Run_SQL_Extract()
Dim ProcReturn As String
Dim SQLCode As String
Call DBConnect
Call SetDates
cn.Open ConnectString
cn.CommandTimeout = 360
SQLCode = "Exec storeprocname" & " '" & BillingMonth & "', '" & BillingMonthEnd & "'"
rs.Open SQLCode, cn
ProcReturn = rs.Fields(0).Value
rs.Close
cn.Close
MsgBox ProcReturn
End Sub
Хранимая процедура на стороне SQL
GOTO InvoiceGenerated;
Already_Billed:
Select 'Invoice Already Processed for this Date' as Result
GOTO ExitProc;
StageData_Exists:
Select 'Staging Data already exists for this period. Please revert back to zero billing state' as Result
GOTO ExitProc;
InvoiceGenerated:
Select 'Invoice Generated' as Result
Я ожидаю этогопередать один из трех результатов в переменную.
Это фактически вызывает ошибку времени выполнения 3265
Не удается найти элемент в коллекции, соответствующий запрошенному имени или порядковому номеру