Applies ToAccess voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

  • Methoden gebruiken met het Object Recordset die niet rechtstreeks worden ondersteund in formulieren. U kunt bijvoorbeeld de eigenschap Recordset gebruiken met de methoden ADO Zoeken of DAO Zoeken in een aangepast dialoogvenster om een record te zoeken.

  • 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    NextEnd 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.CloseEnd 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 IfEnd Sub

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.