【发布时间】:2019-04-30 04:17:04
【问题描述】:
我想直接在我使用 ADO Excel VBA 的特定单元格中写入我的 sql 查询结果。
SetConn ' SET THE CONNECTION TO THE DATABASE.
sQuery = "SELECT * FROM [referenceStandard$] WHERE [Line] = 'L1' AND [Variants] = 'Choco Wafer (L1)' AND [ID] = 'CW (L1)' "
If rs.State = adStateOpen Then
rs.Close
End If
rs.CursorLocation = adUseClient
rs.Open sQuery, myConn, adOpenKeyset, adLockOptimistic
If rs.RecordCount > 0 Then
MsgBox "Result is > 1"
Do While Not rs.EOF
'Codes that will copy the result of query and paste in worksheet cells
Loop
End If
【问题讨论】:
-
根据那里的行数,您可能需要先加载一个对象数组,然后一次将整个范围写入您的工作表。 Check an answer here 查看在 VB.net 中将对象数组写入 Excel 的示例。希望它能给你一些想法。
-
你好@MichaelZ。我希望查询的结果插入一个数组并摆脱空白/空结果。有可能吗?
-
如果您遍历每一行以创建对象数组,那么您可以完全控制它,并且可以根据需要跳过行并更改单元格值。它很快,因为它都在内存中。
-
其实你应该在 SQL 中处理所有这些