חל על
Access של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

חל על

אובייקט ComboBox

אובייקט Form

אובייקט ListBox

אובייקט Report

החזרה או הגדרה של אובייקטי Recordset של ADO או Recordset של DAO שמייצגים את מקור רשומות עבור הטופס, הדוח, פקד תיבת הרשימה או פקד התיבה המשולבת שצוינו. קריאה/כתיבה.

expression.Recordset

ביטוי נדרש. ביטוי שמחזיר אחד מהאובייקטים ברשימה חל על.

הערות

המאפיין Recordset מחזיר את אובייקט ערכת הרשומות שמספק את הנתונים שבהם מתבצע עיון בטופס, בדוח, בפקד תיבת רשימה או בפקד תיבה משולבת. אם טופס מבוסס על שאילתה, לדוגמה, הפניה למאפיין Recordset תהיה שקולה לשכפול אובייקט Recordset באמצעות אותה השאילתה. עם זאת, שלא כמו השימוש במאפיין RecordsetClone, שינוי הרשומה הנוכחית בערכת הרשומות המוחזרת על-ידי המאפיין Recordset של טופס מגדיר גם את הרשומה הנוכחית של הטופס.

מאפיין זה זמין על-ידי שימוש בקוד Visual Basic for Applications‏ (VBA) בלבד.

אופן הפעולה של קריאה/כתיבה של המאפיין Recordset נקבע על-ידי סוג ערכת הרשומות (ADO או DAO) וסוג הנתונים (Access או SQL) הכלולים בערכת הרשומות שזוהתה על-ידי המאפיין.

סוג ערכת הרשומות

בהתבסס על נתוני 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 עם פעולת השירות Find של ADO או פעולת השירות Find של DAO בתיבת דו-שיח מותאמת אישית לחיפוש רשומה.

  • כדי לעטוף טרנזקציות (שניתן להחזירן למצב קודם) מסביב לקבוצת עריכות שמשפיעות על טפסים מרובים.

שינוי המאפיין 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    NextEnd 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.CloseEnd 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 IfEnd Sub

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.