Taikoma

Objektas ComboBox

Objektas Form

Objektas ListBox

Objektas Report

Pateikia arba nustato ADO įrašų rinkinio arba DAO RecordSet objektą, kuris nurodo įrašo šaltinis nurodytai formai, ataskaitos, sąrašo lauko valdikliui arba pasirinktinio įvedimo lauko valdikliui. 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
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

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Ar esate patenkinti vertimo kokybe?
Kas turėjo įtakos jūsų patirčiai?

Dėkojame už jūsų atsiliepimus!

×