- Katılım
- 21 Eylül 2006
- Mesajlar
- 14
- Excel Vers. ve Dili
- xp türkçe
Selamlar;
Aşağıda MSSQL'de daha önceden oluşturulmuş bir StoreProcedure var ancak bunu ADO RecordSet'e alıp çalıştırmak istediğim zaman Nesne Kapalı Olduğundan işlem yapılamaz şeklinde hata veriyor bu işlemi RecordSet dışında bir özellikle yapma şansı varmı veya başka bir ADO özelliğimi kullanmam gerekiyor... Kod Örneği aşağıda belirtildiği gibidir....
//-------------------------------------------------
Private Sub btnBasla_Click()
Dim SenConn As ADODB.Connection
Dim SenRst As ADODB.Recordset
Dim strSQL, strWHERE, TableName, FindCode As String
Dim firscell As Integer
Dim baslikOK As Boolean
LoadGlobalStr
strSQL = "exec MUHASEBE_REPORT '01', '1', '3', '2008-01-01', '2008-01-31'"
Set SenConn = New ADODB.Connection
With SenConn
.CursorLocation = adUseClient
.Open strADOConString
Set SenRst = .Execute(strSQL)
End With
SenRst.MoveFirst
firstcell = 2
baslikOK = False
While Not SenRst.EOF
If Not baslikOK Then
For i = 0 To SenRst.Fields.Count - 1
ActiveSheet.Cells(firstcell - 1, i + 1) = SenRst.Fields(i).Name
Next
End If
For i = 0 To SenRst.Fields.Count - 1
ActiveSheet.Cells(firstcell, i + 1) = SenRst.Fields(i).Value
Next
baslikOK = True
firstcell = firstcell + 1
SenRst.MoveNext
Wend
End Sub
//----------------------------------------------------------------
Aşağıda MSSQL'de daha önceden oluşturulmuş bir StoreProcedure var ancak bunu ADO RecordSet'e alıp çalıştırmak istediğim zaman Nesne Kapalı Olduğundan işlem yapılamaz şeklinde hata veriyor bu işlemi RecordSet dışında bir özellikle yapma şansı varmı veya başka bir ADO özelliğimi kullanmam gerekiyor... Kod Örneği aşağıda belirtildiği gibidir....
//-------------------------------------------------
Private Sub btnBasla_Click()
Dim SenConn As ADODB.Connection
Dim SenRst As ADODB.Recordset
Dim strSQL, strWHERE, TableName, FindCode As String
Dim firscell As Integer
Dim baslikOK As Boolean
LoadGlobalStr
strSQL = "exec MUHASEBE_REPORT '01', '1', '3', '2008-01-01', '2008-01-31'"
Set SenConn = New ADODB.Connection
With SenConn
.CursorLocation = adUseClient
.Open strADOConString
Set SenRst = .Execute(strSQL)
End With
SenRst.MoveFirst
firstcell = 2
baslikOK = False
While Not SenRst.EOF
If Not baslikOK Then
For i = 0 To SenRst.Fields.Count - 1
ActiveSheet.Cells(firstcell - 1, i + 1) = SenRst.Fields(i).Name
Next
End If
For i = 0 To SenRst.Fields.Count - 1
ActiveSheet.Cells(firstcell, i + 1) = SenRst.Fields(i).Value
Next
baslikOK = True
firstcell = firstcell + 1
SenRst.MoveNext
Wend
End Sub
//----------------------------------------------------------------