S’applique à

Objet ComboBox

Objet Form

Objet ListBox

Objet Report

Renvoie ou définit l’objet Recordset ADO ou Recordset DAO représentant la source d’enregistrement pour le formulaire, l’état, le contrôle de zone de liste ou le contrôle de zone de liste modifiable spécifiés. Lecture/écriture.

expression.Recordset

expression Obligatoire. Expression qui renvoie l’un des objets de la liste S’applique à.

Remarques

La propriété Recordset renvoie l’objet Recordset qui fournit les données parcourues dans un formulaire, un état, une zone de liste ou une zone de liste modifiable. Par exemple, si un formulaire est basé sur une requête, faire référence à la propriété Recordset équivaut à cloner un objet Recordset à l’aide de la même requête. Toutefois, contrairement à la propriété ClôneRecordset, la modification de l’enregistrement actif dans le Recordset renvoyé par la propriété Recordset du formulaire a également poru effet de définir l’enregistrement actif du formulaire.

Cette propriété est disponible uniquement à l’aide d’un code Visual Basic pour Applications (VBA).

Le comportement de lecture/écriture de la propriété Recordset est déterminé par le type de recordset (ADO ou DAO) et le type des données (Access ou SQL) contenues dans le recordset identifié par la propriété.

Type de Recordset

Basé sur des données SQL

Basé sur des données Access

ADO

Lecture/écriture

Lecture/écriture

DAO

S/O

Lecture/écriture

L’exemple suivant ouvre un formulaire et un recordset, puis lie le formulaire au recordset en définissant la propriété Recordset du formulaire sur l’objet Recordset nouvellement créé.

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

Utilisez la propriété Recordset pour les opérations suivantes :

  • Lier plusieurs formulaires à un jeu de données commun. Cela permet de synchroniser plusieurs formulaires. Par exemple,

    Set Me.Recordset = Forms!Form1.Recordset

  • Utiliser avec l’objet Recordset des méthodes qui ne sont pas directement prises en charge sur les formulaires. Par exemple, vous pouvez utiliser la propriété Recordset avec les méthodes Rechercher d’ADO ou Rechercher de DAO dans une boîte de dialogue personnalisée pour trouver un enregistrement.

  • Inclure dans une transaction (qui peut être restaurée) un ensemble de modifications affectant plusieurs formulaires.

La modification de la propriété Recordset d’un formulaire peut également modifier les propriétés Source, TypeRecordset et Verrouillage. En outre, certaines propriétés associées aux données peuvent être remplacées, telles que Filtre, FiltreActif, TriPar et TriActif.

L’appel de la méthode Réexécuter la requête du recordset d’un formulaire (par exemple, Forms(0).Recordset.Requery) peut avoir pour effet que le formulaire devienne indépendant. Pour actualiser les données d’un formulaire dépendant d’un recordset, définissez la propriété Source du formulaire sur lui-même (Forms(0).RecordSource = Forms(0).RecordSource).

Quand un formulaire est dépendant d’un recordset, une erreur se produit si vous utilisez la commande Filtrer par formulaire.

Exemple

L’exemple suivant utilise la propriété Recordset pour créer une copie de l’objet Recordset du formulaire actif, puis imprime les noms des champs dans la fenêtre Débogage.

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

L’exemple suivant utilise la propriété Recordset et l’objet Recordset pour synchroniser un recordset avec l’enregistrement actif du formulaire. Quand un nom de société est sélectionné dans une zone de liste modifiable, la méthode TrouverPremier est utilisée pour trouver l’enregistrement de cette société, de sorte que le formulaire affiche l’enregistrement trouvé.

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

Le code suivant permet de déterminer le type de recordset renvoyé par la propriété Recordset en fonction de différentes conditions.

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

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.