Properti Recordset

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. Sebagai contoh, Anda dapat menggunakan properti Recordset dengan metode Find ADO atau Find DAO dalam suatu dialog kustom untuk menemukan data.

  • 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
Next
End 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.Close
End 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 If
End Sub
Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×