Propriété Form.RecordsetClone (Access)
Utilisez la propriété RecordsetClone pour faire référence à l’objet Recordset d’un formulaire spécifié par la propriété RecordSource du formulaire. En lecture seule.
Syntaxe
expression. RecordsetClone
expressionVariable qui représente un objetForm.
Remarques
Le paramétrage de la propriété RecordsetClone est une copie de la requête ou table sous-jacente spécifiée par la propriété RecordSource du formulaire. Si un formulaire est basé sur une requête, par exemple, toute référence à la propriété RecordsetClone est équivalente au clonage de l’objet Recordset à l’aide de la même requête. Si vous appliquez alors un filtre au formulaire, l'objet Recordset reflète le filtrage.
Cette propriété n’est disponible qu’avec Visual Basic et est en lecture seule dans tous les modes.
Utilisez la propriété RecordsetClone pour vous déplacer ou effectuer des opérations dans les enregistrements d’un formulaire indépendants du formulaire lui-même. Par exemple, vous pouvez utiliser la propriété RecordsetClone lorsque vous souhaitez utiliser une méthode, telle que la méthode DAO Find , qui ne peut pas être utilisée avec les formulaires.
Lorsqu’un nouvel objet Recordset est ouvert, son premier enregistrement est l’enregistrement en cours. Si vous utilisez l’une des méthodes Find ou Move pour activer un autre enregistrement dans l’objet Recordset , vous devez synchroniser l’enregistrement actif dans l’objet Recordset avec l’enregistrement actif du formulaire en affectant la valeur de la propriété Bookmark DAO à la propriété Bookmark du formulaire.
Exemple
L’exemple suivant utilise la propriété RecordsetClone pour créer un clone de l’objet Recordset à partir du formulaire Orders , puis imprime les noms des champs dans la fenêtre Exécution.
Sub Print_Field_Names()
Dim rst As Recordset, intI As Integer
Dim fld As Field
Set rst = Me.RecordsetClone
For Each fld in rst.Fields
' Print field names.
Debug.Print fld.Name
Next
End Sub
L’exemple suivant utilise la propriété RecordsetClone et l’objet Recordset pour synchroniser l’enregistrement d’un jeu d’enregistrements avec l’enregistrement en cours du formulaire. Lorsqu’un nom de société est sélectionné dans une zone de liste déroulante, la méthode FindFirst est utilisée pour localiser l’enregistrement de cette société et la propriété Bookmark DAO de l’objet Recordset est affectée à la propriété Bookmark du formulaire, ce qui entraîne l’affichage de l’enregistrement trouvé par le formulaire.
Sub SupplierID_AfterUpdate()
Dim rst As Recordset
Dim strSearchName As String
Set rst = Me.RecordsetClone
strSearchName = Str(Me!SupplierID)
rst.FindFirst "SupplierID = " & strSearchName
If rst.NoMatch Then
MsgBox "Record not found"
Else
Me.Bookmark = rst.Bookmark
End If
rst.Close
End Sub
Utilisez la propriété RecordCount pour compter le nombre d’enregistrements dans un objet Recordset . L’exemple suivant montre comment combiner la propriété RecordCount et la propriété RecordsetClone pour compter les enregistrements dans un formulaire.
Forms!Orders.RecordsetClone.MoveLast
MsgBox "My form contains " _
& Forms!Orders.RecordsetClone.RecordCount _
& " records.", vbInformation, "Record Count"
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.