Clone, méthode (ADO)
Crée un objet Recordset dupliqué à partir d’un objet Recordset existant. Si vous le souhaitez, spécifie que le clone doit être en lecture seule.
Syntaxe
Set rstDuplicate = rstOriginal.Clone (LockType)
Valeur de retour
Retourne une référence d’objet Recordset.
Paramètres
rstDuplicate
Variable d’objet qui identifie le Recordset dupliqué objet à créer.
rstOriginal
Variable d’objet qui identifie l’objet Recordset à dupliquer.
LockType
Optionnel. Valeur LockTypeEnum qui spécifie le type de verrou du jeu d’enregistrements d’origine, ou un jeu d’enregistrements en lecture seule . Les valeurs valides sont adLockUnspecified ou adLockReadOnly.
Remarques
Utilisez la méthode Cloner pour créer plusieurs objets recordset dupliqués, en particulier si vous souhaitez conserver plusieurs enregistrements actifs dans un jeu d’enregistrements donné. L’utilisation de la méthode clone de est plus efficace que la création et l’ouverture d’un nouvel objet recordset qui utilise la même définition que l’objet d’origine.
La propriété Filter du jeu d’enregistrements d’origine, le cas échéant, ne sera pas appliquée au clone. Définissez la propriété Filter du nouveau jeu d’enregistrements pour filtrer les résultats. La façon la plus simple de copier n’importe quelle valeur Filtre existante consiste à l’affecter directement, comme suit.
rsNew.Filter = rsOriginal.Filter
L’enregistrement actuel d’un clone nouvellement créé est défini sur le premier enregistrement.
Les modifications apportées à un objet Recordset sont visibles dans tous ses clones, quel que soit le type de curseur. Toutefois, une fois que vous avez exécuté sur le jeu d’enregistrements d’origine, les clones ne seront plus synchronisés avec l’objet original.
La fermeture du jeu d’enregistrements d’origine ne ferme pas ses copies, ni ne ferme une copie ferme l’original ou l’une des autres copies.
Vous ne pouvez cloner qu’un objet Recordset qui prend en charge les signets. Les valeurs de signet sont interchangeables ; autrement dit, une référence de signet d’un objet Recordset fait référence au même enregistrement dans l’un de ses clones.
Certains recordset événements déclenchés se produisent également dans tous les clones Recordset. Toutefois, étant donné que l’enregistrement actif peut différer entre les jeux d’enregistrements clonés , les événements peuvent ne pas être valides pour le clone. Par exemple, si vous modifiez une valeur d’un champ, un événement WillChangeField se produit dans le jeu d’enregistrements modifié et dans tous les clones. Le paramètre Fields de l’événement WillChangeField d’un jeu d’enregistrements cloné (où la modification n’a pas été apportée) fait référence aux champs de l’enregistrement actif du clone, qui peut être un enregistrement différent de l’enregistrement actif du jeu d’enregistrements d’origine où la modification s’est produite.
Le tableau suivant fournit une liste complète de tous les événements Recordset. Il indique s’ils sont valides et déclenchés pour tous les clones de jeu d’enregistrements générés à l’aide de la méthode Clone.
Événement | Déclenché dans des clones ? |
---|---|
EndOfRecordset | Non |
fetchComplete | Non |
fetchProgress | Non |
FieldChangeComplete | Oui |
moveComplete | Non |
recordChangeComplete | Oui |
RecordsetChangeComplete | Non |
WillChangeField | Oui |
WillChangeRecord | Oui |
WillChangeRecordset | Non |
WillMove | Non |
S’applique à
Voir aussi
Clone, méthode - Exemple (VB)
clone, méthode - Exemple (VBScript)
Clone, méthode - Exemple (VC++)