Taikoma
„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Taikoma

Objektas ComboBox

Objektas Form

Objektas ListBox

Objektas Report

Grąžina arba nustato ADO įrašų rinkinio arba DAO įrašų rinkinio objektą, nurodantį nurodytos formos, ataskaitos, sąrašo lauko valdiklio arba pasirinktinio įvedimo lauko valdiklio įrašo šaltinis. Skaityti / rašyti.

reiškinys.Recordset

reiškinys Būtina. 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    NextEnd 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.CloseEnd 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 IfEnd Sub

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.