SQL.REQUEST (SQL.REQUEST, fonction)

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Cet article décrit la syntaxe de formule et l’utilisation de la fonction SQL.REQUEST dans Microsoft Excel.

Important : 

  • À partir d’Excel 2010, le groupe Récupérer et transformer (Power Query) fournit des fonctionnalités améliorées pour importer des données à partir de sources externes et remplace la fonction SQL.REQUEST.

  • L’instruction SQL.REQUEST n’est pas prise en charge au-delà de Microsoft Excel 2007.

  • Certains éléments mentionnés dans cette rubrique peuvent ne pas être applicables pour certaines langues.

Description

La fonction SQL.REQUEST se connecte à une source de données externe et exécute une requête à partir d’une feuille de calcul. Elle renvoie ensuite le résultat sous forme de matrice, sans qu’il soit nécessaire de programmer une macro. Si cette fonction n’est pas disponible, installez la macro complémentaire Microsoft Excel ODBC (XLODBC.XLA).

Syntaxe

SQL.REQUEST(chaîne_connexion,[réf_sortie],[invite_pilote],[texte_requête],[val_logique_noms_colonne])

La syntaxe de la fonction SQL.REQUEST contient les arguments suivants :

  • chaîne_connexion     Obligatoire. Fournit les informations, telles que le nom de la source de données, l’identification de l’utilisateur et les mots de passe, nécessaires au gestionnaire utilisé pour se connecter à une source de données ; l’argument chaîne_connexion doit être donné dans le format requis par le gestionnaire. Le tableau suivant donne trois exemples de chaîne de connexion destinés à trois gestionnaires.

Gestionnaire

Argument chaîne_connexion

dBASE

DSN= Les Comptoirs;PWD=test

SQL Server

DSN=MonServeur;UID=dbayer; PWD=123;Database=Pubs

ORACLE

DNS=Ma source de données Oracle;DBQ=MONSER VEUR;UID=JeanS;PWD=Sésame

  • Vous devez définir le nom de la source de données (DSN, Data Source Name) utilisé dans l’argument chaîne_connexion avant d’essayer de vous y connecter.

  • Vous pouvez entrer l’argument chaîne_connexion sous la forme d’une matrice ou d’une chaîne. Si l’argument chaîne_connexion excède 250 caractères, vous devez l’entrer sous forme de matrice.

  • Si la fonction SQL.REQUEST ne parvient pas à accéder à la source de données à l’aide de l’argument chaîne_connexion, elle renvoie la valeur d’erreur #N/A

  • réf_sortie     Facultatif. Représente une référence de la cellule dans laquelle vous voulez placer les caractéristiques de la connexion. Si la fonction SQL.REQUEST est tapée dans une feuille de calcul, alors l’argument réf_sortie n’est pas pris en compte.

    • Utilisez l’argument réf_sortie si vous voulez que la fonction SQL.REQUEST renvoie les caractéristiques de la connexion (dans ce cas, vous devez taper SQL.REQUEST dans une feuille macro).

    • Si vous omettez l’argument réf_sortie, la fonction SQL.REQUEST ne renvoie pas de caractéristiques de connexion.

  • invite_pilote     Facultatif. Précise les conditions d’affichage de la boîte de dialogue du gestionnaire et les options disponibles. Utilisez un des nombres décrits dans le tableau suivant. Si l’argument invite_pilote est omis, la fonction SQL.REQUEST utilise la valeur 2 par défaut.

Invite_pilote

Description

1

La boîte de dialogue du gestionnaire est toujours affichée.

2

La boîte de dialogue du gestionnaire est affichée uniquement si les informations fournies par la chaîne de connexion et la spécification de la source de données s’avèrent insuffisantes pour établir la connexion. Toutes les options de la boîte de dialogue sont disponibles.

3

La boîte de dialogue du gestionnaire est affichée uniquement si les informations fournies par la chaîne de connexion et la spécification de la source de données s’avèrent insuffisantes pour établir la connexion. Les options de la boîte de dialogue qui ne sont pas obligatoires sont estompées et ne sont pas disponibles.

4

La boîte de dialogue du gestionnaire n’est pas affichée. Si la connexion échoue, elle renvoie une erreur.

  • texte_requête     Facultatif. Représente l’instruction SQL que vous voulez exécuter sur la source de données.

    • Si la fonction SQL.REQUEST ne parvient pas à exécuter l’argument texte_requête dans la source de données spécifiée, elle renvoie la valeur d’erreur #N/A.

    • Vous pouvez mettre à jour une requête en concaténant des références dans l’argument texte_requête. Dans l’exemple suivant, à chaque changement de $A$3, la fonction SQL.REQUEST utilise la nouvelle valeur pour mettre à jour la requête.

« Sélectionnez le nom des clients où équilibrer > « & $A$ 3 & « ».

Microsoft Excel limite la longueur des chaînes à 255 caractères. Si l’argument texte_requête excède cette limite, tapez la requête dans une plage de cellules verticale et utilisez la plage entière comme argument texte_requête. Les valeurs des cellules sont concaténées pour composer l’instruction SQL complète.

  • val_logique_noms_colonne     Facultatif. Précise si les noms de colonnes doivent être renvoyés dans la première ligne des résultats. Donnez à cet argument la valeur VRAI si vous souhaitez que les noms de colonnes soient renvoyés dans la première ligne des résultats. Utilisez la valeur FAUX si vous ne souhaitez pas que les noms de colonnes soient renvoyés. Si l’argument val_logique_noms_colonne est omis, la fonction SQL.REQUEST ne renvoie pas les noms de colonnes.

Valeur retournée

  • Si la fonction parvient au terme de toutes ses actions, elle renvoie le résultat de la requête sous forme de matrice ou le nombre de lignes concernées par la requête.

  • Si la fonction SQL.REQUEST ne parvient pas à accéder à la source de données à l’aide de l’argument chaîne_connexion, elle renvoie la valeur d’erreur #N/A.

Notes

  • La fonction SQL.REQUEST peut être entrée sous forme de matrice. Dans ce cas, elle renvoie une matrice qui s’adapte à cette plage.

  • Si la plage de cellules est plus grande que l’ensemble de résultats, la fonction SQL.REQUEST ajoute des cellules vides à la matrice renvoyée pour qu’elle atteigne la taille nécessaire.

  • Si l’ensemble de résultats est plus grand que la plage entrée sous forme matricielle, la fonction renvoie la matrice complète.

  • Les arguments de la fonction de feuille de calcul SQL.REQUEST ont un ordre différent de ceux de la fonction SQLRequest dans Visual Basic pour Applications.

Exemple

Supposons que vous vouliez faire une requête sur une base de données dBASE. Si vous tapez la formule suivante dans une cellule, une matrice contenant le résultat de la requête est renvoyée avec, dans la première ligne, le nom des colonnes :

SQL. DEMANDER (« DSN = Les Comptoirs ; DBQ = c:\msquery ; FIL = dBASE4 », c15, 2, « sélectionnez Custmr_ID, date_fin à partir de commandes où order_Amt > 100 », vrai)

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
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.

×