Recuperar dados online exatos para os quais não existe uma fórmula do Excel

0

Eu quero recuperar o resultado da consulta a seguir em uma célula do Excel:

select pro.code
from   ExactOnlineRest.Project.projects PRO
join   ExactOnlineRest.Manufacturing.shoporders SHO
on     SHO.project = PRO.ID
where  ShopOrderNumber = <value in cell F2>

A consulta funciona bem na Ferramenta de consulta. Eu também posso usar um bloco de Controle Inventivo para recuperar os dados como uma lista com uma linha / coluna. Mas como recupero o resultado dessa consulta diretamente em uma célula do Excel sem manter um bloqueio?

    
por Guido Leenders 06.03.2017 / 11:03

1 resposta

0

Você pode usar a seguinte fórmula:

=I_SQL_SELECT_SCALAR("pro.code", "exactonlinerest..projects pro join exactonlinerest..shoporders sho on sho.project = pro.id", "shopordernumber = " & F2)

Mas, por favor, note que codificação SQL como essa é propensa a erros e custa caro ao atualizar, já que o SQL deve ser verificado e possivelmente corrigido manualmente quando os campos são alterados. Especialmente porque esta consulta usa uma junção e algumas técnicas de injeção SQL que podem ser desabilitadas em uma versão futura.

Você pode querer fazer uma lista de consultas de fabricação recorrentes e necessárias e adicioná-las às fórmulas do Excel suportadas pelo Invantive Control.

Recomenda-se também usar um alias pjt para projects , usando o guia de estilos, e sor para shoporders .

Por favor note também que quando a célula F2 estiver vazia, o SQL falhará na cláusula where. Como alternativa, você pode querer adicionar um "se vazio, então use 'null' ou similar.

    
por 06.03.2017 / 11:12