Atribuut Recordset (Kirjekomplekt)

Rakenduskoht

Objekt ComboBox

Objekt Form

Objekt Listbox

Objekt Report

Tagastab või seab ADO-kirjekomplekti või DAO-kirjekomplekti objekti, mis esindab määratud vormi, aruande, loendiboksi juhtelemendi või liitboksi juhtelemendi kirje allikat. Lugemis-/kirjutamisõigusega.

avaldis.Recordset

avaldis (nõutav). Avaldis, mis tagastab mõne objekti, mis on loendis Rakenduskoht.

Märkused

Atribuut Recordset (Kirjekomplekt) tagastab selle kirjekomplekti, mis pakub vormis, aruandes, loendiboksi juhtelemendis või liitboksi juhtelemendis sirvitavaid andmeid. Kui vorm põhineb päringul, on näiteks viitamine atribuudile Recordset (Kirjekomplekt) samaväärne atribuudi Recordset (Kirjekomplekt) kloonimisega sama päringu abil. Kuid erinevalt atribuudist RecordsetClone (Kirjekomplekti kloon) määratakse vormi atribuudi Recordset (Kirjekomplekt) tagastatud kirjekomplekti korral praeguse kirje muutmisel atribuudi poolt ka praegune kirje.

See atribuut on saadaval ainult Visual Basic for Applications (VBA) koodi kasutades.

Atribuudi Recordset (Kirjekomplekt) lugemis- ja kirjutamisõiguse käitumine määratakse kirjekomplekti tüübiga (ADO või DAO) ja atribuudi tuvastatud kirjekomplektis sisalduva andmetüübiga (Access või SQL).

Kirjekomplekti tüüp

SQL-i andmete põhjal

Accessi andmete põhjal

ADO

Lugemis-/kirjutamisõigusega

Lugemis-/kirjutamisõigusega

DAO

Pole saadaval

Lugemis-/kirjutamisõigusega

Järgmises näites avatakse vorm, seejärel avatakse kirjekomplekt ning seotakse vorm kirjekomplektiga, seades vormi atribuudi Recordset (Kirjekomplekt) äsja loodud objekti Kirjekomplekt atribuudiks.

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

Atribuuti Recordset (Kirjekomplekt) saab kasutada järgmistel viisidel.

  • Mitme vormi sidumine üldise andmekomplektiga. See võimaldab sünkroonida mitut vormi. Näiteks

    Set Me.Recordset = Forms!Form1.Recordset

  • Otsese vormide toeta meetodite kasutamine objekti Kirjekomplekt korral. Näiteks saate atribuuti Recordset (Kirjekomplekt) kirje otsimisel kohandatud dialoogiboksis kasutada koos meetodiga ADO Find (Otsi) või DAO Find (Otsi).

  • Kande murdmine (mida saab tagasi pöörata) mitut vormi mõjutava muudatustekogumi suhtes.

Vormi atribuudi Recordset (Kirjekomplekt) muutmine võib muuta ka atribuute RecordSource (Kirje allikas), RecordsetType (Kirjekomplekti tüüp) ja RecordLocks (Kirjelukud). Samuti võidakse alistada mõni andmeseostega atribuut (nt Filter (Filter), FilterOn (Filtreerimisalus), OrderBy (Järjestusalus) ja OrderByOn (Järjestusalus sees)).

Vormi kirjekomplekti meetodi Requery (Korduspäring) (nt Forms(0).Recordset.Requery) kutsumine võib põhjustada vormi seoste tühistamise. Kirjekomplektiga seotud vormi andmete värskendamiseks määrake kirjekomplektiga seotud vormi atribuudi RecordSource (Kirje allikas) sätteks tema enda väärtus (Forms(0).RecordSource = Forms(0).RecordSource).

Kirjekomplektiga seotud vormi korral tekib käsu „Vormi filter“ kasutamisel tõrge.

Näide.

Järgmises näites kasutatakse atribuuti Recordset (Kirjekomplekt) praegusest vormist objekti Kirjekomplekt uue koopia loomisel ning seejärel kuvatakse väljanimed silumisaknas.

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

Järgmises näites kasutatakse atribuuti Recordset (Kirjekomplekt) ja objekti Kirjekomplekt kirjekomplekti sünkroonimiseks vormi praeguse kirjega. Kui ettevõtte nimi on valitud liitboksist, kasutatakse selle ettevõtte kirje asukoha kindlaksmääramisel meetodit FindFirst (Otsi esimene), mille tulemusel kuvatakse leitud kirje vormis.

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

Järgmine kood aitab kindlaks määrata atribuudi Recordset (Kirjekomplekt) tagastatud kirjekomplekti tüübi eri tingimuste korral.

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
Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×