Créer une requête SQL directe

Créer une requête SQL directe

Vous pouvez utiliser Access en tant qu’application frontale, puis lier des tables d’un serveur principal, tel que SQL Server. Par défaut, la plupart des requêtes s’exécutent localement dans le moteur de base de données Access ACE. Dans certains cas, Access peut exécuter une requête à distance sur SQL Server, en fonction de la syntaxe SQL et d’autres facteurs. Pour plus d’informations, reportez-vous à la section « moteur de base de données JET version 3,0 : connectivité ODBC » dans la rubrique livres blancs sur Jet et ODBC.

Bien souvent, vous souhaitez exécuter explicitement une requête sur un serveur de base de données. Pour améliorer les performances, vous devez procéder de la même façon pour les serveurs de base de données qu’avec un ordinateur de bureau, mais vous pouvez renvoyer un sous-ensemble de données plus petit sur la connexion réseau. Pour exécuter une requête sur un serveur de base de données, utilisez un requête SQL directe une instruction Transact SQL (TSQL) qui se connecte à SQL Server à l’aide d’une chaîne de connexion ODBC. Par exemple, vous pouvez transmettre une instruction SELECT pour renvoyer des données à une feuille de données, un formulaire, un État ou un contrôle de liste, exécuter l’équivalent des requêtes action (DML), des procédures stockées d’appel et effectuer des tâches administratives (définition des données). Instructions de langage (DDL)).

Remarque    Les résultats d’une requête SQL directe sont en lecture seule. Pour modifier directement les données dans une feuille de données ou un formulaire, créez une table liée à un affichage indexé. Pour plus d’informations, reportez-vous à créer des affichages indexés.

  1. Se connecter à une base de données serveur.

    Pour plus d’informations sur la liaison à SQL Server, voir importer ou attacher des données d’une base de données SQL Server et lier ou importer des données à partir d’une base de données SQL Server Azure.

  2. Sélectionnez Créer > Création de requête.

  3. Fermez la boîte de dialogue Afficher la table.

  4. Sélectionnez création >directe.

    Access masque la grille de création de requête et affiche le mode SQL.

  5. Si la feuille de propriétés de la requête ne s’affiche pas, appuyez sur F4 pour l’afficher.

  6. Dans la feuille de propriétés, cliquez sur la zone de propriété Str connexion ODBC , puis effectuez l’une des opérations suivantes :

    Pour obtenir une chaîne de connexion :

    1. Dans le volet de navigation, cliquez avec le bouton droit sur une table liée à la source de données souhaitée, puis sélectionnez Gestionnaire de tables liées.

    2. Dans la boîte de dialogue Gestionnaire d’attaches , activez la case à cocher de la source de données, puis sélectionnez modifier.

    3. Dans la boîte de dialogue modifier le lien , copiez le texte dans la zone chaîne de connexion .

    1. Sélectionnez générer Bouton Générateur .

    2. Suivez les invites pour créer un fichier DSN contenant les informations de la chaîne de connexion. Pour obtenir la procédure détaillée, voir importer ou attacher des données dans une base de données SQL Server et lier ou importer des données à partir d’une base de données SQL Server Azure.

    Une fois que vous avez créé une connexion de fichier DSN, la chaîne de connexion ODBC est stockée en interne dans votre base de données Access. Pour obtenir une copie de cette chaîne, vous pouvez procéder comme suit :

    1. Recherchez un nom de table lié dans le volet de navigation à l’aide de la connexion ODBC de votre choix.

    2. Appuyez sur CTRL + G. pour ouvrir la fenêtre exécution VBA.

    3. Entrez : le code suivant :

      ?CurrentDb.TableDefs("<table name>").Connect

      Pour <nom du tableau> le nom de la table liée à partir de l’étape a.

    4. Copiez la chaîne renvoyée dans la propriété ODBC connexion Str .

  7. Entrez votre requête en mode SQL.

    Remarque   Il existe des différences importantes entre SQL et SQL Server TSQL, en particulier avec la syntaxe, les noms de fonctions et les arguments de fonction. Pour plus d’informations, reportez-vous à comparaison d’Access SQL avec SQL Server TSQL.

    Conseil    Construisez d’abord la requête TSQL dans SQL Server Management Studio, puis copiez et collez le code SQL dans le mode SQL. Cela permet de s’assurer que la requête possède une syntaxe correcte. Si vous ne disposez pas d’un accès pratique à une base de données SQL Server, envisagez d’installer Microsoft SQL Server Express Edition sur votre ordinateur, qui prend en charge jusqu’à 10 Go et vous permet d’exécuter et de vérifier facilement votre migration.

  8. Envisagez de définir d’autres propriétés associées :

    • Renvoie les enregistrements     Certaines instructions SQL renvoient des enregistrements tels que SELECT, et d’autres non, tels que UPDATE. Si la requête renvoie des enregistrements, définissez cette propriété sur Oui. Si la requête ne renvoie aucun enregistrement, définissez cette propriété sur non.

      Remarque    Les requêtes directes peuvent retourner plusieurs jeux de résultats, mais dans une variable de feuille de données, de formulaire, d’État ou de jeu d’enregistrements, seul le premier jeu de résultats est utilisé. Pour récupérer plusieurs jeux de résultats, utilisez une requête Création de table comme le montre l’exemple suivant :

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >

      Vous devez utiliser l’astérisque (*), car chaque jeu de résultats peut avoir des colonnes différentes. Chaque jeu de résultats est enregistré dans une table séparée et les numéros sont ajoutés aux noms de tables locales en conséquence. Par exemple, si trois jeux de résultats sont retournés, les noms des tables seraient : <nom de la table locale>, <nom de la table locale>1, <nom de la table locale>2.

    • Enregistrer les messages    Indiquez si vous souhaitez renvoyer les messages de la base de données SQL dans une table de messages Access. Le nom de la table est au format, nom d’utilisateur – NN, où nom d’utilisateur est le nom de connexion de l’utilisateur actuel et NN correspond au numéro à partir de 00.

    • Temporisation ODBC    Spécifiez le nombre de secondes d’attente avant l’affichage d’une erreur de délai d’expiration lors de l’exécution d’une requête. La valeur par défaut est 60 secondes. Il peut y avoir des retards dus au trafic réseau ou à une utilisation intensive du serveur de base de données.

    • Enregistrements Max    Spécifiez le nombre maximal d’enregistrements à retourner. Il est possible que vous ayez limité des ressources système ou que vous vouliez tester vos résultats avec uniquement une petite quantité de données.

  9. Lorsque vous avez fini d’entrer la requête, sélectionnez création > exécuter. Votre requête est envoyée au serveur de base de données pour le traitement.

Remarque :  Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez vous nous dire si les informations vous ont été utiles ? Voici l’article en anglais pour référence.

Voir aussi

références Transact-SQL

avec Transact-SQL

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×