Svojstvo „Recordset“

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

izraz je obavezan. Izraz koji daje jedan od objekata na listi „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
Next
End 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.Close
End 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 If
End Sub
Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×