Eu tenho uma conexão de dados do Office executando uma consulta SQL em relação a uma fonte de dados externa e usando alguns parâmetros dinâmicos fornecidos na célula em uma planilha. Contanto que eu esteja fazendo algo como
SELECT * FROM TABLE1 WHERE FIELD1 = ?
e definindo a fonte de parâmetros adequadamente, tudo funciona bem. No entanto, se eu tentar algo como
SELECT * FROM TABLE1 WHERE FIELD1 IN (?)
Qualquer tentativa de fornecer um valor como 1,3,5,7
da consulta parece prestar atenção apenas ao primeiro valor na lista, não à fonte inteira (portanto, usar 1,3,5
obtém linhas com um 1 no campo correspondente e com 3,5,7
recebo linhas com um 3 no campo correspondente).
Existe uma maneira de fornecer uma lista de valores para usar como o valor do parâmetro em um operador IN na consulta SQL que estou totalmente ausente?
EDITAR
Estou colocando a lista de valores de parâmetros em um único campo do Excel. O Excel também prefixará automaticamente o valor do campo com '
, como ocorre para escapar de valores que ele precisa tratar como texto. Nenhuma combinação de formatação de célula parece se livrar do caractere '
.
O fornecimento de (1,3,5)
no corpo da consulta, em vez de (?)
, funciona conforme o esperado. é só quando se tenta usar uma célula do excel como um parâmetro dinâmico que as coisas não funcionam.