Office
Pierakstīties

Rekvizīts Recordset

Attiecas uz

Objekts ComboBox

Objekts Form

Objekts ListBox

Objekts Report

Atgriež vai iestata ADO Recordset vai DAO Recordset objektu, kas ir ierakstu avots norādītajai veidlapai, atskaitei, sarakstlodziņa vadīklai vai kombinētā lodziņa vadīklai. Lasāms/rakstāms.

expression.Recordset

expression Obligāti. Izteiksme, kas atgriež vienu no objektiem sarakstā Attiecas uz.

Piezīmes

Rekvizīts Recordset atgriež ierakstkopas objektu, kurš norāda datus pārlūkošanai veidlapā, atskaitē, sarakstlodziņa vadīklā vai kombinētā lodziņa vadīklā. Ja veidlapas pamatā ir, piemēram, vaicājums, atsauce uz rekvizītu Recordset ir ekvivalenta Recordset objekta klonēšanai, izmantojot to pašu vaicājumu. Tomēr atšķirībā no rekvizīta RecordsetClone izmantošanas pašreizējā ieraksta maiņa ierakstkopā, kuru atgriež veidlapas rekvizīts Recordset, arī iestata veidlapas pašreizējo ierakstu.

Šis rekvizīts ir pieejams tikai tad, ja tiek lietots Visual Basic for Applications (VBA) kods.

Rekvizīta Recordset lasīšanas/rakstīšanas darbību nosaka ierakstkopas tips (ADO vai DAO) un rekvizīta identificētajā ierakstkopā iekļauto datu tips (Access vai SQL).

Ierakstkopas tips

Pamatā SQL dati

Pamatā Access dati

ADO

Lasīšana/rakstīšana

Lasīšana/rakstīšana

DAO

Nav pieejams

Lasīšana/rakstīšana

Piemērā tālāk tiek atvērta veidlapa, atvērta ierakstkopa, un pēc tam veidlapa tiek saistīta ar ierakstkopu, kā veidlapas rekvizīta Recordset vērtību iestatot tikko izveidoto Recordset objektu.

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

Izmantojiet rekvizītu Recordset, lai veiktu tālāk aprakstītās darbības.

  • Vairāku veidlapu saistīšana ar kopīgu datu kopu. Tā var sinhronizēt vairākas veidlapas. Piemērs:

    Set Me.Recordset = Forms!Form1.Recordset

  • Tādu metožu lietošana Recordset objektam, kuras netiek tieši atbalstītas veidlapām. Piemēram, var izmantot rekvizītu Recordset ar metodēm ADO Find vai DAO Find pielāgotā dialoglodziņā, lai atrastu ierakstu.

  • Transakcijas (kurai var veikt atriti) aplaušana ap rediģējumu kopu, kas var ietekmēt vairākas veidlapas.

Veidlapas rekvizīta Recordset izmaiņas var radīt izmaiņas arī rekvizītiem RecordSource, RecordsetType un RecordLocks. Var arī tikt ignorēti daži ar datiem saistīti rekvizīti, piemēram, rekvizīti Filter, FilterOn, OrderBy un OrderByOn.

Veidlapas ierakstkopas metodes Requery izsaukums (piemēram, Forms(0).Recordset.Requery) var izraisīt veidlapas atsaistīšanu. Lai atsvaidzinātu datus veidlapā, kura ir saistīta ar ierakstkopu, kā rekvizīta RecordSource vērtību iestatiet šo pašu rekvizītu (Forms(0).RecordSource = Forms(0).RecordSource).

Kad veidlapa ir saistīta ar ierakstkopu, rodas kļūda, ja tiek izmantota komanda Filtrēšana pēc formas.

Piemērs

Šajā piemērā rekvizīts Recordset tiek izmantots, lai izveidotu jaunu Recordset objekta kopiju no pašreizējās veidlapas un pēc tam drukātu lauku nosaukumus atkļūdošanas logā.

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

Nākamajā piemērā rekvizīts Recordset un Recordset objekts tiek izmantots, lai sinhronizētu ierakstkopu ar veidlapas pašreizējo ierakstu. Kombinētajā lodziņā atlasot uzņēmuma nosaukumu, tiek izmantota metode FindFirst, lai atrastu attiecīgā uzņēmuma ierakstu un veidlapā tiktu rādīts atrastais ieraksts.

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

Tālāk redzamais kods palīdz noteikt, kāda tipa ierakstkopu rekvizīts Recordset atgriež pie dažādiem nosacījumiem.

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
Paplašiniet savas Office prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×