Objet Command (Versions 2.0, 2.1, 2.5 et 2.6)
Dim object As ADODB.Command

L'objet Command exécute une instruction SQL, une requête ou une procédure stockée au niveau d'une source de données spécifiée. Un objet Command peut modifier la structure de la source de données, exécuter de grandes opérations par lots ou sélectionner des enregistrements à renvoyer dans un objet Recordset.

Propriété Command.ActiveConnection (Versions 2.0, 2.1, 2.5 et 2.6)
Command.ActiveConnection = ConnectionString
Set Command.ActiveConnection = ConnectionObject
 

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

Type de données

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

 
Description

La propriété ActiveConnection peut être définie sur String, représentant une chaîne de connexion, ou Variant, représentant un objet Connection ouvert.

La propriété ActiveConnection peut être définie sur soit une chaîne, soit 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 toute tentative d'exécution d'un objet Command. 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 définissez la propriété ActiveConnection sur un objet Connection fermé, l'objet ADO génère une erreur. Si vous la définissez sur Nothing, ADO dissocie l'objet Command de l'objet Connection et libère les ressources associées à la source de données. Si la propriété ActiveConnection est définie sur Nothing ou sur un objet Connection différent, les objets Parameter qui ont été livrés par le fournisseur de données, et qui résident dans la classe de collection Parameters de l'objet Command, seront perdus. Toutefois, les objets Parameter qui ont été ajoutés manuellement à la classe de collection Parameters, seront conservés.

Si vous fermez l'objet Connection associé à un objet Command, la propriété ActiveConnection de l'objet Command sera automatiquement définie sur Nothing.

 
Voir aussi

Propriété Connection.ConnectionString

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

Command.Cancel
 

La méthode Cancel annule la commande asynchrone en attente qui est en cours d'exécution.

Description

La méthode Cancel annule une commande asynchrone en cours d'exécution qui a été lancée à l'aide de la méthode Execute avec l'option adAsyncExecute définie.

Si la méthode Cancel est appelée sur une commande qui n'a pas été exécutée avec l'option adAsyncExecute définie, une erreur sera générée.

 
Voir aussi

Méthode Command.Execute

 
Propriété Command.CommandStream (Version 2.6)

Command.CommandStream = Stream
 

La propriété CommandStream définit ou renvoie le train de données, spécifique au fournisseur, qui est utilisé comme l'entrée de l'objet Command, tout comme la propriété CommandText identifie la commande à utiliser comme entrée.

Type de données

Variant

 
Description

La propriété CommandStream permet de spécifier le train de données utilisé comme une entrée de l'objet Command. Si vous définissez cette propriété, alors la propriété CommandText est définie sur une chaîne vide ("). De même, si la propriété CommandText est définie, la propriété CommandStream est définie sur Nothing.

Si un objet Command ayant pour source un train de données est utilisé pour créer un objet Recordset, la lecture de la propriété source de l'objet Recordset renvoie une chaîne vide ("), c'est-à-dire la valeur de la propriété CommandText de l'objet Command.

Vous devez utiliser les valeurs d'énumération adCmdText ou adCmdUnknown pour la propriété CommandType si la propriété CommandStream est définie.

Le format du train de données définie sur la propriété CommandStream est spécifique au fournisseur de données, de même que le comportement des méthodes Command.Parameters.Refresh et Command.Prepare.

 
Voir aussi

Propriété Command.CommandText, Propriété Command.CommandDialect, Enumération CommandTypeEnum, Source Recordset

 
Propriété Command.CommandText (Versions 2.0, 2.1, 2.5 et 2.6)

Command.CommandText = CommandText
 

La propriété CommandText définit ou renvoie une instruction SQL valide, un nom de tableau, un nom de procédure stockée, une URL relative ou tout autre texte de commande pouvant être reconnu par le fournisseur de données.

Type de données

String

 
Description

