frswataru
@frswataru (本石 渉)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

VBA CopyFromRecordset 遅い

Q&A

解決したいこと

Accessdのデータテーブルをエクセルに貼り付けるソースコードです。
23column、1800rowほどのデータで60sほど時間が掛かっています。CopyFromRecordsetメゾットを使ってデータの貼り付けを行っていますがどうもその辺が遅いようです。十数秒ほどで処理を終わらせたいのです。解決方法をご教示お願いします。

該当するソースコード

Dim myCon As New ADODB.Connection
Dim myRecordSet As New ADODB.Recordset
Dim mySQL As String
Dim i As Integer
Private Const mySheetName5 As String = "T_OM"
Private Const dbFile As String = "\\*****\Users\admin_SK\TPOD\TPOD.accdb"

Sub Read1()


Application.ScreenUpdating = False ' 描画を停止する

'____________________

mySQL = "SELECT * FROM T_OM_list"
                       

Worksheets(mySheetName5).Cells.ClearContents


myCon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & dbFile & ""
myCon.Open



myRecordSet.Open mySQL, myCon, adOpenDynamic



Worksheets(mySheetName5).Range("A1").CopyFromRecordset myRecordSet
myRecordSet.Close
Set myRecordSet = Nothing
myCon.Close
Set myCon = Nothing

Application.ScreenUpdating = True  ' 描画を再開する


End Sub

0

1Answer

Your answer might help someone💌