VBA Excel Access連携 高速化
解決したいこと
Excel_VBAでSQLを実装しAccessのデータを取得しています。
とにかく処理時間長いです。処理時間を短くする方法を教えて下さい。
該当するソースコード
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"
i = 1
Worksheets(mySheetName5).Cells.ClearContents
myCon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & dbFile & ""
myCon.Open
myRecordSet.Open mySQL, myCon, adOpenDynamic
Do Until myRecordSet.EOF
With Worksheets(mySheetName5)
.Cells(i, 1).Value = myRecordSet!PJNo
.Cells(i, 2).Value = myRecordSet!工程名称
.Cells(i, 3).Value = myRecordSet!作業コード
.Cells(i, 4).Value = myRecordSet!作業内容
.Cells(i, 5).Value = myRecordSet!品名
.Cells(i, 6).Value = myRecordSet!取説ファイル名1
.Cells(i, 7).Value = myRecordSet!取説ファイル名2
.Cells(i, 8).Value = myRecordSet!取説ファイル名3
.Cells(i, 9).Value = myRecordSet!製本
End With
i = i + 1
myRecordSet.MoveNext
Loop
myRecordSet.Close
Set myRecordSet = Nothing
myCon.Close
Set myCon = Nothing
Application.ScreenUpdating = True ' 描画を再開する
End Sub
0