0

我使用 Microsoft Query 并为我们的 MSSQL 数据库编写了一个查询。该查询在 MS Query 中运行良好。它大约有 59,000 行和 9 列数据。当我关闭 MS Query 并将数据导入 Excel 时,它会说:“获取数据”几秒钟,然后就消失了。没有数据实际显示,但它几乎就像 Excel 似乎认为那里有什么东西。

我在 Excel 2007 和 2010 上试过,但两者都做同样的事情。我读过 Excel 2007/10 最多可以处理 1,000,000 行查询,所以我不确定为什么它在这里不起作用。

4

1 回答 1

0

这是 VBA 中可能有效的 ADO 方法...

sub getData()
dim adoRS as object ' ADODB.Recordset
dim adoConn as object ' ADODB.Connection
dim sConnStr as string

set adors=createobject("adodb.recordset")
set adoConn=createobject("ADODB.connection")

with adocn
.provider="MSSQL"
.cursorlocation=3 ' aduseclient
.connectionstring=sConnstr ' get from UDL file in Windows Explorer
.open
end with

with adors
.source="SELECT * FROM table"
.activeconnection=adocn
.cursortype=1 ' adopenkeyset
.locktype=1 ' adlockreadonly
.cursorlocation=3 ' aduseclient
.open
end with

range("A1").copyfromrecordset adors

end sub

我希望这会有所帮助

菲利普

于 2013-03-14T19:59:16.823 回答