Ypatybė Recordset

Taikoma

Objektas ComboBox

Objektas Form

Objektas ListBox

Objektas Report

Grąžina arba nustato objektą ADO Recordset arba DAO Recordset, nurodantį konkrečios formos, ataskaitos, sąrašo lauko valdiklio arba pasirinktinio įvedimo lauko įrašo šaltinį. Skaitoma / rašoma reikšmė.

reiškinys.Recordset

reiškinys būtinas. Reiškinys, kuris pateikia vieną iš sąrašo Taikoma objektų.

Pastabos

Ypatybė Recordset grąžina objektą Recordset, kuris pateikia formoje, ataskaitoje, sąrašo lauko valdiklyje arba pasirinktinio įvedimo lauko valdiklyje naršomus duomenis. Pavyzdžiui, jei forma pagrįsta užklausa, nuoroda į ypatybę Recordset atitinka objekto Recordset klonavimą naudojant tą pačią užklausą. Tačiau, skirtingai nei naudojant ypatybę RecordsetClone, keičiant, kuris įrašas, grąžinamas formos ypatybės Recordset, yra dabartinis, taip pat nustatomas dabartinis formos įrašas.

Ši ypatybė galima tik naudojant „Visual Basic for Applications“ (VBA) kodą.

Ypatybės Recordset skaitymo / rašymo veikimą nustato įrašų rinkinio tipas (ADO ir DAO) bei įrašų rinkinyje esantis ypatybės atpažintas duomenų tipas („Access“ arba SQL).

Duomenų rinkinio tipas

Naudojant SQL duomenis

Naudojant „Access“ duomenis

ADO

Skaitoma / rašoma

Skaitoma / rašoma

DAO

Netaikoma

Skaitoma / rašoma

Šiame pavyzdyje atidaroma forma, atidaromas įrašų rinkinys, tada forma susiejama su įrašų rinkiniu priskiriant formos ypatybę Recordset naujai sukurtam objektui 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

Naudokite ypatybę Recordset šiais atvejais:

  • Norėdami susieti kelias formas su bendru duomenų rinkiniu. Tai leidžia sinchronizuoti kelias formas. Pavyzdžiui,

    Set Me.Recordset = Forms!Form1.Recordset

  • Norėdami su objektu Recordset naudoti metodus, kurie nėra tiesiogiai palaikomi formose. Pavyzdžiui, norėdami rasti įrašą, galite naudoti ypatybę Recordset su ADO Find arba DAO Find metodais pasirinktiniame dialogo lange.

  • Norėdami kurti operaciją (kuri gali būti atšaukta) redagavimų rinkinio, kuris paveikia kelias formas, pagrindu.

Pakeitus formos ypatybę Recordset, taip pat gali būti pakeistos ypatybės RecordSource, RecordsetType ir RecordLocks. Taip pat gali būti perrašytos kai kurios su duomenimis susijusios ypatybės, pvz., ypatybės Filter, FilterOn, OrderBy ir OrderByOn.

Iškvietus formos įrašų rinkinio metodą Requery (pvz., Forms(0).Recordset.Requery), forma gali tapti nesusieta. Norėdami atnaujinti formos, susietos su įrašų rinkiniu duomenis, nustatykite formos ypatybę RecordSource kaip ją pačią (Forms(0).RecordSource = Forms(0).RecordSource).

Kai forma susieta su įrašų rinkiniu ir naudojate komandą Filtruoti pagal formą, įvyksta klaida.

Pavyzdys

Šiame pavyzdyje naudojama ypatybė Recordset, norint sukurti naują objekto Recordset kopiją iš dabartinės formos, tada derinimo lange spausdinami laukų pavadinimai.

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

Kitame pavyzdyje naudojama ypatybė Recordset ir objektas Recordset norint sinchronizuoti įrašų rinkinį su formos dabartiniu įrašu. Kai įmonės pavadinimas išrinktas pasirinktinio įvedimo lauke, metodas FindFirst naudojamas rasti tos įmonės įrašą, todėl forma rodo surastą įrašą.

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

Šis kodas padeda nustatyti, kokį įrašų rinkinio tipą grąžina ypatybė Recordset skirtingomis sąlygomis.

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
Tobulinkite savo „Office“ įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×