Applies ToAccess untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Berlaku untuk

Objek ComboBox

Objek Form

Objek ListBox

Objek Report

Mengembalikan atau mengatur objek ADO Recordset atau DAO Recordset yang mewakili sumber rekaman untuk formulir, laporan, kontrol kotak daftar, atau kontrol kotak kombo yang ditentukan. Baca/tulis.

ekspresi.Recordset

ekspresi Diperlukan. Ekspresi yang mengembalikan salah satu objek dalam daftar Berlaku Untuk.

Keterangan

Properti Recordset mengembalikan objek recordset yang menyediakan data yang ditelusuri dalam formulir, laporan, kontrol kotak daftar, atau kontrol kotak kombo. Jika formulir didasarkan pada kueri, misalnya, merujuk ke properti Recordset setara dengan mengkloning objek Recordset menggunakan kueri yang sama. Namun, tidak seperti menggunakan properti RecordsetClone, mengubah data yang saat ini berada di kumpulan data yang dikembalikan oleh properti Recordset formulir juga mengatur data formulir saat ini.

Properti ini hanya tersedia dengan menggunakan kode Visual Basic for Applications (VBA).

Perilaku baca/tulis properti Recordset ditentukan oleh tipe kumpulan data (ADO atau DAO) dan tipe data (Access atau SQL) yang terdapat di kumpulan data yang diidentifikasi oleh properti.

Tipe kumpulan data

Berdasarkan data SQL

Berdasarkan data Access

ADO

Baca/Tulis

Baca/Tulis

DAO

N/A

Baca/Tulis

Contoh berikut membuka formulir, membuka kumpulan data, lalu mengikat formulir ke kumpulan data dengan mengatur properti Recordset formulir ke objek Recordset yang baru dibuat.

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

Gunakan properti Recordset:

  • Untuk mengikat beberapa formulir ke suatu kumpulan data umum. Ini memungkinkan sinkronisasi beberapa formulir. Misalnya,

    Set Me.Recordset = Forms!Form1.Recordset

  • Untuk menggunakan metode dengan objek Recordset yang tidak didukung secara langsung pada formulir. Misalnya, Anda bisa menggunakan properti Recordset dengan metode Temukan ADO atau Temukan DAO dalam dialog kustom untuk menemukan catatan.

  • Untuk mengumpulkan transaksi (yang dapat dikembalikan) di sekitar kumpulan editan yang memengaruhi beberapa formulir.

Mengubah properti Recordset formulir juga dapat mengubah properti RecordSource, RecordsetType, dan RecordLocks. Selain itu, beberapa properti yang terkait dengan data mungkin akan ditimpa, misalnya, properti Filter, FilterOn, OrderBy, dan OrderByOn.

Memanggil metode Requery dari kumpulan data formulir (misalnya, Forms(0).Recordset.Requery) dapat membuat formulir menjadi tidak terikat. Untuk merefresh data di formulir yang terikat ke kumpulan data, atur properti RecordSource formulir ke dirinya sendiri (Forms(0).RecordSource = Forms(0).RecordSource).

Ketika formulir terikat ke kumpulan data, kesalahan akan terjadi jika Anda menggunakan perintah Filter menurut Formulir.

Contoh

Contoh berikut menggunakan properti Recordset untuk membuat salinan baru objek Recordset dari formulir saat ini lalu mencetak nama bidang di jendela Debug.

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

Contoh berikutnya menggunakan properti Recordset dan objek Recordset untuk menyinkronkan kumpulan data dengan data formulir saat ini. Jika nama perusahaan dipilih dari kotak kombo, metode FindFirst digunakan untuk menemukan data perusahaan tersebut, sehingga formulir menampilkan data yang ditemukan.

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

Kode berikut membantu menentukan tipe kumpulan data yang dikembalikan oleh properti Recordset dalam situasi yang berbeda.

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

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.