Svojstvo Recordset

Važno :  Ovaj je članak strojno preveden. Pogledajteizjavu o odricanju od odgovornosti. Verziju ovog članka na engleskom potražite ovdje.

Primjenjuje se na

Objekt ComboBox

Objekt Form

Objekt ListBox

Objekt Report

Postavlja ili vraća (prikazuje) ADO Recordset ili DAO Recordset objekt koji predstavlja izvor zapisa određenog obrasca, izvještaja, kontrole okvir popisa ili kontrole kombinirani okvir. Čitaj/piši.

izraz.Recordset

izraz Obavezno. Izraz koji vraća jedan od objekata na popisu Primjenjuje se na.

Napomene

Svojstvo Recordset vraća (prikazuje) objekt skup zapisa koji daje podatke za pregledavanje na obrascu, izvještaju, kontroli okvir popisa ili kontroli kombinirani okvir. Ako se obrazac bazira na upitu, na primjer, pozivajući se na svojstvo Recordset to je isto što i kloniranje objekta Recordset korištenjem istog upita. Međutim za razliku od svojstva RecordsetClone, promjena koji je zapis trenutni u skupu zapisa koji vraća svojstvo Recordset tog obrasca, postavlja trenutni zapis i na samom obrascu.

Ovo svojstvo je dostupno samo pomoću jezika Visual Basic for Applications (VBA) kod.

Ponašanje čitaj/piši svojstva Recordset određeno je vrstom skupa zapisa (ADO ili DAO) i vrstom podataka (Access ili SQL) sadržanih u skupu zapisa određenim tim svojstvom.

Skup slogova Vrsta

Temeljen na SQL podacima

Temeljen na podacima programa Access

ADO

Čitaj/Piši

Čitaj/Piši

DAO

Nije dostupno

Čitaj/Piši

Sljedeći primjer otvara obrazac, otvara skup zapisa, te zatim povezuje obrazac sa skupom zapisa postavljanjem svojstva obrasca Recordset na novostvoreni Recordset objekt.

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

Upotreba svojstva Recordset:

  • Povezuje više obrazaca s običnim skupom podataka. Ovo omogućuje sinkronizaciju više obrazaca. Na primjer,

    Set Me.Recordset = Forms!Form1.Recordset

  • Za upotrebu metoda s objektom Recordset koje nisu izravno podržane na obrascu. Na primjer, svojstvom Recordset možete koristiti metodu ADO Traži ili DAO Traži u prilagođenom dijalogu za pretragu zapisa.

  • Provlačenje transakcije (koja se može povući) kroz skup naredbi koji utječe na više obrazaca.

Promjenom svojstva Recordset za obrazac, mogu se promijeniti svojstva RecordSource, RecordsetType i RecordLocks. Isto tako, neka svojstva podataka mogu biti zanemarena, na primjer, svojstva Filter, FilterOn, OrderBy i OrderByOn.

Pozivanjem metode Requery skupa zapisa obrasca (na primjer, Forms(0).Recordset.Requery) može uzrokovati prekidanjem veze obrasca. Za osvježavanje podataka na obrascu vezanom za skup zapisa postavite svojstvo RecordSource obrasca na sebe samog (Forms(0).RecordSource = Forms(0).RecordSource).

Kada je obrazac vezan za skup podataka, javlja se pogreška ako koristite naredbu Filtar na Obrascu.

Primjer

Sljedeći primjer koristi svojstvo Recordset za stvaranje nove kopije objekta Recordset iz trenutnog obrasca te ispisuje imena polja u prozoru pogreš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

Sljedeći primjer koristi svojstvo Recordset i Recordset objekt za sinkroniziranje skupa zapisa sa trenutnim zapisom obrasca. Kada je naziv tvrtke odabran u kombiniranom okviru, metoda FindFirst koristi se za pronalaženje zapisa te tvrtke, što rezultira prikazom nađenog zapisa na obrascu.

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

Sljedećim kodom utvrđuje se koja je vrsta skupa zapisa vraćena (prikazana) svojstvom Recordset pod različitim uvjetima.

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

Napomena : Izjava o odricanju od odgovornosti za strojni prijevod: ovaj je članak preveo računalni sustav bez ljudske intervencije. Microsoft nudi strojne prijevode da bi korisnicima koji ne razumiju engleski omogućio čitanje sadržaja o Microsoftovim proizvodima, uslugama i tehnologijama. Budući da je preveden strojno, članak možda sadrži pogreške u vokabularu, sintaksi ili gramatici.

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×