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,7
la requête ne semble prêter attention qu'à la première valeur de la liste, pas à la source entière (si bien 1,3,5
que j'obtiens des lignes avec un 1 dans le champ correspondant, et avec des 3,5,7
lignes 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.
SELECT * FROM TABLE1 WHERE FIELD1 IN (1,3,57)
fonctionne comme prévu? Avez-vous1,3,5,7
dans la même cellule, ou chaque numéro dans sa propre cellule?