Office
Aanmelden

Recordset, eigenschap

Van toepassing op

ComboBox-object

Form-object

ListBox-object

Report-object

Hiermee kunt u het ADO-object Recordset of het DAO-object Recordset instellen of als resultaat teruggeven dat staat voor de recordbron van het opgegeven formulier, rapport, besturingselement keuzelijst of besturingselement keuzelijst met invoervak. Lezen/schrijven.

expressie.Recordset

expressie Vereist. Een expressie die een van de objecten in de lijst Van toepassing op retourneert.

Opmerkingen

De eigenschap Recordset geeft als resultaat het recordsetobject dat de gegevens levert waarin wordt gebladerd in een formulier, rapport, keuzelijst of keuzelijst met invoervak. Als een formulier bijvoorbeeld op een query is gebaseerd, dan staat een verwijzing naar de eigenschap Recordset gelijk aan het klonen van een Recordset-object door dezelfde query te gebruiken. Anders dan bij het gebruik van de eigenschap RecordsetClone wordt bij het wijzigen van de huidige record in de recordset die als resultaat wordt teruggegeven als gevolg van de eigenschap Recordset van het formulier, ook de huidige record van het formulier ingesteld.

Deze eigenschap is alleen beschikbaar door VBA-code (Visual Basic for Applications) te gebruiken.

Het gedrag lezen/schrijven van de eigenschap Recordset wordt bepaald door het type recordset (ADO of DAO) en het type gegevens (Access of SQL) dat de door de eigenschap gedefinieerde recordset bevat.

Type recordset

Gebaseerd op SQL-gegevens

Gebaseerd op Access-gegevens

ADO

Lezen/schrijven

Lezen/schrijven

DAO

N.v.t.

Lezen/schrijven

In het onderstaande voorbeeld wordt een formulier geopend, wordt een recordset geopend en wordt vervolgens het formulier afhankelijk gemaakt van de recordset door de eigenschap Recordset van het formulier in te stellen op het nieuw gemaakte object 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

Gebruik de eigenschap Recordset:

  • Als u meerdere formulieren van één gegevensset afhankelijk wilt maken. Dit maakt de synchronisatie van meerdere formulieren mogelijk. Bijvoorbeeld,

    Set Me.Recordset = Forms!Form1.Recordset

  • Als u in combinatie met het Recordset-object methoden wilt gebruiken die niet direct worden ondersteund op formulieren. U kunt de eigenschap Recordset bijvoorbeeld in combinatie met de ADO- of DAO-methode Find gebruiken in een aangepast dialoogvenster voor het zoeken naar een record.

  • Als u een transactie (die kan worden teruggedraaid) wilt wikkelen rond een set bewerkingen die betrekking heeft op meerdere formulieren.

Als u de eigenschap Recordset van een formulier wijzigt, kan dat wijzigingen veroorzaken in de eigenschappen RecordSource, RecordsetType en RecordLocks. Ook is het mogelijk dat bepaalde gegevensgerelateerde eigenschappen worden genegeerd, bijvoorbeeld de eigenschappen Filter, FilterOn, OrderBy en OrderByOn

Als de methode Requery wordt aangeroepen voor de recordset van een formulier (bijvoorbeeld Forms(0).Recordset.Requery), kan het formulier daardoor niet-afhankelijk worden. Als u de gegevens wilt vernieuwen van een formulier dat van een recordset afhankelijk is, stelt u de eigenschap RecordSource van het formulier in op zichzelf (Forms(0).RecordSource = Forms(0).RecordSource).

Als een formulier afhankelijk is van een recordset, treedt een fout op als u de opdracht Formulierfilter gebruikt.

Voorbeeld

In het onderstaande voorbeeld wordt de eigenschap Recordset gebruikt om een nieuw exemplaar te maken van het Recordset-object van het huidige formulier, waarna de namen van de velden worden afgedrukt in het venster Foutopsporing.

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

In het volgende voorbeeld worden de eigenschap Recordset en het object Recordset gebruikt om een recordset te synchroniseren met de huidige record van een formulier. Wanneer een bedrijfsnaam wordt geselecteerd in een keuzelijst met invoervak, wordt met de methode FindFirst de record voor dat bedrijf opgezocht, waarna de gevonden record op het formulier wordt weergegeven.

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

Met de onderstaande programmacode kunt u vaststellen welk type recordset onder verschillende voorwaarden als resultaat wordt teruggegeven als gevolg van de eigenschap Recordset.

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
Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×