Executar uma consulta mySQL com um parâmetro do Excel - várias linhas

0

Consegui adaptar este link para o meu projeto, mas estou procurando uma maneira de duplicar para várias linhas. Aqui está minha consulta:

SELECT data_0.InvoiceNumber, 
       data_0.CustomerNumber, 
       data_0.CustomerName, 
       data_0.Address, 
       data_0.City, 
       data_0.State, 
       data_0.Zip, 
       data_0.Zone, 
       data_0.PartNumber, 
       data_0.PartDescription
FROM bitnami_wordpress.data data_0
WHERE (data_0.InvoiceNumber=?)

O invoicenumber é o parâmetro e é preenchido com =Sheet2!$A$4

O ideal seria inserir meus parâmetros na Coluna A e Colunas B: K são preenchidos com os dados do banco de dados, existe uma maneira de fazer isso sem configurar uma consulta para cada linha individual, quase como "Preencher" ?

    
por DarrenMcGettigan 17.09.2018 / 22:05

1 resposta

0

can you elaborate a little, I am very inexperienced with VBA and mySQL, thanks!

Como criar uma função de matriz.

Crie uma nova pasta de trabalho. Abra o editor VBA. Inserir - módulo. Copie o código abaixo para ele:

Option Base 0

Public Function ReturnArray(Optional val As Integer = 1) As Variant()
' Application.Volatile
Dim tmp()
ReDim tmp(1, 1)
tmp(0, 0) = val
tmp(0, 1) = val + 1
tmp(1, 0) = val + 2
tmp(1, 1) = val + 3
ReturnArray = tmp
End Function

Selecione A1: B2 em uma planilha. Insira a fórmula abaixo em um campo de fórmula:

=ReturnArray()

ou

=ReturnArray(1)

ou

=ReturnArray(C1)

Finalize inserindo uma fórmula com Ctrl-Enter para mostrar que é uma fórmula de matriz. O intervalo de destino será preenchido com valores calculados.

Se você precisar recalcular valores porque o valor de origem (célula C1 na última fórmula) foi alterado, você deve fazê-lo manualmente pressionando F9.

Você pode forçar o cálculo automático removendo o comentário de Application.Volatile , mas deve lembrar-se de que qualquer alteração na planilha será recalculada. Se o seu código se conecta ao servidor externo, isso pode ser extremamente caro.

A comunicação com o servidor MySQL não difere da comunicação de qualquer outro servidor de banco de dados. Instale o conector MySQL apropriado, crie uma fonte de dados apropriada usando-o e use o ADODB para obter / editar os dados de que você precisa. Este processo está bem documentado no MSDN.

    
por 26.09.2018 / 07:12