Access 2003'te basit bir form, bir sorgu ve bir rapor var. VBA kullanarak bir kayıt kümesindeki sonuçları bir kayıt kümesinde işlemek ve daha sonra bu raporu RecordSource olarak iletmek zorundayım.ADODB Kayıt Raporu Olarak Kayıt Raporu Kayıt Kaynağı
Kayıt kümesini RecordSet olarak bildirir ve Name özelliğini raporun RecordSource olarak kullanırsa, o zaman çalışır. Ancak, kayıt kümesini düzenlemem gerektiğinden, bir ADODB RecordSet'i aşağıdaki gibi kullanmak daha kolay olurdu.
Kayıt kümesi, global bir modülde Dim rs As ADODB.RecordSet
olarak bildirilmiştir. Kodun geri kalanı;
Dim db As Database
Set db = CurrentDb
Dim con As ADODB.Connection
Set con = CurrentProject.Connection
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = con
rs.Source = "Select * from XXX"
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset
rs.Open
'manipulate rs here....'
Raporun Kayıt Kaynağı'nı myReport.RecordSource = rs.Name olarak geçirirdim. Ancak, ADODB'nin bir Name özelliği yoktur.
Bu kayıt kümesini RecordSource olarak rapora nasıl aktarabilirim? Hafızam hala gibi
Teşekkür
Neden bunu yapmak zorunda düşünüyorsunuz? Neden Recordsource'u raporun OnOpen etkinliğine yerleştiremiyorsunuz? –
Aslında raporun açık olayında raporun RecordSource özelliğini ayarlıyorum, ancak kayıt kümesinin adını ve ADODB Recordset'in bir name özelliğinin olmaması gerekir. – Sivakanesh
Bir recordset kullanmayın demiyorum - Recordset özelliğini açmak için kullanmakta olduğunuz SQL'in SQL değerini ayarlamanız yeterlidir. Çalışmayacak bir sebep varsa, onu göremiyorum. Bu, raporun Recordset'ini (yaşam boyu Access programlama programımın yıllar boyunca yapmam gereken bir şey) ayarlamak yerine, bunu yapmanın standart yoludur. –