Comment utiliser la valeur d'une cellule Excel dans une requête SQL Office Data Connection avec un opérateur IN?


1

Une connexion de données Office exécute une requête SQL sur une source de données externe et utilise certains paramètres dynamiques fournis dans la cellule d'une feuille de calcul. Tant que je fais quelque chose comme

SELECT * FROM TABLE1 WHERE FIELD1 = ?

et si vous définissez la source de paramètre de manière appropriée, tout fonctionne correctement. Cependant si j'essaye quelque chose comme

SELECT * FROM TABLE1 WHERE FIELD1 IN (?)

Toute tentative de fournir une valeur telle que 1,3,5,7la requête ne semble prêter attention qu'à la première valeur de la liste, pas à la source entière (si bien 1,3,5que j'obtiens des lignes avec un 1 dans le champ correspondant, et avec des 3,5,7lignes avec un 3 dans le champ champ correspondant).

Existe-t-il un moyen pour moi de fournir une liste de valeurs à utiliser comme valeur de paramètre dans un opérateur IN de la requête SQL qui me manque totalement?

MODIFIER

Je mets la liste des valeurs de paramètres dans un seul champ Excel. Excel ajoute également automatiquement la valeur du champ à la fin du processus automagique ', comme pour échapper aux valeurs qu’il doit traiter en tant que texte. Aucune combinaison de formatage de cellule ne semble se débarrasser du 'personnage.

Fournir (1,3,5)dans le corps de la requête au lieu de (?)fonctionner comme prévu; c'est uniquement lorsque vous essayez d'utiliser une cellule Excel en tant que paramètre dynamique que les choses ne fonctionnent pas.


Est-ce que SELECT * FROM TABLE1 WHERE FIELD1 IN (1,3,57)fonctionne comme prévu? Avez-vous 1,3,5,7dans la même cellule, ou chaque numéro dans sa propre cellule?
Máté Juhász le
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.