Partager via


Objet Command (ADO)

S’applique à : Access 2013, Office 2013

Définit une commande spécifique que vous avez l'intention d'exécuter sur une source de données.

Remarques

Utilisez un objet Command pour interroger une base de données et renvoyer des enregistrements dans un objet Recordset, pour exécuter une opération en bloc ou pour manipuler la structure d'une base de données. Selon les fonctionnalités proposées par le fournisseur, certaines collections, méthodes ou propriétés Command risquent de générer une erreur lorsqu'elles sont référencées.

Les collections, les méthodes et les propriétés d'un objet Command vous permettent d'effectuer diverses tâches :

  • définir le texte exécutable de la commande (par exemple, une instruction SQL) avec la propriété CommandText ;

  • Définir des requêtes paramétrées ou des arguments de procédure stockée à l'aide des objets Parameter et de la collection Parameters.

  • exécuter une commande et renvoyer le cas échéant un objet Recordset avec la méthode Execute ;

  • spécifier le type de commande avec la propriété CommandType avant exécution afin d'optimiser les performances ;

  • vérifier que le fournisseur enregistre une version préparée (compilée) de la commande avant exécution avec la propriété Prepared ;

  • définir le nombre de secondes pendant lesquelles un fournisseur attendra qu'une commande s'exécute avec la propriété CommandTimeout ;

  • associer une connexion ouverte à un objet Command en définissant sa propriété ActiveConnection ;

  • Définir la propriété Name pour spécifier l'objet Command en tant que méthode à utiliser sur l'objet Connection associé.

  • passer un objet Command à la propriété Source d'un objet Recordset afin d'obtenir des données ;

  • accéder aux attributs spécifiques du fournisseur avec la collection Properties.

Remarque

[!REMARQUE] Pour exécuter une requête sans utiliser d'objet Command, passez une chaîne de requête à la méthode Execute d'un objet Connection ou à la méthode Open d'un objet Recordset. Toutefois, un objet Command est nécessaire si vous voulez rendre persistant le texte de commande et l'exécuter de nouveau, ou utiliser des paramètres de requête.

Pour créer un objet Command indépendamment d'un objet Connection déjà défini, définissez sa propriété ActiveConnection sur une chaîne de connexion valide. ADO crée tout de même un objet Connection, mais il ne l'affecte pas à une variable objet. Toutefois, si vous associez plusieurs objets Command à la même connexion, vous devez créer et ouvrir explicitement un objet Connection; l'objet Connection est ainsi affecté à une variable objet. Si vous ne définissez pas la propriété ActiveConnection de l'objet Connection avec cette variable objet, ADO crée un nouvel objet Connection pour chaque objet Command, même si vous utilisez la même chaîne de connexion.

Pour exécuter un objet Command, il vous suffit de l'appeler à l'aide de sa propriété Name sur l'objet Connection associé. La propriété ActiveConnection de Command doit être définie sur l'objet Connection. Si Command possède des paramètres, passez ses valeurs en tant qu'arguments à la méthode.

If two or more Command objects are executed on the same connection and either Command object is a stored procedure with output parameters, an error occurs. To execute each Command object, use separate connections or disconnect all other Command objects from the connection.

La collection Parameters est le membre par défaut de l'objet Command. Les deux instructions suivantes sont donc équivalentes.