Vous pouvez utiliser l’action de macro RunSQL pour exécuter une requête d’action dans une base de données Access de bureau à l’aide de l’instruction SQL correspondante. Vous pouvez également exécuter une requête de définition des données.
Remarque
Cette action n’est pas autorisée si la base de données n’est pas approuvée.
Paramètre
L’action macro RunSQL contient les arguments suivants.
| Argument de l’action | Description |
|---|---|
| Instruction SQL | L’instruction SQL pour la requête d’action ou la requête de définition de données que vous souhaitez exécuter. La longueur maximale de cette instruction est de 255 caractères. Il s’agit d’un argument obligatoire. |
| Utiliser la transaction | Sélectionnez Oui pour inclure cette requête dans une transaction. Sélectionnez Non si vous ne souhaitez pas utiliser de transaction. La valeur par défaut est Oui. Si vous sélectionnez Non pour cet argument, la requête peut s’exécuter plus rapidement. |
Remarques
Vous pouvez utiliser des requêtes d’action pour ajouter, supprimer et mettre à jour des enregistrements et enregistrer le jeu de résultats d’une requête en tant que nouvelle table. Vous pouvez utiliser des requêtes de définition de données pour créer, modifier et supprimer des tables, ainsi que pour créer et supprimer des index. Vous pouvez utiliser l’action de macro RunSQL pour effectuer ces opérations directement à partir d’une macro sans avoir à utiliser de requêtes stockées.
Si vous devez taper une instruction SQL de plus de 255 caractères, utilisez plutôt la méthode RunSQL de l’objet DoCmd dans un module Visual Basic pour Applications (VBA). Vous pouvez taper des instructions SQL d’une taille maximale de 32 768 caractères dans VBA.
Les requêtes Access sont en fait des instructions SQL créées lorsque vous concevez une requête à l’aide de la grille de création dans la fenêtre Requête. Le tableau suivant répertorie les requêtes d’action Access et les requêtes de définition des données, ainsi que les instructions SQL correspondantes.
| Type de requête | instruction SQL |
|---|---|
| Action | |
| Ajout | INSERT INTO |
| Supprimer | Suppr |
| Création de table | SÉLECTIONNEZ... DANS |
| Mettre à jour | UPDATE |
| Définition des données (spécifique à SQL) | |
| Créer un tableau | CREATE TABLE |
| Modifier un tableau | ALTER TABLE |
| Supprimer un tableau | DROP TABLE |
| Créer un index | CRÉER UN INDEX |
| Supprimer un index | DROP INDEX |
Vous pouvez également utiliser une clause IN avec ces instructions pour modifier des données d’une autre base de données.
Remarque
Pour exécuter une requête de sélection ou une requête Analyse croisée à partir d’une macro, utilisez l’argument Afficher de l’action de macro OpenQuery pour ouvrir une requête de sélection ou une requête Analyse croisée existante en mode Feuille de données. Vous pouvez également exécuter des requêtes d’action existantes et des requêtes spécifiques à SQL de la même manière.
Conseil
Pour afficher l’équivalent SQL d’une requête Access, cliquez sur Mode SQL dans le menu Affichage (dans la barre de status d’Access). Vous pouvez utiliser les instructions SQL répertoriées comme modèles pour créer des requêtes à exécuter avec l’action macro RunSQL . La duplication d’une instruction SQL dans l’argument SQL Statement pour l’action macro RunSQL a le même effet que l’exécution de cette requête Access dans la fenêtre de requête.