Objet Recordset (Versions 2.0, 2.1, 2.5 et 2.6)
Dim recordset As ADODB.Recordset

L'objet Recordset représente un ensemble complet de lignes à l'intérieur d'un tableau ou un ensemble d'enregistrements renvoyés suite à l'exécution d'une commande.

Propriété Recordset.AbsolutePage (Versions 2.0, 2.1, 2.5 et 2.6)

absolutepage = recordset.AbsolutePage
 

La propriété AbsolutePage renvoie ou définit une valeur indiquant la page active du jeu d'enregistrements.

Type de données

Long

 
Description

Après avoir défini la propriété AbsolutePage, l'objet ADO déplace le pointeur d'enregistrement vers le premier enregistrement à l'intérieur de la page spécifiée. La valeur de la propriété AbsolutePage peut être 1 ou le nombre renvoyé par la propriété PageCount, soit le nombre total de pages logiques. La propriété PageSize détermine la taille de chaque page.

En consultant la propriété AbsolutePage, vous pouvez déterminer la page logique contenant le pointeur d'enregistrement. La propriété AbsolutePage peut renvoyer une valeur Long indiquant la page active ou une valeur PositionEnum.

Si, lorsque vous consultez la propriété AbsolutePage, le pointeur d'enregistrement pointe vers le marqueur BOF, la valeur adPosBOF (-2) est renvoyée. Si le pointeur d'enregistrement pointe vers le marqueur EOF, la valeur adPosEOF (-3) est renvoyée. Si le jeu d'enregistrements est vide et que la position du pointeur d'enregistrement est inconnu ou que le « fournisseur de données » ne prend pas en charge la propriété AbsolutePage, la valeur adPosUnknown (-1) est renvoyée.

La propriété AbsolutePage est une propriété de base 1, ce qui signifie qu'une valeur 1 correspond à la première page du jeu d'enregistrements.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la propriété AbsolutePage.

 
Voir aussi

Enumération CursorOptionEnum, énumération PositionEnum, propriété Recordset.Count, propriété Recordset.Filter, propriété Recordset.PageSize, méthode Recordset.Supports

 
Propriété Recordset.AbsolutePosition (Versions 2.0, 2.1, 2.5 et 2.6)

absoluteposition = recordset.AbsolutePosition
 

La propriété AbsolutePosition renvoie ou définit une valeur indiquant la position actuelle de l'enregistrement dans le jeu d'enregistrements.

Type de données

Long

 
Description

Après avoir défini la propriété AbsolutePosition, l'objet ADO se déplace vers l'enregistrement qui se trouve à la position ordinale spécifiée. La valeur de la propriété AbsolutePosition peut être 1 ou le nombre renvoyé par la propriété RecordCount, soit le nombre total d'enregistrements du jeu d'enregistrements.

Lorsque vous définissez la propriété AbsolutePosition, ADO recharge un nouveau jeu d'enregistrements dans le cache, le premier enregistrement étant celui que vous avez spécifié. Le nombre d'enregistrements chargés dans le cache est défini par la propriété CacheSize.

En consultant la propriété AbsolutePosition, vous pouvez déterminer la position ordinale du pointeur d'enregistrement selon la valeur Long ou PositionEnum.

Si, lorsque vous consultez la propriété AbsolutePosition, le pointeur d'enregistrement pointe vers le marqueur BOF, la valeur adPosBOF (-2) est renvoyée. Si le pointeur d'enregistrement pointe vers le marqueur EOF, la valeur adPosEOF (-3) est renvoyée. Si le jeu d'enregistrements est vide et que la position du pointeur d'enregistrement est inconnu ou que le « fournisseur de données » ne prend pas en charge la propriété AbsolutePosition, la valeur adPosUnknown (-1) est renvoyée.

Fait important, la propriété AbsolutePosition peut changer suite à la suppression d'un enregistrement précédent ou même lorsque le jeu d'enregistrements est obligatoire. L'utilisation de signets est recommandée pour marquer la position des enregistrements.

La propriété AbsolutePosition est une propriété de base 1, ce qui signifie qu'une valeur 1 correspond au premier enregistrement du jeu d'enregistrements.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la propriété AbsolutePosition.

 
Voir aussi

Enumération CursorOptionEnum, énumération PositionEnum, propriété Recordset.CacheSize, propriété Recordset.RecordCount, méthode Recordset.Supports

 
Propriété Recordset.ActiveCommand (Versions 2.0, 2.1, 2.5 et 2.6)

activecommand = recordset.ActiveCommand
 

La propriété ActiveCommand renvoie l'objet Command utilisé pour renseigner un objet Recordset.

Type de données

Variant (contient un objet Command)

 
Description

La propriété ActiveCommand en lecture seule sert à renvoyer l'objet Command utilisé pour renseigner un objet Recordset.

Si aucun objet Command n'a été utilisé pour renseigner un objet Recordset, une référence à l'objet Null est renvoyée.

 
Propriété Recordset.ActiveConnection (Versions 2.0, 2.1, 2.5 et 2.6)

Set recordset.ActiveConnection = connection
recordset.ActiveConnection = connenctionstring
 

La propriété ActiveConnection spécifie l'objet Connection de l'objet Recordset en cours.

Type de données

