Como posso usar o valor de uma célula do Excel em uma consulta SQL do Office Data Connection com um operador IN?

1

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.

    
por cori 19.04.2017 / 16:55

0 respostas