【发布时间】:2014-10-14 04:26:23
【问题描述】:
我在 Excel 中遇到问题,我正在使用 SQL 导入数据,然后编辑其中的一些数据,但是我遇到的问题是 VB 代码在将 SQL 中的数据加载到 Excel 之前继续运行,导致很多数据中的错误。
这是我导入数据的代码
sqlstring1 = "SELECT [compnumber],[mapcode],[amount],[reportd],[reportm],[reporty] FROM [Mergent].[dbo].[Annual]" & _
"WHERE Compnumber = '" & Sheets("list").Cells(i, 1).Value & "';"
connstring = _
"ODBC;Driver=SQL Server;Server=ANDY-PC\SQLEXPRESS;UID=Andy;Trusted_Connection=Yes;Database=Mergent"
With Sheets("data").QueryTables.Add(Connection:=connstring, Destination:=Sheets("data").Range("a1"), Sql:=sqlstring1)
.RefreshStyle = xlOverwriteCells
.Refresh BackgroundQuery = False
End With
我需要以某种方式让 VBA 等到它加载完毕。代码会循环执行数千个大小不一的 SQL 查询,因此执行简单的“等待 10 秒”还不够好,而且会增加运行代码的大量时间。
有没有办法让 VBA 等到查询完成?
【问题讨论】:
标签: sql-server excel vba