String ou Variant (contient l'objet Connection en cours)

 
Description

La propriété ActiveConnection peut être lue pour renvoyer soit une chaîne, soit une référence à un objet Connection. La propriété ActiveConnection ne peut être lue si l'objet Recordset est ouvert ou que l'objet Recordset a été créé à l'aide d'un objet Command (dont la propriété Source est définie sur un objet Command). Le reste du temps, la propriété ActiveConnection peut être définie soit sur une chaîne, soit sur une référence à un objet Connection. Si une chaîne est utilisée, celle transmise à la propriété ConnectionString d'un objet Connection doit être une chaîne de connexion valide. Vous devez définir la propriété ActiveConnection avant d'ouvrir un objet Recordset. Avant d'être définie, la valeur par défaut de la propriété ActiveConnection est une référence d'objet Null.

Si vous spécifiez la propriété ActiveConnection comme paramètre de la méthode Open de l'objet Recordset, la propriété ActiveConnection prend la même valeur. Si vous ouvrez un objet Recordset à l'aide de l'objet Command comme valeur de la propriété Source, la propriété ActiveConnection de l'objet Recordset prend la valeur de la propriété ActiveConnection de l'objet Command.

 
Voir aussi

Propriété Conection.ConnectionString, méthode Recordset.Open, propriété Recordset.Source

 
Méthode Recordset.AddNew (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.AddNew Fields, Values
 

La méthode AddNew crée un enregistrement dans l'objet Recordset en cours et dont vous pouvez définir la valeur.

Arguments
Fields

Premier paramètre facultatif de la méthode AddNew, celui-ci fournit soit une valeur Variant ou un tableau de valeurs Variant. Cet objet représente respectivement le nom du champ ou un tableau de champs dont vous souhaitez initialiser les valeurs. Si ce paramètre est un tableau de valeurs Variant, le paramètre suivant, Values, doit être également un tableau de valeurs Variant de même dimension.

Values

Le second paramètre facultatif est étroitement lié au premier paramètre, Fields. Ce paramètre est également soit une valeur Variant, soit un tableau de valeurs Variant, spécifiant les valeurs des champs que vous avez ajoutées au premier paramètre. Il est important de souligner que si ce paramètre contient un tableau de valeurs Variant, le paramètre Fields doit être également un tableau de même dimension. En outre, chaque position ordinale des deux tableaux doit faire correspondre les champs aux valeurs qui conviennent.

 
Description

La méthode AddNew est une méthode membre de l'objet Recordset. Celle-ci vise à ajouter un nouvel enregistrement au jeu d'enregistrements spécifié par l'objet Recordset. Si vous utilisez la méthode AddNew, vous pouvez ajouter soit un nom de champ unique et une valeur d'initialisation, soit une liste de champs, sous forme de tableau de valeurs Variant, ainsi qu'un tableau de valeurs Variant correspondant à ces champs.

Après avoir appelé la méthode AddNew, vous pouvez appeler la méthode Update ou de nouveau la méthode AddNew pour ajouter l'enregistrement en cours à l'objet Recordset. Si vous appelez la méthode AddNew avant d'appeler la méthode Update, l'objet ADO appelle automatiquement la méthode Update, puis appelle la méthode AddNew. Le simple fait d'ajouter l'objet Recordset ne garantit pas que le nouvel enregistrement se trouve dans votre source de données. Ce cas dépend du mode de mise à jour de votre objet Recordset.

Si l'objet Recordset est en mode de mise à jour immédiate et que vous n'ajoutez pas de paramètres lors de l'appel AddNew, vos changements sont appliqués immédiatement au prochain appel de la méthode Update ou AddNew. Si vous appelez la méthode AddNew contenant des paramètres, les valeurs sont localement mises en mémoire cache jusqu'à l'appel suivant de la méthode Update. Entre les appels des méthodes AddNew et Update, la propriété EditMode est définie sur adEditAdd et ne redevient adEditNone qu'à la fin de la mise à jour, en appelant soit la méthode Update, soit de nouveau la méthode AddNew.

Si l'objet Recordset est en mode de mise à jour par lots, vos changements ne sont appliqués que lorsque la méthode UpdateBatch de l'objet Recordset est appelée. En outre, les changements sont localement mis en mémoire cache si la méthode AddNew ne contient aucun paramètre. Cela a également pour effet de définir la propriété EditMode sur adEditAdd. Les modifications sont transmises au fournisseur de données (mais pas transférées à la source des données) lorsque la méthode Update est appelée. Quant à la propriété EditMode, elle est définie sur adEditNone. En revanche, si vous appelez la méthode AddNew contenant des paramètres, les changements sont immédiatement transmis au fournisseur afin qu'ils soient transférés lors du prochain appel de la méthode UpdateBatch.

Si l'objet Recordset prend en charge les signets, le nouvel enregistrement est ajouté à la fin du jeu d'enregistrements et est accessible à tout moment. Au contraire, s'il ne prend pas en charge l'objet Recordset, il est fort possible que vous ne puissez pas non plus accéder à l'enregistrement une fois que vous sortez de l'objet. Il est donc préférable de ne pas compter sur la présence de cet enregistrement. Utilisez plutôt la méthode Requery de l'objet Recordset pour que l'application soit en mesure de trouver le champ.

 
Voir aussi

Enumération EditModeEnum, propriété Recordset.EditMode, méthode Recordset.Requery, méthode Recordset.Update, méthode Recordset.UpdateBatch

 
Propriété Recordset.BOF Property/Recordset.EOF (Versions 2.0, 2.1, 2.5 et 2.6)

Boolean = recordset.BOF
Boolean = recordset.EOF
 

La propriété BOF indique que le pointeur d'enregistrement est situé avant le premier enregistrement dans le jeu d'enregistrements. La propriété BOF indique que le pointeur d'enregistrement est situé directement après le dernier enregistrement dans le jeu d'enregistrements.

Type de données

Booléen

 
Description

Les propriétés BOF et EOF sont toutes les deux en lecture seule.

Si les propriétés BOF et EOF sont définies sur True, le jeu d'enregistrements en cours est vide. Quelle que soit la méthode Move utilisée (Move, MovePrevious, MoveFirst, MoveNext ou MovePrevious), un message d'erreur s'affiche.

Si les propriétés BOF et EOF sont définies sur False, le pointeur d'enregistrement peut pointer vers n'importe quel enregistrement du jeu d'enregistrements. Si tel est le cas, vous pouvez utiliser n'importe quelle méthode Move sans produire d'erreur.

Si la propriété BOF est définie sur True et que la propriété EOF est définie sur False, le pointeur d'enregistrement pointe vers la position tout de suite avant le premier enregistrement du jeu d'enregistrements. Lorsque cette situation se produit, n'utilisez pas la méthode MovePrevious ou Move avec un nombre négatif si vous ne souhaitez pas qu'un message d'erreur s'affiche.

Si la propriété EOF est définie sur True et que la propriété BOF est définie sur False, le pointeur d'enregistrement pointe vers la position tout de suite après le dernier enregistrement du jeu d'enregistrements. Lorsque cette situation se produit, n'utilisez pas la méthode MoveFirst ou Move avec un nombre positif si vous ne souhaitez pas qu'un message d'erreur s'affiche.

Si vous supprimez le dernier enregistrement du jeu d'enregistrements, les propriétés BOF et EOF conservent la valeur False tant que vous ne déplacez pas le pointeur d'enregistrement.

Si un appel de la méthode MoveFirst ou MoveLast ne parvient pas à trouver un enregistrement, les propriétés EOF et BOF sont définies sur True.

Si la méthode MovePrevious ou Move (contenant une valeur inférieure à zéro) ne parvient pas à trouver un enregistrement, la propriété BOF est définie sur True.

Si la méthode MoveNext ou Move (contenant une valeur supérieure à zéro) ne parvient pas à trouver un enregistrement, la propriété EOF est définie sur True.

 
Voir aussi

Méthode Recordset.Move, méthode Recordset.MoveFirst, méthode Recordset.MoveLast, méthode Recordset.MoveNext, méthode Recordset.MovePrevious, méthode Recordset.Open

 
Propriété Recordset.Bookmark (Versions 2.0, 2.1, 2.5 et 2.6)

bookmark = recordset.Bookmark
 

La propriété Bookmark renvoie un identificateur unique pour l'enregistrement en cours d'un jeu d'enregistrements. En attribuant une valeur précédemment lue à une propriété Bookmark, le pointeur d'enregistrement peut être repositionné sur l'enregistrement d'origine.

Type de données

Variant

 
Description

La propriété Bookmark n'est disponible que via les jeux d'enregistrements prenant en charge les signets. Ils servent à marquer la position de l'enregistrement en cours afin de définir ultérieurement celui-ci sur le signet spécifié.

Les signets sont interchangeables dans les objets Recordset lorsque ceux-ci sont exactement identiques. Ils ne le sont pas forcément lorsque les objets Recordset ont été créés à partir de la même source.

La valeur renvoyée de la propriété Bookmark n'est pas lisible et ne doit pas être utilisée lors d'une comparaison, car deux signets du même enregistrement peuvent être différents.

 
Remarque

Les jeux d'enregistrements ne prennent pas tous en charge la propriété Bookmark.

 
Voir aussi

Enumération CursorOptionEnum, méthode Recordset.Supports

 
Propriété Recordset.CacheSize (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.CacheSize = cachesize
 

La propriété CacheSize indique le nombre d'enregistrements localement mis en mémoire cache par l'objet ADO dans la mémoire système.

Type de données

Long

 
Description

La propriété CacheSize définit ou lit simultanément le nombre d'enregistrements conservés localement en mémoire cache par ADO. La valeur de CacheSize doit être au moins 1, sinon un message d'erreur s'affiche. La valeur par défaut de la propriété CacheSize est 1.

Lorsque vous ouvrez un jeu d'enregistrements pour la première fois, le nombre d'enregistrements spécifié par la propriété CacheSize est regroupé. Lorsque le pointeur d'enregistrement dépasse ce nombre, un autre jeu d'enregistrements est renvoyé, le premier étant l'enregistrement suivant dans le jeu d'enregistrements. Si moins d'enregistrements sont disponibles, la propriété CacheSize ne sollicite que les enregistrements regroupés.

La propriété CacheSize peut être modifiée tout au long de l'existence d'un jeu d'enregistrements. Cependant, le nombre d'enregistrements mis en mémoire cache ne change pas tant que le pointeur d'enregistrement n'est pas retiré de la mémoire cache.

Les valeurs se trouvant dans la mémoire cache ne reflètent pas les modifications apportées par les autres utilisateurs. La solution consiste à utiliser la méthode Resync.

 
Voir aussi

Méthode Recordset.Resync

 
Méthode Recordset.Cancel (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Cancel
 

La méthode Cancel annule une opération asynchrone de l'objet Recordset.

Description

La méthode Cancel peut être appelée pour annuler une opération asynchrone de l'objet Recordset invoqué par la méthode Open.

 
Voir aussi

Méthode Recordset.Open

 
Méthode Recordset.CancelBatch (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.CancelBatch AffectRecords
 

La méthode CancelBatch annule la mise à jour par lots en attente de l'objet Recordset en cours.

Arguments
AffectRecords (AffectEnum)

Facultatif. Enumérateur dont la valeur est définie sur adAffectCurrent, adAffectGroup ou sur adAffectAll.

Si la valeur de AffectRecords est adAffectCurrent, l'appel de la méthode CancelBatch n'a une incidence que sur les mises à jour en attente de l'enregistrement en cours du jeu d'enregistrements.

Si la valeur de AffectRecords est adAffectGroup, l'appel de la méthode CancelBatch n'a une incidence que sur les enregistrements en attente imposés par la propriété Filter de l'objet Recordset en cours. Cette propriété doit déjà être définie pour la méthode CancelBatch à appeler avec le paramètre adAffectGroup.

Si la valeur de AffectRecords est adAffectAll, la méthode CancelBatch a un effet sur toutes les mises à jour des enregistrements en attente de l'objet Recordset en cours (notamment celles masquées par la propriété Filter).

 
Description

La méthode CancelBatch peut annuler toutes les mises à jour ou seulement celles en attente de l'objet Recordset en cours lorsque vous êtes en mode de mise à jour par lots. Cependant, si vous êtes en mode de mise à jour immédiate et que vous appelez cette méthode, un message d'erreur s'affiche.

La méthode CancelUpdate est appelée lorsque la méthode CancelBatch est appelée. Ainsi, toute mise à jour ou tout nouvel enregistrement ajouté dans le lot est supprimé. Par conséquent, la position actuelle de l'enregistrement peut être incorrecte. Il est donc conseillé de déplacer l'enregistrement vers une position fiable, soit vers un signet valide, soit en utilisant par exemple la méthode MoveFirst.

Une erreur d'exécution lors de l'appel de la méthode CancelBatch entraîne des conflits avec tous les enregistrements sollicités depuis le jeu d'enregistrements en cours. En outre, si seulement un ou plusieurs enregistrements sont en conflit, la collection Errors est renseignée mais aucune erreur d'exécution n'a lieu.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la propriété CancelBatch.

 
Voir aussi

Enumération CursorOptionEnum, méthode Recordset.CancelUpdate, propriété Recordset.Filter, énumération AffectEnum, méthode Recordset.Supports

 
Méthode Recordset.CancelUpdate (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.CancelUpdate
 

La méthode CancelUpdate annule tout changement apporté à la mise à jour par lots depuis le dernier appel de la méthode AddNew ou Update.

Description

La méthode CancelUpdate de l'objet Recordset annule tout changement apporté à un enregistrement depuis un appel de la méthode Update de cet objet Recordset. En outre, la méthode CancelUpdate annule la création de tout enregistrement via la méthode AddNew.

La méthode CancelUpdate doit être appelée avant la méthode Update pour l'enregistrement en cours. La seule autre manière d'annuler les modifications apportées à un enregistrement consiste à utiliser un gestionnaire de transactions via les méthodes BeginTrans et RollbackTrans de l'objet Recordset.

 
Voir aussi

Méthode Recordset.AddNew, méthode Recordset.Update

 
Méthode Recordset.Clone (Versions 2.0, 2.1, 2.5 et 2.6)

Set cloned_recordset = original_recordset.Clone
 

La méthode Clone de l'objet Recordset renvoie un clone de l'objet Recordset en cours.

Valeurs renvoyées

Objet Recordset

 
Description

La méthode Clone de l'objet Recordset crée plusieurs copies exactement identiques de l'objet Recordset original. Utilisez cette méthode pour accéder à la fois à plusieurs enregistrements situés à l'intérieur du même jeu d'enregistrements. Cette méthode est plus efficace que créer un autre objet Recordset pour le même jeu d'enregistrements.

Lorsque vous créez un clone, la position d'enregistrement du clone est définie sur le premier enregistrement dans le jeu d'enregistrements.

Vous ne pouvez cloner que les jeux d'enregistrements prenant en charge les signets. Les signets d'un jeu d'enregistrements sont valides pour les clones de ce jeu d'enregistrements et vice versa. La fermeture d'un clone ne ferme pas le jeu d'enregistrements d'origine et vice versa.

 
Voir aussi

Enumération LockTypeEnum

 
Méthode Recordset.Close (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Close
 

La méthode Close ferme un objet Recordset.

Description

La méthode Close ferme un objet Connection ou Recordset. Lorsque vous invoquez cette méthode sur un de ces deux objets, tous ceux associés à l'objet Connection ou Recordset sont également fermés. Utilisez la méthode Close pour libérer des ressources système sans vider l'objet de la mémoire. Vous pouvez de nouveau ouvrir un objet Connection ou Recordset que vous avez fermé. Pour effacer complètement un objet de la mémoire, celui-ci doit être défini sur Nothing.

Lorsque vous appelez la méthode Close de l'objet Connection, tous les objets Recordset associés se ferment, contrairement à l'objet Command associé qui reste ouvert. Ceci a pour effet de définir la propriété ActiveConnection sur Nothing et de nettoyer la collection Parameters de l'objet Command. En outre, il est toujours possible d'utiliser la méthode Open pour vous connecter à une source de données.

Si vous fermez un objet Connection et que des objets Recordset associés sont ouverts, toute modification en attente des objets Recordset est restaurée. Si vous appelez la méthode Close de l'objet Connection au cours d'une transaction, un message d'erreur s'affiche. Si un objet Connection sort de l'étendue au cours d'une transaction, celle-ci est automatiquement restaurée.

Lorsque vous utilisez la méthode Close avec l'objet Recordset, celui-ci autorise tout accès exclusif éventuel aux données et libère les données associées. Après avoir utilisé la méthode Close, il est toujours possible de se servir de la méthode Open de cet objet Recordset.

Si vos données source sont en mode de mise à jour immédiate et que vous appelez la méthode Close pendant que vous effectuez des modifications, un message d'erreur s'affiche. Pour éviter cela, appelez la méthode Update ou CancelUpdate. Si vous êtes en mode de mise à jour par lots, les données modifiées ou ajoutées depuis la dernière mise à jour par lots seront perdues.

Si vous clonez un objet Recordset et que vous appelez la méthode Close correspondante, l'objet Recordset cloné ne se ferme pas et vice versa.

 
Voir aussi

Propriété Recordset.ActiveConnection, méthode Recordset.CancelUpdate, méthode Recordset.Open, méthode Recordset.Update

 
Méthode Recordset.CompareBookmarks (Versions 2.0, 2.1, 2.5 et 2.6)

result = recordset.CopmareBookmarks (Bookmark1, Bookmark2)
 

La méthode CompareBookmarks détermine la position de deux signets dans un jeu d'enregistrements l'un par rapport à l'autre.

Arguments
Bookmark1 (Variant)

Signet de la première rangée à comparer.

Bookmark2 (Variant)

Signet de la seconde rangée à comparer.

 
Valeurs renvoyées

CompareEnum

 
Description

La méthode CompareBookmark renvoie une valeur indiquant lequel des deux signets transmis arrive en premier en position ordinale. Les signets sont propres aux rangées d'un même jeu d'enregistrements et aux clones d'un objet Recordset. Comparer les signets de deux jeux d'enregistrements différents (non créés par clonage) ne renvoie pas des résultats fiables.

Consultez la propriété Bookmark pour connaître le signet de la rangée active.

 
Voir aussi

Enumération CompareEnum, propriété Recordset.Bookmark, méthode Recordset.Clone

 
Propriété Recordset.CursorLocation (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.CursorLocation = cursorlocation
 

La propriété CursorLocation indique l'emplacement du service de curseur.

Type de données

CursorLocationEnum (Long)

 
Description

La valeur de la propriété CursorLocation peut être définie sur l'une des valeurs CursorLocationEnum correctes répertoriées à l'annexe E.

La valeur de la propriété CursorLocation est en lecture/écriture pour les objets Recordset fermés et en lecture seule pour les objets Recordset ouverts.

Lorsqu'une méthode Execute renvoie un jeu d'enregistrements, celui-ci hérite de la valeur de l'objet d'origine pour la propriété CursorLocation. Les objets Recordset héritent cette valeur de l'objet Connection qui l'a établie.

 
Voir aussi

Méthode Command.Object, méthode Connection.Execute, énumération CursorLocationEnum, méthode Recordset.Open

 
Propriété Recordset.CursorType (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.CursorLocation = cursorlocation
 

La propriété CursorType indique le type de curseur à utiliser avec le jeu d'enregistrements en cours.

Type de données

CursorTypeEnum (Long)

 
Description

La propriété CursorType indique le type de curseur à utiliser lorsque l'objet Recordset est ouvert. La valeur de cette propriété est en lecture/écriture lorsque l'objet Recordset est fermé et en lecture seule lorsqu'il est ouvert. La valeur de la propriété CursorType peut être une des énumérations CursorType répertoriées à l'annexe E.

Si le fournisseur de données en cours ne prend pas en charge le type de curseur sélectionné, la valeur de la propriété CursorType change lorsque l'objet Recordset est ouvert. Si nécessaire, cette valeur peut être lue par l'application. Dans ce cas, dès que l'objet Recordset est fermé, la valeur d'origine sélectionnée est renvoyée à la propriété CursorType.

Utilisez la méthode Supports de l'objet Recordset pour connaître la fonctionnalité prise en charge par le type de curseur sélectionné (pour plus d'informations sur les types de curseur, voir le chapitre 5 ).

Le curseur Dynamic prend en charge la fonctionnalité adMovePrevious, comme décrit dans la méthode Supports. Le curseur Forward Only ne prend en charge aucune des fonctionnalités mentionnées par la méthode Supports. Les curseurs Keyset et Static prennent en charge les fonctionnalités adBookmark, adHoldRecords, adMovePrevious et adResync, comme décrit dans la méthode Supports.

Le type de curseur Forward Only ne prend pas en charge les signets, car vous ne disposez pas de la fonctionnalité vous permettant de restaurer un enregistrement marqué d'un signet. Les enregistrements des curseurs Keyset et Static prennent en charge les signets via ADO et le curseur Dynamic prend en charge les signets via le fournisseur de données (si celui-ci les prend en charge).

 
Remarque

Si la propriété CursorLocation est définie sur adUseClient, seule la valeur de CursorTypeadOpenStatic peut être utilisée.

 
Voir aussi

Propriété Connection.CursorLocation, énumération CursorTypeEnum, propriété Recordset.CursorLocation, méthode Recordset.Open, méthode Recordset.Supports

 
Propriété Recordset.DataMember Propriété RDM (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.DataMember = datamember
recordset.DataSource = datasource
 

La propriété DataMember indique l'objet, de la source de données spécifiée par la propriété Data Source, avec lequel l'objet Recordset doit être créé.

Type de données
String (propriété DataMember) DataSource (propriété DataSource)
 
Description

Les propriétés DataMember et DataSource sont toujours utilisées ensemble.

La propriété DataSource indique la source de données où réside l'objet spécifié par la propriété DataMember.

La propriété DataMember indique quel objet de la source de données doit être utilisé pour créer l'objet Recordset.

L'objet Recordset doit être fermé lorsque vous définissez la propriété DataMember. De plus, un message d'erreur s'affiche si la propriété DataSource est définie avant la propriété DataMember.

 
Méthode Recordset.Delete (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Delete AffectRecords
 

La méthode Delete supprime du jeu d'enregistrements les enregistrements spécifiés.

Arguments
AffectRecords (Affect Enum)

Facultatif. Indique si valeur est définie sur adAffectCurrent ou sur adAffectGroup.

Si la valeur de AffectRecords est adAffectCurrent, l'appel de la méthode CancelBatch n'a une incidence que sur les mises à jour en attente de l'enregistrement en cours du jeu d'enregistrements.

Si la valeur de AffectRecords est adAffectGroup, l'appel de la méthode CancelBatch n'a une incidence que sur les enregistrements en attente imposés par la propriété Filter de l'objet Recordset en cours. Cette propriété doit déjà être définie pour la méthode CancelBatch à appeler avec le paramètre adAffectGroup.

 
Description

La méthode Delete supprime un enregistrement ou un groupe d'enregistrements lorsqu'il est utilisé avec l'objet Recordset. La méthode Delete supprime un objet Parameter spécifié de la collection Parameters lorsqu'il est utilisé avec celle-ci.

Lorsque vous utilisez la méthode Delete avec l'objet Recordset, les enregistrements à supprimer sont marqués comme étant à supprimer. Si le jeu d'enregistrements n'autorise pas la suppression d'enregistrements, un message d'erreur s'affiche. En mode de mise à jour immédiate, la suppression a lieu tout de suite. Cependant, en mode de mise à jour par lots, les enregistrements sont marqués comme étant supprimés puis mis en mémoire cache jusqu'à l'appel de la méthode UpdateBatch. Utilisez la propriété Filter pour afficher les enregistrements supprimés.

Après avoir supprimé un enregistrement, la position actuelle de l'enregistrement correspond toujours à celle de l'enregistrement supprimé. Dès que vous quittez cette position, les enregistrements ne sont plus accessibles et toute tentative de lecture d'un enregistrement supprimé entraîne l'affichage d'un message d'erreur. Si vous utilisez un gestionnaire de transactions avec BeginTrans, vous pouvez annuler la suppression des enregistrements à l'aide de la méthode RollbackTrans. De plus, en mode de mise à jour par lots, vous pouvez annuler la suppression via la méthode CancelBatch.

Si vous supprimez un enregistrement déjà supprimé par un autre utilisateur, aucune erreur d'exécution se produit ; en revanche, des avertissements sont ajoutés à la collection Errors. Une erreur d'exécution n'a lieu que lorsque tous les enregistrements marqués comme étant à supprimer ont un conflit pour une raison ou une autre. Utilisez la propriété Filter avec la valeur adFilterAffectedRecords et la propriété Status pour rechercher les enregistrements avec conflits.

La méthode Delete n'est valide qu'avec la collection Parameters de l'objet Command. Spécifiez sous forme de chaîne le nom du paramètre à supprimer de la collection.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la méthode Delete.

 
Voir aussi

Enumération AffectEnum, méthode Connection.RollbackTrans, énumération CursorOptionEnum, méthode Recordset.CancelBatch, propriété Recordset.Filter, propriété Recordset.Status, méthode Recordset.Supports

 
Propriété Recordset.EditMode (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.EditMode = editmode
 

La propriété EditMode indique l'état d'édition en cours d'un enregistrement.

Type de données

EditModeEnum (Long)

 
Description

Utilisez la propriété EditMode pour déterminer si l'enregistrement était en cours de modification lorsque le processus d'édition a été interrompu. Les informations obtenues permettent de déterminer s'il est nécessaire d'appeler la méthode Update ou CancelUpdate.

La valeur de la propriété EditMode peut être une des énumérations EditModeEnum répertoriées à l'annexe E.

 
Voir aussi

Enumération EditModeEnum, méthode Recordset.AddNew, méthode Recordset.CancelUpdate, méthode Recordset.Update

 
Evénement Recordset.EndOfRecordset (Versions 2.0, 2.1, 2.5 et 2.6)

EndOfRecordset(fMoreData As Boolean, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement EndOfRecordset est appelé lorsque le pointeur d'enregistrement est placé après le jeu d'enregistrements.

Arguments
fMoreData

Valeur VARIANT_BOOL qui peut être définie sur True si des données ont été ajoutées par l'application afin de rendre non valide l'événement en cours. En d'autres termes, lorsque cet événement est appelé, vous êtes en mesure de savoir si le pointeur d'enregistrement est situé en dehors du jeu d'enregistrements. A ce stade, vous pouvez ajouter d'autres enregistrements au jeu d'enregistrements et définir le paramètre fMoreData sur True afin de répéter l'opération.

adStatus

Valeur EventStatusEnum indiquant l'état de l'opération en cours. Le paramètre adStatus est défini sur adStatusOK si l'opération à l'origine de cet événement a réussi. Si le paramètre adStatus est défini sur adStatusCantDeny, l'événement ne peut demander l'annulation de l'opération. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé.

pRecordset

L'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventStatusEnum, méthode Recordset.MoveNext

 
Propriété Recordset.EOF (Versions 2.0, 2.1, 2.5 et 2.6)
 

Voir propriété Recordset.BOF.

Evénement Recordset.FetchComplete (Versions 2.0, 2.1, 2.5 et 2.6)

FetchComplete(ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement FetchComplete est appelé lorsqu'une longue opération asynchrone (extraction) est terminée et que tous les enregistrements ont été renvoyés.

Arguments
pError

Objet Error contenant les informations relatives à une erreur qui s'est produite si le paramètre adStatus est défini sur adStatusErrorsOccurred.

adStatus

Valeur EventStatusEnum indiquant l'état de l'opération en cours. Si le paramètre adStatus est défini sur adStatusOK, l'opération a réussi. Si le paramètre adStatus est défini sur adStatusErrorsOccurred, l'opération a échoué et l'objet pError contient les informations relatives à l'erreur. En définissant le paramètre adStatus sur adStatusUnwantedEvent, cet événement n'est pas rappelé.

pRecordset

L'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventStatusEnum

 
Evénement Recordset.FetchProgress (Versions 2.0, 2.1, 2.5 et 2.6)

FetchProgress(ByVal Progress As Long, _
ByVal MaxProgress As Long, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement FetchProgress est appelé au cours d'une longue opération asynchrone (extraction) pour effectuer un rapport sur la progression de l'extraction.

Arguments
Progress

Valeur Long indiquant le nombre d'enregistrements extraits jusqu'à un moment donné par l'opération.

MaxProgress

Valeur Long indiquant le nombre maximum d'enregistrements à extraire.

adStatus

Valeur EventStatusEnum indiquant l'état de l'opération en cours. Le paramètre adStatus est défini sur adStatusOK si l'opération à l'origine de cet événement a réussi. Si le paramètre adStatus est défini sur adStatusCantDeny, l'événement ne peut demander l'annulation de l'opération. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé.

pRecordset

L'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventStatusEnum, événement Recordset.FetchProgress

 
Evénement Recordset.FieldChangeComplete (Versions 2.5 et 2.6)

FieldChangeComplete(ByVal cFields As Long, _
ByVal Fields As Variant, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement FetchChangeComplete est appelé après le changement par une opération d'une ou plusieurs valeurs d'objet Field.

Arguments
cFields (Long)

Indique le nombre d'objets Field du paramètre Fields.

Fields (Variant array)

Contient les objets Field en attente d'être modifiés.

pError (Error)

Contient les informations relatives à une erreur qui s'est produite si le paramètre adStatus est défini sur adStatusErrorsOccurred.

adStatus (EventStatusEnum)

Indique l'état de l'opération en cours. Si le paramètre adStatus est défini sur adStatusOK, l'opération a réussi. Si le paramètre adStatus est défini sur adStatusErrorsOccurred, l'opération a échoué et l'objet pError contient les informations relatives à l'erreur. Si le paramètre adStatus est défini sur adStatusCancel, l'opération a été annulée par l'application avant la fin. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé.

pRecordset

Représente l'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventStatusEnum, événement Recordset.WillChangeField, Recordset.Value, Recordset.Update

 
Collection Recordset.Fields (Versions 2.0, 2.1, 2.5 et 2.6)

record.Fields
 

La collection Field contient plusieurs objets Field destinés à l'objet Recordset en cours, soit un pour chaque colonne de l'objet Recordset.

Type de données

Fields (objet Collection)

 
Description

La collection Fields d'un objet Recordset peut être renseignée avant d'ouvrir un objet Recordset en appelant la méthode Refresh de la collection Fields.

Les objets Field peuvent être ajoutés à la collection soit en appelant la méthode Field.Append, soit en faisant référence via un nom à un objet Field ne faisant pas déjà partie de la collection. Appeler la méthode Field.Update ajoute le champ à la collection, si possible, dans la source de données. En attendant, la propriété Field.Status renvoie adFieldPendingInsert.

 
Voir aussi

Méthode Field.Append, méthode Field.Refresh, méthode Field.Update

 
Propriété Recordset.Filter (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.CancelBatch AffectRecords
 

La propriété Filter filtre une sélection d'enregistrements de l'objet Recordset en cours.

Type de données

Variant

 
Description

Lorsque vous définissez la propriété Filter, le type de curseur devient celui du jeu d'enregistrements filtré en cours. Dans ce cas, les propriétés AbsolutePosition, AbsolutePage, RecordCount et PageCount sont concernées, car l'enregistrement en cours est remplacé par le premier enregistrement qui répond aux exigences imposées par la propriété Filter.

La propriété Filter peut avoir une des trois valeurs ci-dessous :

  • Un ensemble de clauses reliées par les mots-clés AND ou OR.

  • Un tableau de valeurs de signet.

  • Une valeur d'énumération FilterGroupEnum.

Les clauses ressemblent aux clauses WHERE des instructions SQL. Elles se composent d'un nom de champ, d'un opérateur et d'une valeur. Il est possible de regrouper plusieurs clauses à l'aide des mots-clés AND et OR. Le nom de champ d'une clause dans un jeu d'enregistrements doit être un nom valide et s'il contient des espaces, celui-ci doit être placé entre crochets ([Nom de famille]). Les opérateurs que vous pouvez utiliser dans une clause sont : <, >, <=, >=, <>, = ou LIKE. La valeur d'une clause est identique aux données du champ spécifié. Les chiffres peuvent contenir une virgule, le signe dollar et toute notation scientifique. Les dates doivent commencer et finir par un dièse (#) (#06/20/1973#) et les chaînes par un guillemet simple ('Jacques Henri').

Si vous utilisez le mot-clé LIKE comme opérateur, seuls l'astérisque (*) et le signe % peuvent être utilisés comme caractères génériques, la seule condition étant qu'au moins un de ces signes soit placé après la valeur (Jacques* ou *comme*).

Lorsque vous définissez la propriété Filter sur un tableau de signets, ceux-ci doivent être uniques (c'est-à-dire qu'ils doivent pointer vers des enregistrements différents) dans le jeu d'enregistrements associé.

Lorsque vous définissez la propriété Filter sur une valeur d'énumération FilterGroupEnum, sélectionnez une des constantes répertoriées dans le tableau E-25.

La propriété Filter peut échouer suite à la suppression d'un enregistrement par un autre utilisateur. Dans ce cas, aucune erreur d'exécution ne se produit. En revanche, des avertissements sont ajoutés à la collection Errors. Une erreur d'exécution n'a lieu que lorsque tous les enregistrements marqués comme étant à filtrer ont un conflit pour une raison ou une autre. Utilisez la propriété Status pour rechercher les enregistrements avec conflits.

 
Voir aussi

Enumération AffectEnum, énumération FilterGroupEnum, propriété Recordset.AbsolutePage, propriété Recordset.AbsolutePosition, méthode Recordset.CancelBatch, propriété Recordset.Delete, propriété Recordset.PageCount, propriété Recordset.RecordCount, méthode Recordset.Resync, méthode Recordset.UpdateBatch

 
Méthode Recordset.Find (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Find (Criteria, SkipRows, SearchDirections, Start)
 

La méthode Find déplace le pointeur d'enregistrement vers une rangée du jeu d'enregistrements en cours qui correspond aux critères de recherche à une seule colonne spécifiés.

Arguments
Criteria (String)

Spécifie un critère de recherche à une seule colonne sous la forme 'Colonne Opérateur Valeur'. La colonne correspond à un nom de colonne de l'objet Recordset. L'opérateur peut être >, <, =, >=, <=, <> ou LIKE. La valeur peut être une chaîne, un nombre à virgule flottante ou une date. Les chaînes sont délimitées par une simple chaîne ou le signe dièse (#) et les dates par le signe dièse (#). Lorsque vous utilisez l'opérateur LIKE, vous pouvez insérer un astérisque (*) à la fin de la valeur ou à la fois au début et à la fin ('*jr*', 'jr*'). Si vous n'insérez un astérisque qu'au début de la valeur, un message d'erreur s'affiche.

SkipRows (Long)

Facultatif. Indique le nombre de rangées à ignorer avant de rechercher dans le jeu d'enregistrements une correspondance à l'argument Criteria. La valeur par défaut étant 0, la recherche débute à partir de la première rangée.

SearchDirection (SearchDirectionEnum)

Facultatif. Indique le sens de la recherche dans le jeu d'enregistrements, vers le bas ou vers le haut. Si aucune correspondance n'est trouvée suite à une recherche vers le bas, le pointeur d'enregistrements pointe vers le marqueur EOF. Si aucune correspondance n'est trouvée suite à une recherche vers le haut, le pointeur d'enregistrements pointe vers le marqueur BOF. Par défaut, la recherche s'effectue vers le bas.

Start (Variant)

Facultatif. Spécifie la position de départ de la recherche sous forme d'un signet. La valeur par défaut de cet argument est la rangée active.

 
Description

Si aucun enregistrement n'est défini avant d'appeler la méthode Find, un message d'erreur s'affiche. Il est conseillé d'appeler d'abord la méthode MoveFirst puis la méthode Find.

La méthode Find ne s'utilise qu'avec des critères de recherche à une seule colonne.

Les fournisseurs de données ne prennent pas tous en charge les signets, ce qui rend impossible la recherche vers le haut. Déterminez à l'aide de la méthode Supports si le fournisseur de données en cours prend en charge l'opération Find que vous souhaitez utiliser.

 
Voir aussi

Enumération CursorOptionEnum, méthode Recordset.MoveFirst, méthode Recordset.Supports, énumération SearchDirectionEnum

 
Méthode Recordset.GetRows (Versions 2.0, 2.1, 2.5 et 2.6)

Set record_array = recordset.GetRows(Rows, Start, Fields)
 

La méthode GetRows de l'objet Recordset renvoie sous forme de tableau plusieurs enregistrements en provenance d'un objet Recordset ouvert.

Arguments
Rows (Long)

Facultatif. Indique le nombre d'enregistrements à extraire. La valeur par défaut de cet argument est adGetRowsRest (valeur -1).

Start (String ou Variant)

Facultatif. Détermine le signet à partir duquel la méthode GetRows doit commencer.

Fields (Variant)

Facultatif. Spécifie les champs à renvoyer pour chaque enregistrement par la méthode GetRows. Représente un nom de champ unique, un nombre ordinal de champ unique, un tableau de noms de champ ou un tableau de nombres ordinaux de champ.

 
Valeurs renvoyées
Variant (tableau à deux dimensions)
 
Description

La méthode GetRows de l'objet Recordset renvoie sous forme de tableau à deux dimensions plusieurs enregistrements en provenance du même objet Recordset. Les enregistrements sont renvoyés sous forme d'un tableau Variant automatiquement redimensionné par l'objet ADO. Le premier indice inférieur est le champ, le second est nombre de l'enregistrement. Les données renvoyées sont en lecture seule.

Vous pouvez spécifier le nombre d'enregistrements à renvoyer via le premier argument. Si cette valeur est supérieure au nombre d'enregistrements, seuls les autres enregistrements sont renvoyés.

Si l'objet Recordset sélectionné prend en charge les signets, vous pouvez spécifier la position de départ en transmettant la valeur de la propriété Bookmark de l'enregistrement.

Après avoir appelé la méthode GetRows, le pointeur d'enregistrement est défini sur l'enregistrement suivant non lu, sauf si celui-ci est le dernier, auquel cas la propriété EOF est définie sur True.

Le dernier argument Fields peut être un champ unique ou un groupe de champs renvoyé par la méthode GetRows, à l'aide d'un nom de champ, d'une position ordinale de champ, d'un tableau de noms de champ ou un tableau de positions ordinales de champ.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la méthode Find.

 
Voir aussi

Enumération BookmarkEnum, énumération CursorOptionEnum, énumération GetRowsOptionEnum, propriété Recordset.Bookmark, propriété Recordset.EOF, méthode Recordset.Supports

 
Méthode Recordset.GetString (Versions 2.0, 2.1, 2.5 et 2.6)

Set Variant = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, _
RowDelimiter, NullExpr)
 

La méthode GetString renvoie la totalité de l'objet Recordset sous forme de valeur String.

Arguments
StringFormat (StringFormatEnum)

Indique le format de l'objet Recordset renvoyé sous forme de valeur String.

NumRows

Facultatif. Indique le nombre de rangées à convertir en valeur String. Si la valeur de ce paramètre est absente ou supérieure au nombre total d'enregistrements de l'objet Recordset, tous les enregistrements sont convertis.

ColumnDelimeter

Facultatif. Utilisé uniquement lorsque le paramètre StringFormat est défini sur adClipString. Indique le délimiteur utilisé entre les colonnes. La tabulation est le délimiteur par défaut.

RowDelimeter

Facultatif. Utilisé uniquement lorsque le paramètre StringFormat est défini sur adClipString. Indique le délimiteur utilisé entre les rangées. Le retour chariot est le délimiteur par défaut.

NullExpr

Facultatif. Utilisé uniquement lorsque le paramètre StringFormat est défini sur adClipString. Indique la valeur String utilisée pour remplacer les caractères Null. La valeur par défaut de ce paramètre est la valeur vide String.

 
Valeurs renvoyées

Variant

 
Description

La méthode GetString convertit le contenu de l'objet Recordset en valeur String.

 
Voir aussi

Enumération StringFormatEnum

 
Propriété Recordset.Index (Versions 2.1, 2.5 et 2.6)

recordset.Index = index
 

La propriété Index définit l'index en cours pour un jeu d'enregistrements donné.

Type de données

Chaîne

 
Description

La propriété Index est en lecture/écriture. Cependant, elle ne peut être définie dans un événement WillRecordsetChange ou RecordsetChangeComplete ou au cours d'une exécution asynchrone.

La propriété Index est utilisée conjointement à la méthode Seek pour bénéficier de la structure indexée du tableau sous-jacente (contrairement à la méthode Find qui opère de manière séquentielle).

La position du pointeur d'enregistrement peut changer lorsque la valeur Index est définie (modifiant la valeur de la propriété AbsolutePosition). Les événements suivants se produisent également : WillRecordsetChange, RecordsetChangeComplete, WillMove et MoveComplete.

Si la propriété LockType est définie sur adLockPessimistic ou sur adLockOptimistic, la méthode UpdateBatch est appelée et active tous les filtres qui peuvent être appliqués. En outre, le pointeur d'enregistrements est déplacé vers le premier enregistrement dans le jeu d'enregistrements indexé.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge les index et par extension la propriété Index.

 
Voir aussi

Enumération CursorOptionEnum, événement Recordset.MoveComplete, événement Recordset.RecordsetChangeComplete, méthode Recordset.Seek, méthode Recordset.UpdateBatch, événement Recordset.WillMove, événement Recordset.WillRecordsetChange, méthode Recordset.Supports

 
Propriété Recordset.LockType (Versions 2.0, 2.1, 2.5 et 2.6)

locktype = recordset.LockType
 

La propriété LockType indique le type de verrou appliqué aux enregistrements en cours de modification.

Type de données

LockTypeEnum (Long)

 
Description

La propriété LockType est en lecture/écriture lorsque l'objet Recordset est fermé et en lecture seule lorsqu'il est ouvert. La propriété LockType peut être une des valeurs répertoriées dans le tableau E-29.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge chaque type de verrou d'enregistrement. Dans ce cas, le fournisseur de données peut sélectionner automatiquement un différent verrou. Vérifiez la fonctionnalité disponible d'un fournisseur de données avec la propriété Supports.

 
Voir aussi

Enumération LockTypeEnum, méthode Recordset.Open, méthode Recordset.Supports, méthode Recordset.Update

 
Prorpiété Recordset.MarshalOptions (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.MarshalOptions = marshaloptions
 

La propriété MarshalOptions indique les enregistrements devant être renvoyés en désordre au serveur.

Type de données

MarshalOptionsEnum (Long)

 
Description

La propriété MarshalOptions peut être une des valeurs d'énumération MarshalOptionsEnum répertoriées à l'annexe E.

 
Voir aussi

Enumération MarshalOptionsEnum

 
Propriété Recordset.MaxRecords (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.MaxRecords = maxrecords
 

La propriété MaxRecords indique le nombre maximum d'enregistrements à renvoyer à un jeu d'enregistrements par une requête.

Type de données

Long

 
Description

La propriété MaxRecords est en lecture/écriture lorsque l'objet Recordset est ouvert et en lecture seule lorsqu'il est fermé. La valeur 0 par défaut indique que tous les enregistrements valides sont renvoyés par une requête.

 
Méthode Recordset.Clone (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Move NumRecords, Start
 

La méthode Move de l'objet Recordset déplace le pointeur d'enregistrement dans l'objet Recordset spécifié.

Arguments
NumRecords (Long)

Spécifie de combien d'enregistrements le pointeur se déplace.

Start (String ou Variant)

Facultatif. Représente le signet à partir duquel le pointeur d'enregistrement doit se déplacer.

 
Description

La méthode Move de l'objet Recordset déplace le pointeur du nombre d'enregistrements spécifié. Si l'argument NumRecords est inférieur à zéro, le pointeur est déplacé vers l'avant du nombre spécifié. Si l'argument NumRecords est supérieur à zéro, le pointeur d'enregistrement est déplacé vers l'avant du nombre d'enregistrements spécifié.

Si l'objet Recordset en cours prend en charge les signets, vous pouvez indiquer la position de départ à l'aide de l'argument Start. Si vous définissez cet argument sur un signet valide dans l'objet Recordset en cours, le pointeur d'enregistrement se déplace du nombre d'enregistrements spécifié à partir de ce point. Si vous n'utilisez aucun signet, le pointeur d'enregistrement se déplace à partir de l'enregistrement en cours.

Si vous déplacez le pointeur vers un point avant le premier enregistrement, le pointeur est placé vers l'enregistrement situé avant le premier enregistrement, soit un marqueur BOF. Si vous déplacez le pointeur vers un point avant le dernier enregistrement, le pointeur est placé vers l'enregistrement situé après le dernier enregistrement, soit un marqueur EOF. Dans les deux cas, si vous utilisez la méthode Move pour déplacer le pointeur après le marqueur BOF ou EOF, un message d'erreur s'affiche.

Si la propriété CacheSize est définie pour mettre localement en mémoire cache les enregistrements provenant du fournisseur de données et que vous transmettez un argument NumRecords s'aventurant en dehors du cache, l'objet ADO est contraint d'extraire un nouveau groupe d'enregistrements à partir du fournisseur de données. Le nombre d'enregistrements reçu est fonction de la propriété CacheSize. Cette situation se produit également lorsque vous utilisez une mémoire cache locale et l'argument Start. Dans ce cas, le premier enregistrement à être reçu est l'enregistrement de destination spécifié.

Même si l'objet Recordset ne peut être déplacé que vers l'avant, il reste possible de transmettre une valeur NumRecords inférieure à zéro, tant que l'enregistrement de destination se trouve dans le cache en cours. S'il se trouve avant le cache en cours, un message d'erreur s'affiche.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la méthode Move.

 
Voir aussi

Enumération BookmarkEnum, propriété Recordset.Bookmark, propriété Recordset.CacheSize

 
Evénement Recordset.MoveComplete (Versions 2.0, 2.1, 2.5 et 2.6)

MoveComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement MoveComplete est appelé après qu'une opération change la position du pointeur d'enregistrement de l'objet Recordset.

Arguments
adReason (EventReasonEnum)

Indique le motif de cet événement. Les valeurs correctes de adReason sont les suivantes : adRsnMoveFirst, adRsnMoveLast, adRsnMoveNext, adRsnMovePrevious, adRsnMove et adRsnRequery.

pError (Error)

Contient les informations relatives à une erreur qui s'est produite si le paramètre adStatus est défini sur adStatusErrorsOccurred.

adStatus (EventStatusEnum)

Indique l'état de l'opération en cours. Si le paramètre adStatus est défini sur adStatusOK, l'opération a réussi. Si le paramètre adStatus est défini sur adStatusErrorsOccurred, l'opération a échoué et l'objet pError contient les informations relatives à l'erreur. Si le paramètre adStatus est défini sur adStatusCancel, l'opération a été annulée par l'application avant la fin. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé.

pRecordset

Représente l'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventReasonEnum, énumération EventStatusEnum, propriété Recordset.AbsolutePage, propriété Recordset.AbsolutePosition, méthode Recordset.AddNew, méthode Recordset.Bookmark, propriété Recordset.Filter, propriété Recordset.Index, méthode Recordset.Open, méthode Recordset.Move, méthode Recordset.MoveFirst, méthode Recordset.MoveLast, méthode Recordset.MoveNext, méthode Recordset.MovePrevious, méthode Recordset.Requery, événement Recordset.WillMove

 
Méthode Recordset.MoveFirst Méthode RMF (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.MoveFirst
recordset.MoveLast
recordset.MoveNext
recordset.MovePrevious
 

Les méthodes MoveFirst, MoveLast, MoveNext et MovePrevious de l'objet Recordset déplacent le pointeur d'enregistrement respectivement vers le premier, le dernier, le précédent et le prochain enregistrement, qui devient l'enregistrement en cours.

Description

Les méthodes MoveFirst, MoveLast, MoveNext et MovePrevious de l'objet Recordset permettent de déplacer librement le pointeur n'importe où dans l'objet Recordset ouvert spécifié.

La méthode MoveFirst déplace le pointeur vers le premier enregistrement du jeu d'enregistrements, qui devient l'enregistrement en cours.

La méthode MoveLast déplace le pointeur vers le dernier enregistrement du jeu d'enregistrements, qui devient l'enregistrement en cours. Pour que cette méthode fonctionne, l'objet Recordset doit prendre en charge les signets. Si ce n'est pas le cas, un message d'erreur s'affiche lorsque vous utilisez la méthode MoveLast.

La méthode MoveNext déplace le pointeur vers le prochain enregistrement du jeu d'enregistrements, qui devient l'enregistrement en cours. Si, avant d'appeler la méthode MoveNext, celui-ci est le dernier enregistrement du jeu d'enregistrements, le pointeur d'enregistrement est déplacé vers l'enregistrement situé après le dernier dans le jeu d'enregistrements et définit la propriété EOF sur True. Un message d'erreur s'affiche lorsque vous déplacez le pointeur après le marqueur EOF.

La méthode MovePrevious déplace le pointeur vers l'enregistrement situé tout de suite avant l'enregistrement en cours du jeu d'enregistrements. L'enregistrement précédé du pointeur devient l'enregistrement en cours. Pour que cette méthode fonctionne, le jeu d'enregistrements doit prendre en charge les signets ou le déplacement vers l'arrière du curseur. Si ce n'est pas le cas, un message d'erreur s'affiche. Si l'enregistrement en cours (avant d'appeler la méthode MovePrevious) est le premier enregistrement du jeu d'enregistrements, le pointeur est défini sur l'enregistrement situé tout de suite avant le premier enregistrement et la propriété BOF est définie sur True. Un message d'erreur s'affiche lorsque vous déplacez le pointeur avant le début du jeu d'enregistrements.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge les méthodes MoveFirst et MovePrevious.

 
Voir aussi

Enumération CursorOptionEnum, propriété Recordset.BOF, propriété Recordset.EOF, méthode Recordset.Supports

 
Méthode Recordset.NextRecordset (Versions 2.0, 2.1, 2.5 et 2.6)

Set resulting_recordset = recordset.NextRecordset(RecordsAffected)
 

La méthode NextRecordset de l'objet Recordset renvoie le prochain jeu d'enregistrements en passant par une série de commandes :

recordset.MoveFirst
Arguments
RecordsAffected (Long)

Défini sur le nombre d'enregistrements que l'opération en cours a affecté. Voilà ce que fait le fournisseur de données.

 
Description

Utilisez la méthode NextRecordset de l'objet Recordset pour obtenir le prochain jeu d'enregistrements dans une instruction de commande composée ou dans une procédure stockée renvoyant plusieurs résultats. Exemple d'instruction de commande composée :

SELECT * FROM upstairs; SELECT * FROM downstairs

Le jeu d'enregistrements créé à l'origine avec la méthode Execute ou Open renvoie un objet Recordset qui dépend uniquement de la première instruction SQL de l'instruction composée. Appelez la méthode NextRecordset pour obtenir chaque jeu d'enregistrements supplémentaire. Si l'objet Recordset est fermé et qu'il reste des instructions, celles-ci ne seront jamais exécutées.

La méthode NextRecordset continue à renvoyer des jeux d'enregistrements tant qu'il reste des enregistrements dans la liste. Si une instruction renvoyant des rangées réussit et que le résultat est égal à zéro enregistrement, les propriétés EOF et BOF de l'objet Recordset sont définies sur True. Si une instruction ne renvoyant pas des rangées réussit, l'objet Recordset ne doit pas être défini sur Nothing, par contre la propriété EOF doit être définie sur True.

Si l'instruction de commande composée ne contient plus d'instructions, l'objet Recordset renvoyé est défini sur Nothing.

Si vous êtes en mode de mise à jour immédiate ou en mode édition, vous devez appeler la méthode Update ou CancelUpdate avant de demander le prochain jeu d'enregistrements. Dans le cas contraire, un message d'erreur s'affiche.

Les paramètres des instructions de commande composées sont transmis comme s'il s'agissait de paramètres d'une quelconque instruction. Ainsi, tous les paramètres doivent être ajoutés à la collection Parameters dans le bon ordre pour toutes les instructions. De plus, vous devez lire tous les résultats d'un jeu d'enregistrements avant de lire les valeurs de paramètre de sortie.

 
Voir aussi

Méthode Recordset.Update, méthode Recordset.CancelUpdate, propriété Recordset.BOF, propriété Recordset.EOF

 
Méthode Recordset.Open (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Open Source, ActiveConnection, CursorType, LockType, Options
 

La méthode Open ouvre un curseur dans un objet Recordset.

Arguments
Source (Variant)

Facultatif. Indique les données actuellement utilisées pour ouvrir l'objet Recordset. Il peut s'agir d'un objet Command, d'une instruction SQL, d'un nom de tableau, d'une procédure stockée, d'une URL, d'un nom de fichier ou d'un objet Stream contenant un objet Recordset précédemment reproduit.

ActiveConnection (Variant)

Facultatif. Spécifie un objet Connection ou une chaîne de connexion à utiliser lorsque l'objet Recordset crée son propre objet Connection.

CursorType (CursorTypeEnum)

Facultatif. Indique le type de curseur à utiliser à l'ouverture de l'objet Recordset. La valeur par défaut est adLockReadOnly.

LockType (LockTypeEnum)

Facultatif. Spécifie le verrou à utiliser avec l'objet Recordset ouvert. La valeur de l'énumération adLockReadOnly est la valeur par défaut de cet argument.

Options (Long -- CommandTypeEnum et ExecuteOptionEnum)

Facultatif. Indique le type de données à spécifier par l'argument Source. Peut également indiquer que l'objet Recordset doit être ouvert de manière asynchrone. La valeur par défaut de l'argument Options est adCmdFile si un objet Command n'est pas la source de l'objet Recordset.

 
Description

Les arguments Source, ActiveConnection, CursorType et LockType ont des propriétés en correspondance dans l'objet Recordset. Si les arguments ne sont pas définis lors de l'appel de la méthode Open, chacune des valeurs est obtenue à partir des valeurs correspondantes. Cependant, si une valeur est spécifiée pour un argument donné, celle-ci écrase la valeur précédente stockée dans la valeur de propriété.

La source d'un objet Recordset peut être un des éléments suivants :

  • Objet de commande

  • Instruction SQL

  • Procédure stockée

  • Nom de tableau

  • URL

  • Nom de fichier

  • Objet Stream (avec le contenu d'un objet Recordset précédemment reproduit)

Si un élément autre qu'un objet Command est utilisé pour ouvrir un objet Recordset, spécifiez la source de données via l'argument Options. Dans le cas contraire, l'objet ADO doit appeler plusieurs fois le fournisseur de données pour déterminer le type de données qu'il ouvre.

Lorsque vous spécifiez un fichier comme source d'objet Recordset, vous pouvez utiliser un nom de chemin d'accès complet, relatif ou même une URL (http://www.domaine.com).

L'argument ActiveConnection ne sert que si vous ne spécifiez pas un objet Command. En fait, il est en lecture seule si un objet Command valide est défini sur la propriété Source.

L'argument ActiveConnection peut être un objet Connection déjà ouvert ou une chaîne de connexion, qui servira à ouvrir un nouvel objet Connection pour l'objet Recordset.

Pour envoyer les mises à jour au jeu d'enregistrements puis à une autre source de données, il est possible de changer la valeur de la propriété ActiveConnection une fois un objet Recordset ouvert. Cependant, les autres arguments et les propriétés correspondantes deviennent en lecture seule une fois l'objet Recordset ouvert.

Vous pouvez également ouvrir un objet Recordset de manière asynchrone en ajoutant la valeur d'énumération adAsyncFetch (à partir de l'énumération ExecuteOptionEnum).

Si vous ouvrez l'objet Recordset mais qu'il est vide, les propriétés BOF et EOF sont définies sur True. Fermez l'objet Recordset en appelant la méthode Close. Cette opération n'efface pas l'objet Recordset de la mémoire car vous pouvez à nouveau ouvrir un tel objet. Pour effacer l'objet Recordset de la mémoire, définissez l'objet sur Nothing.

Lorsque vous ouvrez un objet Recordset avec un objet Stream, l'objet Recordset est automatiquement ouvert de manière synchrone quelles que soient les valeurs ExecuteOptionEnum spécifiées. De plus, ne spécifiez aucun autre argument de la méthode Open lors de l'ouverture d'un objet Recordset à partir d'un objet Stream.

 
Voir aussi

Enumération CommandTypeEnum, énumération CursorTypeEnum, énumération ExecuteOptionEnum, énumération LockTypeEnum, propriété Recordset.ActiveConnection, propriété Recordset.BOF, méthode Recordset.Close, propriété Recordset.CursorType, propriété Recordset.EOF, propriété Recordset.LockType, propriété Recordset.Source

 
Propriété Recordset.PageCount (Versions 2.0, 2.1, 2.5 et 2.6)

pagecount = recordset.PageCount
 

La propriété PageCount renvoie le nombre de pages logiques situées dans l'objet Recordset en cours.

Type de données

Long

 
Description

La propriété PageCount renvoie une valeur indiquant le nombre de pages de données logiques contenues dans le jeu d'enregistrements. Une page est déterminée par le nombre d'enregistrements dans le jeu d'enregistrements divisé par le nombre d'enregistrements par page (déterminé par la propriété PageSize).

Si la dernière page ne contient pas le nombre d'enregistrements de la propriété PageSize, cette page est toujours comptée en tant que telle dans la propriété PageCount.

 
Valeurs renvoyées

Si l'objet Recordset ne prend pas en charge la propriété PageCount, la valeur renvoyée est -1, ce qui indique que le nombre de pages n'a pas pu être déterminé.

 
Voir aussi

Propriété Recordset.AbsolutePage, propriété Recordset.PageSize

 
Propriété Recordset.PageSize (Versions 2.0, 2.1, 2.5 et 2.6)

pagesize = recordset.PageSize
 

La propriété PageSize indique le nombre d'enregistrements d'une page logique.

Type de données

Long

 
Description

La propriété PageSize détermine le nombre d'enregistrements contenus dans une page logique à l'intérieur du jeu d'enregistrements. La valeur par défaut est 10. Cette propriété peut être définie à tout moment et est utilisée avec la propriété AbsolutePage pour atteindre le premier enregistrement dans une page donnée.

 
Voir aussi

Propriété Recordset.AbsolutePage, propriété Recordset.PageCount

 
Collection Recordset.Properties (Versions 2.0, 2.1, 2.5 et 2.6)

Set properties = recordset.Properties
 

La collection Properties contient des caractéristiques spécifiques à l'objet Recordset destinées au fournisseur de données en cours.

Type de données

Properties (objet Collection)

 
Description

La classe de collection Properties contient une instance de classe Property pour chaque propriété spécifique à l'objet Recordset pour le fournisseur de données.

La collection Properties de l'objet Command n'est pas renseignée tant que la propriété ActiveConnection de l'objet Command est définie sur un objet Connection ouvert ou sur une valeur de chaîne de connexion valide.

 
Voir aussi

Propriété Command.ActiveConnection

 
Evénement Recordset.RecordChangeComplete (Versions 2.0, 2.1, 2.5 et 2.6)

RecordChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal cRecords As Long, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement RecordChangeComplete est appelé après le changement par une opération d'un ou plusieurs enregistrements dans l'objet Recordset.

Arguments
adReason (EventReasonEnum)

Indique le motif de cet événement. Les valeurs correctes de adReason sont les suivantes : adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete et adRsnFirstChange.

cRecords (Long)

Indique le nombre d'enregistrements concernés par l'opération à l'origine de cet événement.

pError (Error)

Contient les informations relatives à une erreur qui s'est produite si le paramètre adStatus est défini sur adStatusErrorsOccurred.

adStatus (EventStatusEnum)

Indique l'état de l'opération en cours. Si le paramètre adStatus est défini sur adStatusOK, l'opération a réussi. Si le paramètre adStatus est défini sur adStatusErrorsOccurred, l'opération a échoué et l'objet pError contient les informations relatives à l'erreur. Si le paramètre adStatus est défini sur adStatusCancel, l'opération a été annulée par l'application avant la fin. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé.

pRecordset

Représente l'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventReasonEnum, énumération EventStatusEnum, méthode Recordset.AddNew, méthode Recordset.CancelBatch, méthode Recordset.CancelUpdate, méthode Recordset.Delete, événement Recordset.WillChangeRecord, méthode Recordset.Update, méthode Recordset.UpdateBatch

 
Evénement Recordset.RecordsetChangeComplete (Versions 2.0, 2.1, 2.5 et 2.6)

RecordsetChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement RecordsetChangeComplete est appelé après le changement par une opération d'un objet Recordset.

Arguments
adReason (EventReasonEnum)

Indique le motif de cet événement. Les valeurs correctes de adReason sont les suivantes : adRsnReQuery, adRsnReSynch, adRsnClose et adRsnOpen.

pError (Error)

Contient les informations relatives à une erreur qui s'est produite si le paramètre adStatus est défini sur adStatusErrorsOccurred.

adStatus (EventReasonEnum)

Indique l'état de l'opération en cours. Si le paramètre adStatus est défini sur adStatusOK, l'opération a réussi. Si le paramètre adStatus est défini sur adStatusErrorsOccurred, l'opération a échoué et l'objet pError contient les informations relatives à l'erreur. Si le paramètre adStatus est défini sur adStatusCancel, l'opération a été annulée par l'application avant la fin. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé.

pRecordset

Représente l'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventReasonEnum, énumération EventStatusEnum, méthode Recordset.Open, méthode Recordset.Requery, événement Recordset.WillChangeRecordset

 
Propriété Recordset.RecordCount (Versions 2.0, 2.1, 2.5 et 2.6)

recordcount = recordset.RecordCount
 

La propriété RecordCount renvoie le nombre d'enregistrements dans l'objet Recordset en cours.

Type de données

Long

 
Description

Si le fournisseur de données ou le curseur ne prend pas en charge la propriété RecordCount ou que le nombre d'enregistrements ne peut être déterminé par l'objet ADO, la valeur -1 est renvoyée.

Le nombre réel d'enregistrements est toujours renvoyé par la propriété RecordCount pour le curseur Keyset ou Static, en revanche la valeur -1 est systématiquement renvoyée pour le curseur Forward Only. Les curseurs dynamiques peuvent renvoyer la valeur -1 ou le nombre réel d'enregistrements, selon la source de données.

La propriété RecordCount indique de manière optimale le nombre d'enregistrements du jeu d'enregistrements seulement lorsque l'objet Recordset en cours prend en charge le positionnement approximatif (Supports -- adApproxPosition) ou les signets (Supports -- adBookmark). Si n'est pas le cas, cette propriété utilise beaucoup de ressources car l'objet ADO doit charger tous les enregistrements avant de les compter.

 
Méthode Recordset.Requery (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Requery
 
Description

La méthode Requery de l'objet Recordset réexécute la commande à l'origine du jeu d'enregistrements afin d'actualiser celui-ci. Cette méthode a le même effet qu'appeler les méthodes Close puis Open.

Si vous ajoutez un nouvel enregistrement ou que vous en modifiez un, lorsque vous appelez la méthode Requery, un message d'erreur s'affiche.

Si vous souhaitez modifier les propriétés en lecture seule lorsqu'un objet Recordset est ouvert (CursorType, LockType, etc.), vous devez fermer puis ouvrir manuellement l'objet Recordset. Pour cela, appelez la méthode Close, apportez les modifications, puis appelez la méthode Open.

 
Voir aussi

ExecuteOptionEnum

 
Méthode Recordset.Resync (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Resync AffectRecords
 

La méthode Resync de l'objet Recordset actualise les données du jeu d'enregistrements à partir de la source de données sous-jacente.

Arguments
AffectRecords (AffectEnum)

Facultatif. Enumérateur de type AffectEnum dont la valeur est définie sur adAffectCurrent (1), adAffectGroup (2) ou sur adAffectAll (3, valeur par défaut).

Si la valeur de AffectRecords est adAffectCurrent, l'appel de la méthode Resync n'a une incidence que sur les mises à jour en attente de l'enregistrement en cours du jeu d'enregistrements.

Si la valeur de AffectRecords est adAffectGroup, l'appel de la méthode Resync n'a une incidence que sur les enregistrements en attente imposés par la propriété Filter de l'objet Recordset en cours. Cette propriété doit déjà être définie pour la méthode Resync à appeler avec le paramètre adAffectGroup.

Si la valeur de AffectRecords est adAffectAll, la méthode Resync a un effet sur toutes les mises à jour des enregistrements en attente de l'objet Recordset en cours (notamment celles masquées par la propriété Filter).

 
Description

La méthode Resync de l'objet Recordset sert à resynchroniser les enregistrements du jeu d'enregistrements en cours avec ceux trouvés dans la source de données sous-jacente. Cela s'avère très utile lorsque vous avez un curseur Static ou Forward Only et que vous souhaitez vérifier si un autre utilisateur a modifié les enregistrements dans la source de données.

La méthode Resync n'affiche pas les enregistrements ajoutés à la source de données ; il met simplement à jour ceux que vous avez déjà. Par conséquent, la méthode Resync ne réexécute pas la commande sous-jacente à l'origine du jeu d'enregistrements.

Si la méthode Resync essaie de lire un enregistrement supprimé par un autre utilisateur, aucune erreur d'exécution ne se produit. En revanche, des avertissements sont ajoutés à la collection Errors. Une erreur d'exécution n'a lieu que lorsque tous les enregistrements marqués comme étant à mettre à jour ont un conflit pour une raison ou une autre. Utilisez la propriété Filter avec la valeur adFilterAffectedRecords et la propriété Status pour rechercher les enregistrements avec conflits.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la méthode Resync.

 
Voir aussi

Enumération ADCPROP_UPDATERESYNC_ENUM, énumération AffectEnum, énumération CursorOptionEnum, méthode Recordset.Supports, énumération ResyncEnum

 
Méthode Recordset.Save (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Save Destination, PersistFormat
 

La méthode Save enregistre l'objet Recordset en cours dans un fichier ou un objet Stream.

Arguments
Destination (Variant)

Facultatif. Peut être soit un nom de fichier à créer, soit un objet Stream devant accepter l'objet Recordset enregistrer.

PersistFormat (PersistFormatEnum)

Facultatif. Indique le format de l'objet Recordset lorsque vous l'enregistrez. ADTG est le format par défaut, mais vous pouvez également utiliser le format XML.

 
Description

La méthode Save doit être invoquée sur un objet Open Recordset. Lors du premier appel de la méthode Save, vous pouvez spécifier l'argument Destination, ce qui n'est pas le cas lors des appels suivants. Si le même nom de destination est utilisé sur le même objet Recordset, une erreur se produit. En revanche, si deux noms différents sont utilisés, les deux fichiers restent ouverts jusqu'à l'appel de la méthode Close. En ne spécifiant pas le nom de destination lors du premier appel de la méthode Save, tout fichier créé porte le nom de la source de l'objet Recordset.

Lorsque vous enregistrez un objet Recordset avec la propriété Filter, seuls les enregistrements visibles sont enregistrés. Lorsque vous enregistrez un jeu d'enregistrements hiérarchique, l'objet Recordset enfant en cours, ses enfants et l'objet Recordset parent sont tous enregistrés. Lors de l'enregistrement d'un objet Recordset enfant, seul l'enfant et ses enfants sont enregistrés.

Si vous appelez la méthode Save lorsqu'une opération asynchrone est activée pour l'objet Recordset, la méthode Save attend la fin de l'opération avant de reproduire l'objet Recordset. Une fois l'objet Recordset reproduit, le pointeur d'enregistrements pointe vers le premier enregistrement de l'objet Recordset.

Vous pouvez obtenir de meilleurs résultats en définissant la propriété CursorLocation sur celle du client. Si le fournisseur de données ne prend pas en charge la fonctionnalité nécessaire pour enregistrer l'objet Recordset, c'est le service de curseur qui la prend en charge. Lorsque vous utilisez le serveur comme emplacement de curseur, vous ne pouvez généralement qu'insérer, supprimer ou mettre à jour un seul tableau. De plus, la méthode Resync n'est pas disponible.

Microsoft vous avertit que lorsque vous reproduisez des jeux d'enregistrements hiérarchiques au format XML, vous ne pouvez pas enregistrer l'objet Recordset s'il contient des mises à jour en attente ou s'il s'agit d'un objet hiérarchique paramétré.

 
Voir aussi

Enumération PersistFormatEnum, méthode Recordset.Close, propriété Recordset.CursorLocation, propriété Recordset.Filter, propriété Recordset.Source

 
Méthode Recordset.Seek (Versions 2.1, 2.5 et 2.6)

recordset.Seek KeyValues, SeekOptions
 

La méthode Seek définit rapidement le pointeur d'enregistrement sur l'enregistrement de l'objet Recordset correspondant à l'index fourni.

Arguments
KeyValues (Variant)

Indique que les valeurs sont utilisées conjointement à la valeur Recordset.Index pour rechercher un enregistrement.

SeekOptions (SeekEnum)

Indique le type de comparaison utilisé lors de la recherche d'un enregistrement.

 
Description

La méthode Seek est utilisée avec la propriété Index de l'objet Recordset. Si l'objet Recordset en cours prend en charge les index, vous pouvez utiliser la méthode Seek. Vérifiez la valeur de l'appel de la méthode Recordset.Supports (adSeek) pour déterminer si l'objet Recordset en cours prend en charge cette méthode.

La propriété Index indique quel Index est utilisé avec la méthode Seek. Le premier paramètre de la méthode Seek, un tableau de valeurs Variant, doit contenir une valeur pour chaque colonne de l'Index actuellement utilisé.

Si vous ne parvenez pas à trouver l'enregistrement, le pointeur d'enregistrements est placé sur le marqueur EOF.

 
Remarques

Vous ne pouvez utiliser la méthode Seek que sur des clients côté serveur, qui s'ouvrent à l'aide la valeur d'énumération CommandTypeEnum, adCmdTableDirect.

Les fournisseurs de données ne prennent pas tous en charge la méthode Seek.

 
Voir aussi

Enumération CommandTypeEnum, énumération CursorOptionEnum, propriété Recordset.EOF, propriété Recordset.Index, énumération SeekEnum, méthode Recordset.Supports

 
Propriété Recordset.Sort (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Sort = sortstring
 

La propriété Sort trie un jeu d'enregistrements par un ou plusieurs noms de champ.

Type de données

Chaîne

 
Description

La propriété Sort peut être définie pour trier un jeu d'enregistrements en tenant compte d'un ou plusieurs champs en ordre croissant ou décroissant. La propriété Sort accepte une valeur String identique à une clause de tri d'une instruction SQL. Les champs sont séparés par une virgule et dont chaque nom est suivi du mot-clé ASC ou DESC. S'il n'y a pas de mot-clé, vous pouvez déduire qu'il s'agit du mot-clé ASC.

Définir la propriété Sort sur une valeur String vide (") annule le tri du jeu d'enregistrements et restaure le tri par défaut.

Par exemple, la valeur "Company ASC, Contact DESC" de la propriété Sort trie le jeu d'enregistrements par le nom de la société en ordre croissant puis par contact en ordre décroissant.

La propriété Sort ne réorganise pas les données au sein du jeu d'enregistrements. Elle crée plutôt un index temporaire pour chaque champ ne disposant pas déjà d'un index si la propriété CursorLocation est définie sur adUseClient.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la propriété Sort.

 
Voir aussi

Propriété Recordset.CursorLocation

 
Propriété Recordset.Source (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Source = source
 

La propriété Source renvoie la source pour les données d'un objet Recordset.

Type de données
String (Let, Get) Command (Set)
 
Description

Pour un objet Recordset, la propriété Source spécifie la provenance des données d'un jeu d'enregistrements. La propriété Source pour l'objet Recordset est en lecture/écriture lorsque l'objet Recordset est fermé et en lecture seule lorsqu'il est ouvert.

La valeur de la propriété Source pour l'objet Recordset peut être un des éléments suivants :

  • Variable d'objet de commande

  • Instruction SQL

  • Nom de procédure stockée

  • Nom de tableau

  • Fichier ou URL

Si la propriété Source est définie sur un objet Command, la propriété ActiveConnection de l'objet Recordset prend sa valeur de la propriété ActiveConnection de l'objet Command. En revanche, la lecture de la propriété Source ne renvoie pas un objet Command. Elle renvoie plutôt la propriété CommandText de l'objet Command associé à partir duquel vous définissez la propriété Source.

Si la propriété Source est définie sur une instruction SQL, un nom de procédure stockée ou un nom de tableau, il est préférable de spécifier celle-ci dans l'argument Options de la méthode Open, pour que l'objet Recordset puisse optimiser les performances.

 
Voir aussi

Méthode Recordset.Open

 
Propriété Recordset.State (Versions 2.0, 2.1, 2.5 et 2.6)

state = recordset.State
 

La propriété State indique l'état de l'objet Recordset.

Type de données

ObjectStateEnum

 
Description

La propriété State en lecture seule indique si l'objet Recordset en cours est ouvert ou fermé.

 
Voir aussi

Enumération ObjectStateEnum

 
Propriété Recordset.Status (Versions 2.0, 2.1, 2.5 et 2.6)

status = recordset.Status
 

La propriété Status indique l'état de l'enregistrement en cours par rapport aux opérations en bloc.

Type de données

RecordStatusEnum

 
Description

La propriété Status peut être définie sur une ou plusieurs valeurs d'énumération RecordStatusEnum répertoriées à l'annexe E.

La propriété Status indique les changements en attente pour les enregistrements qui ont été mis à jour au cours d'une opération par lots.

De plus, la propriété Status indique les raisons de l'échec des fonctions suivantes : Resync, UpdateBatch, CancelBatch et Filter (réglage égal à un tableau de signets).

 
Voir aussi

Méthode Recordset.CancelBatch, propriété Recordset.Filter, méthode Recordset.Resync, méthode Recordset.UpdateBatch, énumération RecordStatusEnum

 
Propriété Recordset.StayInSync (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Resync AffectRecords
 

La propriété StayInSync indique tout changement des références aux jeux d'enregistrements du chapitre si le pointeur d'enregistrement se déplace vers une rangée parente pour les jeux d'enregistrements hiérarchiques.

Type de données

Booléen

 
Description

La propriété StayInSync est en lecture/écriture. La valeur de la propriété est définie par défaut sur True.

Si la valeur de la propriété StayInSync est définie sur True, les références aux jeux d'enregistrements du chapitre changent lorsque le jeu d'enregistrement parent est modifié.

Si la valeur de la propriété StayInSync est définie sur False, les références aux jeux d'enregistrements du chapitre pointent vers le jeu d'enregistrement parent précédent lorsque le déplacement du pointeur dans un jeu d'enregistrements hiérarchique modifie le jeu d'enregistrements parent.

 
Méthode Recordset.Supports (Versions 2.0, 2.1, 2.5 et 2.6)

Set boolean = recordset.Supports(CursorOptions)
 

La méthode Supports détermine si le fournisseur de données en cours prend en charge la fonctionnalité spécifiée.

Arguments
CursorOptions (Long)

Représente le type de fonctionnalité que vous êtes en train de tester. Cette valeur peut être une ou plusieurs des valeurs CursorOptionEnum répertoriées à l' annexe E.

 
Valeurs renvoyées

Booléen

 
Description

La méthode Supports de l'objet Recordset teste si ce dernier prend en charge chacun des types de fonctionnalité.

Si les valeurs des valeurs CursorOptionEnum sont ajoutées et transmises comme l'unique argument à la fonction Supports, une valeur renvoyée indique si toute la fontionnalité en doute est prise en charge.

 
Voir aussi

Enumération CursorOptionEnum

 
Méthode Recordset.Update (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.Update Fields, Values
 

La méthode Update de l'objet Recordset enregistre les modifications apportées aux champs de l'enregistrement en cours, du fait qu'un appel de la méthode AddNew modifie le contenu d'un champ ou d'un tableau de champs.

Arguments
Fields (Variant ou Variant array)

Cet argument peut contenir le champ, la position ordinale, un tableau de champs ou de positions ordinales que vous souhaitez mettre à jour dans l'enregistrement en cours. L'argument Fields doit être de même type et de même dimension que ceux de l'argument Values.

Values (Variant ou Variant array)

Facultatif. Cet argument peut contenir la ou les valeurs des champs spécifiés dans l'argument Fields. L'argument Values doit être de même type et de même dimension que ceux de l'argument Fields.

 
Description

L'enregistrement en cours le reste après avoir appelé la méthode Update.

Si vous spécifiez un tableau de noms de champ pour l'argument Fields destiné à la méthode Update, l'argument Values doit avoir le même tableau dimensionnel, contenant les valeurs correspondantes de chaque champ répertorié dans le tableau Fields. Dans le cas contraire, un message d'erreur s'affiche.

Si vous déplacez le pointeur vers un autre enregistrement lorsque vous modifiez un enregistrement, celui-ci est enregistré (via l'appel automatique de la méthode Update) avant la modification de la position de l'enregistrement. En outre, si vous modifiez l'enregistrement en cours et que vous appelez la méthode UpdateBatch, la méthode Update est à nouveau appelée automatiquement.

Inversement, la méthode CancelUpdate annule toute modification apportée à l'enregistrement en cours.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la méthode Update.

 
Voir aussi

Enumération CursorOptionEnum, méthode Recordset.Supports

 
Méthode Recordset.UpdateBatch (Versions 2.0, 2.1, 2.5 et 2.6)

recordset.UpdateBatch AffectRecords
 

Lorsque vous appelez la méthode UpdateBatch de l'objet Recordset, celle-ci enregistre sur le disque toutes les mises à jour par lots en attente.

Arguments
AffectRecords (AffectEnum)

Le paramètre facultatif de la méthode UpdateBatch est un énumérateur de type AffectEnum, dont la valeur est adAffectCurrent (1), adAffectGroup (2) ou adAffectAll (3, valeur par défaut).

Si la valeur de AffectRecords est adAffectCurrent, l'appel de la méthode UpdateBatch n'a une incidence que sur les mises à jour en attente de l'enregistrement en cours du jeu d'enregistrements.

Si la valeur de AffectRecords est adAffectGroup, l'appel de la méthode UpdateBatch n'a une incidence que sur les enregistrements en attente imposés par la propriété Filter de l'objet Recordset en cours. Cette propriété doit déjà être définie pour la méthode UpdateBatch à appeler avec le paramètre adAffectGroup.

Si la valeur de AffectRecords est adAffectAll, la méthode UpdateBatch a un effet sur toutes les mises à jour des enregistrements en attente de l'objet Recordset en cours (notamment celles masquées par la propriété Filter).

 
Description

La méthode UpdateBatch transmet à la source de données toutes les mises à jour par lots en attente Cette méthode ne s'utilise qu'en mode de mise à jour par lots, qui ne doit être utilisée qu'avec un curseur Keyset ou Static.

Il est possible de mettre à jour plusieurs fois les valeurs de champ en cache avant d'exécuter les modifications des mises à jour par lots en attente. La méthode Update est appelée automatiquement si la méthode UpdateBatch est appelée lorsque vous êtes en mode édition.

Si vous mettez à jour un enregistrement déjà supprimé par un autre utilisateur, aucune erreur d'exécution se produit ; en revanche, des avertissements sont ajoutés à la collection Errors. Une erreur d'exécution n'a lieu que lorsque tous les enregistrements marqués comme étant à mettre à jour ont un conflit pour une raison ou une autre. Utilisez la propriété Filter avec la valeur adFilterAffectedRecords et la propriété Status pour rechercher les enregistrements avec conflits.

Inversement, la méthode CancelBatch annule toutes les mises à jour en attente.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la méthode UpdateBatch.

 
Voir aussi

Enumération AffectEnum, méthode Recordset.Supports, énumération CursorOptionEnum

 
Evénement Recordset.WillChangeField (Versions 2.0, 2.1, 2.5 et 2.6)

WillChangeField(ByVal cFields As Long, _
ByVal Fields As Variant, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement WillChangeField est appelé avant le changement par une opération d'une ou plusieurs valeurs d'objet Field.

Arguments
cFields (objet Recordset)

Représente le jeu d'enregistrements en cours que vous souhaitez actualiser.

Fields (Variant array)

Contient les objets Field en attente d'être modifiés.

adStatus (EventStatusEnum)

Indique l'état de l'opération en cours. Le paramètre adStatus est défini sur adStatusOK si l'opération à l'origine de cet événement a réussi. Si le paramètre adStatus est défini sur adStatusCantDeny, l'événement ne peut demander l'annulation de l'opération. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé. Si le paramètre adStatus est défini sur adStatusCancel, une demande d'annulation de l'opération est faite.

pRecordset

Représente l'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventStatusEnum, événement Recordset.FieldChangeComplete, méthode Recordset.Update, propriété Recordset.Value

 
Evénement Recordset.WillChangeRecord (Versions 2.0, 2.1, 2.5 et 2.6)

WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, _
ByVal cRecords As Long, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement WillChangeRecord est appelé avant le changement par une opération d'un ou plusieurs enregistrements dans l'objet Recordset.

Arguments
adReason (EventStatusEnum)

Indique le motif de cet événement. Les valeurs correctes de adReason sont les suivantes : adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete et adRsnFirstChange.

cRecords (Long)

Indique le nombre d'enregistrements concernés par l'opération à l'origine de cet événement.

adStatus (EventStatusEnum)

Indique l'état de l'opération en cours. Le paramètre adStatus est défini sur adStatusOK si l'opération à l'origine de cet événement a réussi. Si le paramètre adStatus est défini sur adStatusCantDeny, l'événement ne peut demander l'annulation de l'opération. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé. Si le paramètre adStatus est défini sur adStatusCancel, une demande d'annulation de l'opération est faite.

pRecordset

Représente l'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventReasonEnum, énumération EventStatusEnum, méthode Recordset.AddNew, méthode Recordset.CancelBatch, méthode Recordset.CancelUpdate, méthode Recordset.Delete, événement Recordset.RecordChangeComplete, méthode Recordset.Update, méthode Recordset.UpdateBatch

 
Evénement Recordset.WillChangeRecordset (Versions 2.0, 2.1, 2.5 et 2.6)

WillChangeRecordset(ByVal adReason As ADODB.EventReasonEnum, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement WillChangeRecordset est appelé avant le changement par une opération d'un objet Recordset.

Arguments
adReason (EventReasonEnum)

Indique le motif de cet événement. Les valeurs de adReason sont les suivantes : adRsnReQuery, adRsnReSynch, adRsnClose et adRsnOpen.

adStatus (EventReasonEnum)

Indique l'état de l'opération en cours. Le paramètre adStatus est défini sur adStatusOK si l'opération à l'origine de cet événement a réussi. Si le paramètre adStatus est défini sur adStatusCantDeny, l'événement ne peut demander l'annulation de l'opération. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé. Si le paramètre adStatus est défini sur adStatusCancel, une demande d'annulation de l'opération est faite.

pRecordset

Représente l'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventReasonEnum, énumération EventStatusEnum, événement RecordsetChangeComplete, méthode Recordset.Requery, méthode Recordset.Open

 
Evénement Recordset.WillMove (Versions 2.0, 2.1, 2.5 et 2.6)

WillMove(ByVal adReason As ADODB.EventReasonEnum, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
 

L'événement WillMove est appelé avant qu'une opération change la position du pointeur d'enregistrement de l'objet Recordset.

Arguments
adReason (EventReasonEnum)

Indique le motif de cet événement. Les valeurs de adReason sont les suivantes : adRsnMoveFirst, adRsnMoveLast, adRsnMoveNext, adRsnMovePrevious, adRsnMove et adRsnRequery.

adStatus

Contient une valeur EventStatusEnum indiquant l'état de l'opération en cours. Le paramètre adStatus est défini sur adStatusOK si l'opération à l'origine de cet événement a réussi. Si le paramètre adStatus est défini sur adStatusCantDeny, l'événement ne peut demander l'annulation de l'opération. Si le paramètre adStatus est défini sur adStatusUnwantedEvent, cet événement n'est pas rappelé. Si le paramètre adStatus est défini sur adStatusCancel, une demande d'annulation de l'opération est faite.

pRecordset

Représente l'objet Recordset qui a appelé cet événement.

 
Voir aussi

Enumération EventReasonEnum, énumération EventStatusEnum, propriété Recordset.AbsolutePage, propriété Recordset.AbsolutePosition, méthode Recordset.AddNew, méthode Recordset.Bookmark, propriété Recordset.Filter, propriété Recordset.Index, méthode Recordset.Move, méthode Recordset.MoveFirst, méthode Recordset.MoveLast, méthode Recordset.MoveNext, méthode Recordset.MovePrevious, méthode Recordset.Open, méthode Recordset.Requery, événement Recordset.WillMove