Primenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Odnosi se na

Objekat „ComboBox“

Objekat obrasca

Objekat „ListBox“

Objekat izveštaja

Daje ili postavlja ADO Recordset ili DAO Recordset objekat koji predstavlja izvor zapisa za navedeni obrazac, izveštaj, okvir sa listom opcija ili kontrolu kombinovanog okvira. Čitanje/pisanje.

izraz.Recordset

expression Obavezno. Izraz koji daje jedan od objekata sa liste „Odnosi se na“.

Primedbe

Svojstvo Recordset daje objekat skupa zapisa koji pruža podatke koji se pregledaju u obrascu, izveštaju, okviru sa listom opcija ili kontroli kombinovanog okvira. Na primer, ako je obrazac zasnovan na upitu, upućivanje na svojstvo Recordset ekvivalentno je kloniranju objekta Recordset pomoću istog upita. Međutim, za razliku od korišćenja svojstva RecordsetClone, promena toga koji je zapis trenutni u skupu zapisa koji daje svojstvo Recordset obrasca postavlja i trenutni zapis obrasca.

Ovo svojstvo je dostupno samo kada koristite Visual Basic for Applications (VBA) kôd.

Ponašanje čitanja/pisanja svojstva Recordset određuju tip skupa zapisa (ADO ili DAO) i tip podataka (Access ili SQL) koji se nalaze u skupu zapisa koji identifikuje svojstvo.

Tip skupa zapisa

Na osnovu SQL podataka

Na osnovu Access podataka

ADO

Čitanje/pisanje

Čitanje/pisanje

DAO

Nije primenljivo

Čitanje/pisanje

Sledeći primer otvara obrazac, otvara skup zapisa, a zatim povezuje obrazac sa skupom zapisa tako što postavlja svojstvo Recordset obrasca na novi napravljeni objekat 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

Koristite svojstvo Recordset:

  • Da biste povezali više obrazaca u zajednički skup podataka. To omogućava sinhronizaciju više obrazaca. Na primer,

    Set Me.Recordset = Forms!Form1.Recordset

  • Da biste koristili metode koji nisu direktno podržani u obrascima uz objekat Recordset. Na primer, svojstvo Recordset možete da koristite uz metode ADO Pronalaženje ili DAO Pronalaženje u prilagođenom dijalogu za pronalaženje zapisa.

  • Da biste završili transakciju (koja može da se vrati) nad skupom uređivanja koja utiču na više obrazaca.

Promena svojstva Recordset obrasca može da promeni i svojstva RecordSource, RecordsetType i RecordLocks. Neka svojstva povezana sa podacima takođe mogu da se zamene, na primer svojstva Filter, FilterOn, OrderBy i OrderByOn.

Pozivanje metoda Requery skupa zapisa obrasca (na primer, Forms(0).Recordset.Requery) može da izazove da obrazac postane nepovezan. Da biste osvežili podatke u povezanom skupu zapisa, postavite svojstvo RecordSource obrasca na njega samog (Forms(0).RecordSource = Forms(0).RecordSource).

Kada se obrazac poveže sa skupom zapisa, dolazi do greške ako koristite komandu „Filtriraj po obrascu“.

Primer

Sledeći primer koristi svojstvo Recordset za pravljenje nove kopije objekta Recordset od trenutnog obrasca, a zatim štampa imena polja u prozoru „Otklanjanje grešaka“.

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

Sledeći primer koristi svojstvo Recordset i objekat Recordset za sinhronizovanje skupa zapisa sa trenutnim zapisom obrasca. Kada se iz kombinovanog okvira izabere ime preduzeća, koristi se metod FindFirst za pronalaženje zapisa za to preduzeće, usled čega obrazac prikazuje pronađeni zapis.

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

Sledeći kôd doprinosi određivanju toga koji tip skupa zapisa daje svojstvo Recordset u različitim uslovima.

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

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.