ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

นำไปใช้กับ

วัตถุ 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
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

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

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

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

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ
เมื่อกดส่ง คำติชมของคุณจะถูกใช้เพื่อปรับปรุงผลิตภัณฑ์และบริการของ Microsoft ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×