الخاصية Recordset

ينطبق على

عنصر ComboBox

عنصر Form

عنصر ListBox

عنصر Report

يقوم بإرجاع أو تعيين عنصر ADO Recordset أو DAO Recordset الذين يمثلان مصدر السجلات بالنسبة للنموذج المحدد أو التقرير أو عنصر تحكم مربع القائمة أو عنصر تحكم مربع التحرير والسرد. القراءة/الكتابة.

تعبير.Recordset

التعبير Required. تعبير يقوم بإرجاع أحد العناصر الواردة في القائمة "ينطبق على".

ملاحظات

تقوم الخاصية Recordset بإرجاع العنصر recordset الذي يقدم البيانات التي يتم استعراضها في نموذج أو تقرير أو عنصر تحكم مربع قائمة أو عنصر تحكم مربع تحرير وسرد. على سبيل المثال، إذا كان النموذج يستند إلى استعلام، تصبح الإشارة إلى الخاصية Recordset هي المكافئ لاستنساخ العنصر Recordset باستخدام نفس الاستعلام. ومع ذلك، على عكس استخدام خاصية RecordsetClone، يؤدي تغيير السجل الحالي في "مجموعة السجلات" recordset التي تم إرجاعها بواسطة خاصية Recordset للنموذج إلى تعيين السجل الحالي للنموذج.

لا تتوفر هذه الخاصية إلا باستخدام التعليمة البرمجية لـ Visual Basic for Applications (‏‎‎VBA‏‎‎).

يتحدد سلوك القراءة/الكتابة للخاصية Recordset حسب نوع مجموعة السجلات recordset(ADO أو DAO) ونوع البيانات (Access أو SQL) المضمنة في مجموعة السجلات المعرفة بواسطة الخاصية.

نوع "مجموعة السجلات" Recordset

تستند إلى بيانات SQL

تستند إلى بيانات Access

ADO

القراءة/الكتابة

القراءة/الكتابة

DAO

غير متوفر

القراءة/الكتابة

يقوم المثال التالي بفتح نموذج وفتح مجموعة سجلات، ثم يربط النموذج بمجموعة السجلات عن طريق تعيين خاصية Recordset للنموذج إلى عنصر Recordset المنشأ حديثاً.

Global rstSuppliers As ADODB.RecordsetSub MakeRW()DoCmd.OpenForm "Suppliers"Set rstSuppliers = New ADODB.RecordsetrstSuppliers.CursorLocation = adUseClientrstSuppliers.Open "Select * From Suppliers", _CurrentProject.Connection, adOpenKeyset, adLockOptimisticSet Forms("Suppliers").Recordset = rstSuppliersEnd Sub

استخدم الخاصية Recordset:

  • لربط نماذج متعددة بمجموعة بيانات شائعة. يسمح هذا بمزامنة نماذج متعددة. على سبيل المثال،

    Set Me.Recordset = Forms!Form1.Recordset

  • لاستخدام أساليب مع العنصر Recordset، ليست مدعومة مباشرةً في النماذج. على سبيل المثال، يمكنك استخدام الخاصية Recordset مع الأساليب ADO Find أو DAO Find في حوار مخصص للبحث عن سجل.

  • إجراء التفاف لمعاملة (يمكن نشرها مرة أخرى) حول مجموعة من عمليات التحرير التي تؤثر على نماذج متعددة.

قد يؤدي تغيير الخاصية Recordset للنموذج أيضاً إلى تغيير الخصائص RecordSource وRecordsetType وRecordLocks. علاوة على ذلك، قد يتم تجاوز بعض الخصائص المرتبطة بالبيانات، على سبيل المثال، الخصائص Filter وFilterOn وOrderBy وOrderByOn.

قد يؤدي الاتصال بالأسلوب Requery لمجموعة سجلات نموذج (على سبيل المثال، Forms(0).Recordset.Requery) إلى جعل النموذج غير منضم. لتحديث البيانات في نموذج منضم إلى مجموعة سجلات، قم بتعيين الخاصية RecordSource للنموذج إلى نفسها (Forms(0).RecordSource = Forms(0).RecordSource).

عندما يكون النموذج منضماً إلى مجموعة سجلات، يحدث خطأ إذا استخدمت الأمر "تصفية حسب النموذج".

مثال

يستخدم المثال التالي الخاصية Recordset لإنشاء نسخة جديدة من العنصر Recordset من النموذج الحالي، ثم طباعة أسماء الحقول في نافذة "تتبع الأخطاء".

Sub Print_Field_Names()
Dim rst As DAO.Recordset, intI As Integer
Dim fld As Field
Set rst = Me.Recordset
For Each fld in rst.Fields
' Print field names.
Debug.Print fld.Name
Next
End Sub

يستخدم المثال التالي الخاصية Recordset والعنصر Recordset لمزامنة مجموعة سجلات مع السجل الحالي للنموذج. عندما يتم تحديد اسم شركة من مربع تحرير وسرد، يتم استخدام الأسلوب FindFirst لتحديد موقع السجل لهذه الشركة، مما يؤدي إلى قيام النموذج بعرض السجل الذي يتم العثور عليه.

Sub SupplierID_AfterUpdate()
Dim rst As DAO.Recordset
Dim strSearchName As String
Set rst = Me.Recordset
strSearchName = CStr(Me!SupplierID)
rst.FindFirst "SupplierID = " & strSearchName
If rst.NoMatch Then
MsgBox "Record not found"
End If
rst.Close
End Sub

تساعد التعليمة البرمجية التالية في تحديد نوع مجموعة السجلات التي يتم إرجاعها بواسطة الخاصية Recordset في الظروف المختلفة.

Sub CheckRSType()
Dim rs as Object
Set rs=Forms(0).Recordset
If TypeOf rs Is DAO.Recordset Then
MsgBox "DAO Recordset"
ElseIf TypeOf rs is ADODB.Recordset Then
MsgBox "ADO Recordset"
End If
End Sub
توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×