使用 Excel 中的参数运行 mySQL 查询 - 多行

使用 Excel 中的参数运行 mySQL 查询 - 多行

我能够适应此链接对于我的项目,但我正在寻找一种复制多行的方法。这是我的查询:

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=?)

invoicenumber参数,并填充=Sheet2!$A$4

理想情况下,我会在 A 列中输入我的参数,并在 B:K 列中填充来自数据库的数据,有没有办法做到这一点而不必为每一行设置查询,几乎像“向下填充”一样?

答案1

你能详细说明一下吗,我对 VBA 和 mySQL 非常不熟悉,谢谢!

如何创建数组函数。

创建新工作簿。打开 VBA 编辑器。插入 - 模块。将以下代码复制到其中:

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

在工作表上选择 A1:B2。将以下公式插入到公式字段:

=ReturnArray()

或者

=ReturnArray(1)

或者

=ReturnArray(C1)

使用 Ctrl-Enter 完成公式的输入,以显示它是数组公式。目标范围将填充计算值。

如果由于源值(最后一个公式中的 C1 单元格)发生更改而需要重新计算值,则必须按 F9 手动执行此操作。

您可以通过取消注释来强制自动计算Application.Volatile- 但您必须记住,工作表上的任何更改都会触发重新计算。如果您的代码连接到外部服务器,这可能会非常昂贵。

与 MySQL 服务器的通信与与任何其他 DB 服务器的通信并无区别。安装适当的 MySQL 连接器,使用它创建适当的数据源,然后使用 ADODB 获取/编辑所需的数据。此过程在 MSDN 中有详细记录。

相关内容