La propriété CommandText contient une valeur String qui, par défaut, contient une chaîne de longueur zéro ("). La chaîne peut être définie sur une instruction SQL, un nom de tableau, un appel à une procédure stockée, une URL relative ou tout autre texte de commande pouvant être reconnu par le fournisseur de données.

La propriété CommandType est utilisée pour indiquer à l'objet ADO le type d'informations résidant dans la propriété CommandText. Si la propriété CommandType est définie sur adCmdText, elle indique au fournisseur que la valeur de la propriété CommandText contient un texte de commande pouvant être reconnu par le fournisseur. En général, il s'agit d'une instruction SQL, mais pas forcément.

Si vous définissez la propriété CommandText, l'objet ADO prépare la requête spécifiée sur les méthodes Execute ou Open chaque fois que la propriété Prepared de l'objet Command est définie sur True et liée à une connexion ouverte.

La valeur de la propriété CommandText peut être modifiée par l'objet ADO, en fonction de la valeur de la propriété CommandType. Vous pouvez extraire la valeur de la propriété CommandText à tout moment si vous doutez de sa valeur.

Si vous définissez une valeur pour la propriété CommandStream, alors la propriété CommandText est définie automatiquement sur une chaîne vide (").

 
Voir aussi

Command.CommandStream, Propriété Command.CommandType, Propriété Command.Dialect, Propriété Command.Prepared

 
Propriété Command.CommandTimeout (Versions 2.0, 2.1, 2.5 et 2.6)

Command.CommlandTimeout = Seconds
 

La propriété CommandTimeout indique le temps d'attente de l'objet ADO, en secondes, avant de générer une erreur lors de l'exécution d'une commande asynchrone.

Type de données

Long

 
Description

La propriété CommandTimeout est définie sur lecture/écriture. Avec la propriété CommandTimeout, vous pouvez spécifier le temps que l'objet ADO attendra l'exécution d'une commande. La propriété CommandTimeout est représentée en secondes, et la valeur par défaut est de 30. Si vous définissez cette propriété sur zéro, vous autorisez l'objet ADO à attendre indéfiniment l'exécution d'une commande spécifiée. Si une commande dépasse le délai, une erreur est générée.

La propriété CommandTimeout de l'objet Command est distincte de la propriété CommandTimeout de l'objet Connection.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la propriété CommandTimeout. Vérifiez la documentation de votre fournisseur de données pour savoir s'il prend en charge cette propriété. Lorsque vous développez une application avec l'objet ADO, il est conseillé de vérifier les capacités du fournisseur de données que vous envisagez d'utiliser pour vous assurer qu'elles correspondent à vos besoins avant d'écrire tout votre code, et qu'il ne soit alors trop tard.

 
Voir aussi

Méthode Command.Execute, Propriété Connection.CommandTimeout

 
Propriété Command.CommandType (Versions 2.0, 2.1, 2.5 et 2.6)

Command.CommandType = CommandTypeEnum
 

La propriété CommandType indique le type actuel de l'objet Command.

Type de données

CommandTypeEnum

 
Description

La propriété CommandType indique le type de l'objet Command que vous utilisez. Vous pouvez définir la valeur de cette propriété sur l'une des valeurs d'énumération CommandTypeEnum. Si la source de l'objet Command est un train de données (défini par la propriété Command.CommandStream), vous devez définir la propriété CommandType sur adCmdText ou adCmdUnknown.

De plus, vous pouvez combiner la valeur ExecuteOptionEnum de adExecuteNoRecords avec les constantes adCmdText ou adCmdStoredProc pour améliorer les performances. Vous ne pouvez pas utiliser cette valeur avec la méthode Open de l'objet Recordset.

Si vous connaissez le type d'objet Command que vous utilisez, définissez cette propriété manuellement pour éviter le ralentissement indésirable des performances lorsque l'objet ADO tente de le déterminer. Si la propriété est incorrectement définie, une erreur survient à l'appel à la méthode Execute.

 
Voir aussi

Command.CommandStream, Propriété Command.CommandText, Enumération CommandTypeEnum

 
Méthode Command.CreateParameter (Versions 2.0, 2.1, 2.5 et 2.6)

Set parameter = command.CreateParameter(Name, Type, Direction, Size, Value)
 

La méthode CreateParameter crée et renvoie un nouveau paramètre contenant les informations fournies.

Arguments
Name (String)

Facultatif. Contient le nom du nouveau paramètre. Cet argument est mappé à la propriété Parameter.Name.

Type (DataTypeEnum)

Facultatif. Indique le type de données du nouveau paramètre. Cet argument est mappé à la propriété Parameter.Type. La valeur par défaut est adEmpty.

Direction (ParameterDirectionEnum)

Facultatif. Indique la direction du nouveau paramètre. Cet argument est mappé à la propriété Parameter.Direction. La valeur par défaut est adParamImput.

Size (Long)

Facultatif. Indique la longueur maximale du paramètre nouvellement créé en caractères ou en octets si le paramètre Type est défini sur un type de données de longueur variable. Cet argument est mappé à la propriété Parameter.Size.

Value (Variant)

Facultatif. Utilisé pour initialiser la valeur de l'objet Parameter nouvellement créé. Cet argument est mappé à la propriété Parameter.Value.

 
Valeurs renvoyées

Objet Parameter

 
Description

A l'aide de la méthode CreateParameter de l'objet Command, vous pouvez créer le nouvel objet Parameter avec les informations que vous spécifiez, y compris le nom, le type, la direction, la taille et la valeur. Lorsque vous utilisez cette méthode pour créer un nouvel objet Parameter, le paramètre n'est pas automatiquement ajouté à la collection Parameters de l'objet Command choisi. Pour cela, vous devez utiliser la méthode Append de la propriété Command.Parameters.

Lorsque vous attribuez des types de données de longueur variable, vous devez définir la propriété Size au moment de la création ou à un autre moment avant de l'ajouter à la collection Parameters, afin d'éviter les erreurs.

Si la propriété Type est définie sur adNumeric ou adDecimal, vous devez définir les propriétés Parameter.NumericScale et Parameter.Precision pour spécifier entièrement le type de données du paramètre. Par exemple, une propriété NumericScale de 3 indiquerait qu'il existe trois chiffres après la virgule et une précision de 5 indiquerait qu'il existe cinq chiffres, le total, représentant le nombre.

 
Voir aussi

Enumération DataTypeEnum, Enumération ParameterDirectionEnum, Propriété Parameter.Direction, Propriété Parameter.Name, Propriété Parameter.NumericScale, Propriété Parameter.Precision, Propriété Parameter.Size, Propriété Parameter.Type, Propriété Parameter.Value

 
Propriété Command.Dialect (Version 2.6)

Command.Dialect = GUID
 

La propriété Dialect est utilisée avec les propriétés CommandText et CommandStream pour indiquer la syntaxe spécifique du fournisseur de données de la source de l'objet Command.

Type de données

String

 
Description

La valeur par défaut pour la propriété Dialect est {C8B521FB-5CF3-11CE-ADE5-00AA0044773D}, indiquant à l'objet ADO que le fournisseur va tenter d'interpréter la source de l'objet Command spécifiée dans la propriété CommandStream ou CommandText.

 
Remarque

Vous devez vérifier la documentation de votre fournisseur de données pour connaître les valeurs valides que vous pouvez spécifier pour la propriété Dialect, en fonction de la valeur définie dans les propriétés CommandStream ou CommandText.

 
Voir aussi

Propriété Command.CommandStream, Propriété Command.CommandText

 
Méthode Command.Execute (Versions 2.0, 2.1, 2.5 et 2.6)

Set recordset = command.Execute(RecordsAffected, Parameters, Options)
Set stream = command.Execute(RecordsAffected, Parameters, Options)
command.Execute RecordsAffected, Parameters, Options
 

La méthode Execute exécute une instruction SQL, une requête ou une procédure stockée spécifiées dans la valeur de la propriété Command.CommandText.

Arguments
RecordsAffected (Long)

Facultatif. Cet argument est renseigné, par le fournisseur de données, avec le nombre d'enregistrements attribué par l'instruction SQL de l'action, la requête ou la procédure stockée (les commandes renvoyant des résultats ne renseignent pas ce paramètre).

Parameters (tableau Variant)

Facultatif. Contient les valeurs à transmettre à l'instruction SQL, requête ou procédure stockée pour les paramètres dans lesquels il est contenu.

Options (Long)

Facultatif. Combinaison d'une ou de plusieurs valeurs CommandTypeEnum et ExecuteOptionEnum indiquant comment le fournisseur de données doit traiter la commande. La valeur par défaut est -1 (aucune option définie). Vous pouvez également définir les valeurs CommandTypeEnum avec la propriété Command.CommandType.

 
Valeurs renvoyées
Objet Recordset Objet Stream Aucune
 
Description

La méthode Execute exécute une procédure stockée, une instruction SQL ou une requête au niveau d'une source de données. La commande exécutée dépend de la valeur de la propriété Command.CommandText. L'objet ADO évalue la propriété CommandText en fonction du paramètre Options de la méthode Execute.

Si la valeur CommandText entraîne le renvoi d'enregistrements de la source de données par la méthode Execute, ces enregistrements sont renvoyés sous la forme d'un objet Recordset à partir de la méthode Execute. Un objet Recordset renvoyé à partir de la méthode Command.Execute est toujours un curseur en avant seulement, en lecture seule.

Lorsque le paramètre Options de la méthode Execute inclut les valeurs adAsyncExecute, adAsyncFetch ou adAsyncFetchNonBlocking, les opérations se poursuivent dans l'arrière-plan du flux de l'application. Pendant que ces opérations se poursuivent, vous pouvez appeler la méthode Command.Cancel pour annuler toutes les opérations asynchrones en attente.

 
Voir aussi

Méthode Command.Cancel, Propriété Command.CommadText, Propriété Command.CommandType, Enumération CommandTypeEnum, Enumération ExecuteOptionEnum, Enumération ExecuteOptionEnum

 
Propriété Command.Name (Versions 2.0, 2.1, 2.5 et 2.6)

command.Name = Name
 

La propriété Name définit le nom de l'objet Command actuel.

Type de données

String

 
Description

La propriété Name est en lecture/écriture pour l'objet Command. La propriété Name attribue un nom à l'objet Command associé ou extrait un objet Command de la collection Commands.

Les noms ne doivent pas être uniques dans les collections.

 
Propriété Command.NamedParameters (Version 2.6)

command.NamedParameters = Boolean
 

La propriété NamedParameters indique si le fournisseur de données doit utiliser des noms de paramètres correspondant aux paramètres de l'objet Command ou utiliser les paramètres dans leur ordre d'apparition.

Type de données

Boolean

 
Description

Si la propriété NamedParameters est définie sur True, les propriétés de nom de chaque objet Parameter dans les objets Command actuels de la collection Parameters, seront transmises au fournisseur de données afin qu'elles soient utilisées pour mapper les paramètres sur les valeurs dans la propriété CommandText ou CommandStream.

Si elle est définie sur False, alors les paramètres ne sont pas mis en correspondance par nom, mais selon l'ordre dans lequel ils apparaissent.

 
Voir aussi

Propriété Command.CommandText, Propriété Command.CommandStream, Collection Parameters

 
Collection Command.Parameters (Versions 2.0, 2.1, 2.5 et 2.6)

Set parameters = command.Parameters
 

La collection Parameters renvoie un ensemble de paramètres pour l'objet Command donné.

Type de données

Parameters (objet Collection)

 
S'applique à

Objet Command

 
Description

La propriété Parameters de l'objet Command est en lecture seule. Elle renvoie une référence à l'objet de collection Parameters qui peut contenir zéro ou de nombreux objets Parameter représentant les paramètres pour la commande donnée.

 
Propriété Command.Prepared (Versions 2.0, 2.1, 2.5 et 2.6)

command.Prepared = Boolean
 

La propriété Prepared indique si une instruction préparée doit être créée par l'objet Command actuel avant son exécution.

Type de données

Boolean

 
Description

Si la valeur de la propriété Prepared est définie sur True, alors, avant la première exécution d'une requête définie par la propriété CommandText de l'objet Command, la requête est compilée et enregistrée. Dès lors, l'instruction Execute fait référence à la version compilée de la requête à exécuter. Le premier appel à l'instruction Execute peut en être lent, mais les appels qui suivent sont plus efficaces.

Si la valeur de la propriété Prepared est définie sur False, alors la requête ne sera pas compilée : au lieu de cela, elle est effectuée directement depuis l'objet Command.

 
Remarque

Les fournisseurs de données ne prennent pas tous en charge la propriété Prepared. Certains fournisseurs génèrent une erreur dès que la propriété Prepared est définie sur True, alors que d'autres ne génèrent pas d'erreur et remplacent tout simplement la valeur de la propriété Prepared par la valeur False.

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

Set properties = command.Properties
 

La propriété Properties renvoie une classe de collection Properties qui contient des caractéristiques spécifiques à l'objet Command pour le fournisseur utilisé actuellement.

Type de données

Properties (objet Collection)

 
S'applique à

Objet Command

 
Description

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

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

 
Voir aussi

Propriété Command.ActiveConnection

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

state = command.State
 

La propriété Status est utilisée pour déterminer l'état de l'enregistrement actuel lorsque vous utilisez des mises à jour par lots ou des opérations en bloc.

Type de données

RecordStatusEnum

 
Description

La propriété Type est utilisée pour vérifier les modifications en attente dans les enregistrements qui ont subi un changement pendant une mise à jour par lots. De plus, vous pouvez vérifier l'état des enregistrements qui ont échoué pendant les opérations en bloc, par exemple après un appel aux méthodes Delete, Resync, UpdateBatch ou CancelBatch ou lorsque une propriété Filter est définie sur un tableau de signets.

La propriété Type renvoie la somme d'une ou de plusieurs énumérations RecordStatusEnum.

 
Voir aussi

Recordset.CancelBatch, Méthode Recordset.Delete, Propriété Recordset.Filter, Méthode Recordset.Resync, Recordset.UpdateBatch, Enumération RecordStatusEnum, Enumération ObjectStateEnum