Parâmetros de consulta em uma conexão externa ao sql server

6

Eu quero fazer exatamente isso: link mas eu quero fazê-lo no Excel 2010 e também estou consultando o SQL Server em vez do MS Access. É possível?

Para elaborar exatamente o que eu quero desse link é ter parâmetros de consulta que fazem referência a células na planilha. No momento, estou usando o VBA e um evento de acionador de mudança de célula. Existe uma maneira mais simples?

OBSERVAÇÃO: Qualquer pessoa que esteja usando o método na resposta aceita, se você quiser que sua planilha funcione em um computador que não tenha o SQL Server instalado, poderá ser útil: link

    
por Dan 15.08.2013 / 11:39

1 resposta

9

Então eu finalmente descobri. Aqui estão os meus passos.

  1. Abra uma nova planilha do Excel (estou usando o Excel 2010)
  2. Clique na guia Dados na faixa de opções
  3. Clique no dop abaixo em "De outras fontes"
  4. Selecione "Do Microsoft Query"
  5. Selecione sua fonte de dados
  6. Escolha qualquer tabela para preencher as colunas em sua caixa de consulta. não importa, pois vamos substituí-lo mais tarde - e clique em Avançar
  7. Continue clicando no botão até chegar ao botão "Concluir" e clique em terminar
  8. Clique em "Propriedades ..."
  9. Clique na guia "Definição"
  10. O tipo de conexão deve dizer "Consulta ao banco de dados" - se ele disser que,  você pode adicionar parâmetros, se não, não parece ser capaz de adicionar  parâmetros
  11. Atualize seu texto de comando com a consulta que você deseja usar para acessar  o banco de dados SQL - não tentei com outros bancos de dados, mas tenho certeza  vai funcionar em outros
  12. Para criar um parâmetro, basta colocar um? na cláusula where. por exemplo. selecione * de table1, em que col1 =?

Existem alguns problemas com a adição de parâmetros. Eles só trabalham na final onde cláusula. ou seja, se você estiver usando subqueries, pivots, cte's etc, você não pode adicionar parâmetros neles. Apenas no final da última cláusula where

  1. Clique em "Ok" duas vezes - um pop-up aparecerá pedindo a você  parâmetro

  2. Preencha qualquer coisa - alteraremos isso mais tarde

  3. Clique em qualquer lugar nos resultados e clique em "Propriedades" na guia Dados na faixa de opções

  4. Clique no ícone da pequena propriedade de mão

  5. Clique na guia Definição

  6. Você verá agora que o botão "Parâmetros ..." é clicável. Clique nele e mude a opção do prompt de valor para Obter valor da seguinte célula

Se alguém encontrar uma maneira mais rápida e simples - sou todo ouvidos, mas isso funciona de forma consistente e com consultas complicadas muito grandes. Então, para nós, é a solução certa

    
por 26.05.2014 / 09:30