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 に答える