Kayıtlı bir yordamın sonuçlarını bir forma döndürmeye çalışıyorum. Eğer bir nesne atamak her Set
kullanmak gerekirAccess formunu Kayıtlı Yordam'ın sonucuna bağlama
Private Sub RetrieveSiteInformation()
Dim cmd As New ADODB.Command
Dim cnn As New ADODB.Connection
Dim rs As ADODB.Recordset, f As ADODB.Field
With cnn
.Provider = "SQLOLEDB"
.ConnectionString =
"data source=UKFCSVR;initial catalog=ACACB;Trusted_Connection=Yes"
.Open
End With
Dim param1 As ADODB.Parameter
If Nz(txtSiteID_Search.Value, vbNullString) <> vbNullString Then
Set param1 = cmd.CreateParameter("@SiteID", adBigInt, adParamInput)
param1.Value = txtSiteID_Search.Value
cmd.Parameters.Append param1
End If
With cmd
.ActiveConnection = cnn
.CommandText = "spSiteInformation_Retrieve"
.CommandType = adCmdStoredProc
**' THIS FAILS**
Me.Recordset = .Execute
**' THIS LOOP WORKS FINE**
' Set rs = .Execute
' rs.MoveFirst
' For Each f In rs.Fields
' Debug.Print f.Name
' Next
' With rs
' Do While Not .EOF
' Debug.Print ![CompanyName] & " " & ![Postcode]
' .MoveNext
' Loop
' End With
End With
cnn.Close
End Sub
Remou: Güzel, form kayıtları kaynağı olarak bir ADO rs kullanabileceğini düşünmedim. FMY, önerdiğim PTQ çözümüne kıyasla herhangi bir fayda var mı? –
Yardımlarınız için çok teşekkürler ve başkaları .. Bu şimdi iyi çalışıyor .. – winshent
@iDevelop Hiç emin değilim, ama DAO ile yapamayacağınız ADO ile yapabileceğiniz şeyler var. Hem ADO hem de DAO kullanmanın avantajları vardır, bu yüzden her ikisini de kullanmak için Access'i kurmak genellikle iyi bir fikirdir. Ayrıca, geçişli sorgular ODBC kullanır düşünüyorum, ancak OLEDB daha iyi bir performans sunabilir (http://database.ittoolbox.com/documents/odbc-vs-oledb-18150) – Fionnuala