Bartek
Borczyk
Operator liczb i
słów
Temat: ADO, STORED PROCEDURE, PARAMETER
Raport chce zrobić a w temacie zielonkawy jestem.Założenia:
- raport powstaje w ekselu za pomocą vba
- łączę się z sql serverem przez ado
- aby wyciągnąć dane muszę wykonać procedurę P i przekazać do niej kilka parametrów
- procedura wypełnia mi tabelę T, z której chcę pobrać dane
- zaadoptowałem sobie z dobrego źródła kawałek kodu
Set conKwerenda_Połączenie = New ADODB.Connection
With conKwerenda_Połączenie
.ConnectionString = strKwerenda_ŁańcuchPołączenia
.Open , , "*"
End With
Set comKwerenda_Polecenie = New ADODB.Command
With comKwerenda_Polecenie
.ActiveConnection = conKwerenda_Połączenie
.CommandType = adCmdStoredProc
.CommandTimeout = 240
.CommandText = "wusr_PrzygotujStanNaDzien"
.Parameters("@Mag").Value = "%"
.Parameters("@Symkar").Value = "%"
.Parameters("@OpiKar").Value = "%"
.Parameters("@Data").Value = #11/19/2009#
.Parameters("@BezZero").Value = 1
.Parameters("@StanWar").Value = 0
Set rcsKwerenda = .Execute
End With
With rcsKwerenda
If Not .EOF Then
For i = 0 To .Fields.Count - 1
Worksheets(1).Cells(1, i + 1).Value = .Fields(i).Name
Next i
Worksheets(1).Range("A2").CopyFromRecordset rcsKwerenda
.Close
End If
End With
- i powstaje problem bo na linii If Not .EOF Then pojawia się błąd 'Operacja nie jest dopuszczalna, gdy obiekt jest zamknięty'
Szczerze mówiąc jak z Command.Execute gdzie wykonuję procedurę wypełnia mi się Recordset na bazie tabeli T. Nie czaję tego na chwilę obecną :/Bartosz Borczyk edytował(a) ten post dnia 20.11.09 o godzinie 17:28