Exécuter une requête SQL avec un paramètre d'Excel 2007


21

J'ai une requête dans un tableau Excel. J'ai suivi cela pour le faire.

Mais comment puis-je ajouter un paramètre d'une cellule dans ma requête?

Je cherche un moyen de le faire:

select *
from dbo.Customers
where CustomerID = Cell.A2

Le Cell.A2 ne fonctionne pas. Mais comment puis-je ajouter quelque chose comme ça, afin que le contenu d'une cellule soit utilisé dans ma requête?


Avez-vous essayé de simplement nommer la cellule - puis d'utiliser le nom dans la requête au lieu de la référence de cellule?

Réponses:


17

Vous ne savez pas pourquoi MS a rendu cela si compliqué, vous devrez utiliser Microsoft Query.

Cliquez sur Data -> From External Sources -> From Microsoft Query. Choisissez la source de données. Sélectionnez SQL Server, entrez les détails d'authentification et sélectionnez la table

entrez la description de l'image ici

Cliquez sur Suivant, ne sélectionnez aucun critère de filtrage, choisissez Trier par critère, cliquez sur Suivant. Maintenant, cliquez sur Afficher / Modifier dans MS Query au lieu de sélectionner Retour à Excel

entrez la description de l'image ici

Cliquez sur Terminer. Maintenant, dans MS Query, cliquez sur Critères -> Ajouter des critères, choisissez l'opérateur et laissez la valeur être[]

entrez la description de l'image ici

Cliquez sur Fichier -> renvoyer les données vers Excel. Maintenant, Excel devrait vous demander le paramètre, sélectionnez la cellule appropriée

entrez la description de l'image ici

Pour modifier les paramètres, cliquez sur Données -> Propriétés -> Icône Doigt -> Définition -> paramètres

entrez la description de l'image ici


Vous pouvez également utiliser l'éditeur de requête SQL et saisir la requête avec les jointures et mettre un ?contre le champ où le paramètre doit être récupéré.

entrez la description de l'image ici


Hélas, les paramètres sont désactivés.
Vaccano

@Vaccano: Remanié ma réponse, veuillez jeter un oeil
Sathyajith Bhat

Merci pour l'effort sur ce Sathya. Hélas, j'ai réalisé que parce que ma requête contient des jointures, MS Query ne peut pas l'afficher graphiquement. Cela fait que vous ne pouvez pas avoir de paramètres. Je vais en faire une fonction VBA. Je vous donne cependant le signe de tête parce que votre réponse était si complète.
Vaccano

2
@Vaccano: Vous pouvez écrire la requête à l'aide de l'éditeur SQL et mettre un ?contre le champ dans lequel le paramètre doit être sélectionné i.imgur.com/NgXxc.png
Sathyajith Bhat

2
J'ai constaté qu'une fois la requête dans Excel, vous pouvez accéder à l'écran des paramètres de la requête et l'éditer sans revenir dans MS Query. Déposez juste un? où va le critère. Revenez ensuite à l'écran des propriétés de connexion et affectez ce paramètre à une cellule de la feuille de calcul.
Tracy Probst

1

Il n'est jamais trop tard pour une prise éhontée ...

Il y a ce super petit plugin pour Excel ... (avertissement: je suis l'auteur)

C'est un plugin Excel qui ajoute un moteur de base de données et un IDE SQL à Excel.

Il vous permet d'effectuer des opérations SQL sur tout ce qui est marqué comme un tableau dans Excel. Vous pouvez interroger plusieurs classeurs et également utiliser des tables d'une base de données externe (SQL Server / Sqlite / Postgres / Access / MySql) dans la même requête.

Il a la coloration syntaxique SQL, l'achèvement des instructions et un tas d'autres trucs sympas. Il utilise SQLite sous le capot, mais peut également utiliser des moteurs de base de données externes pour traiter les données.

Je le facture, mais il y a un essai gratuit que vous pouvez utiliser pendant 30 jours. Cela s'appelle ThingieQuery.

Désolé pour le plug, j'espère que ce n'est pas trop inapproprié.


-1

Mettez la valeur comme

where employeecode = '?'

Cela activera votre bouton de paramètre, mais lorsque vous appuyez sur ok, il vous demandera.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.