นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

นำไปใช้กับ

วัตถุ ComboBox

วัตถุ Form

วัตถุ ListBox

วัตถุ Report

ส่งกลับหรือตั้งค่าวัตถุ ชุดระเบียน ADO หรือ ชุดระเบียน DAO ที่แสดงถึง แหล่งข้อมูลระเบียน สําหรับฟอร์ม รายงาน ตัวควบคุมกล่องรายการ หรือตัวควบคุมกล่องคําสั่งผสมที่ระบุ อ่าน/เขียน

นิพจน์. Recordset

นิพจน์ จำเป็น นิพจน์ที่ส่งกลับวัตถุใดวัตถุหนึ่งในรายการ นําไปใช้กับ

ข้อสังเกต

คุณสมบัติ 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 กับวิธีการ ค้นหา ADO หรือ 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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