VBAを使用してSQLクエリをループする際に問題があります。実行に時間がかかります。 合計ループ回数は15分で115回です。クエリ時間を短縮する方法はありますか? ここにありますが、私のコードです:ループを使用してSQLをクエリする最速の方法
Dim Conn As New ADODB.Connection
Dim mrs As New ADODB.Recordset
x = 1
DBPath = ThisWorkbook.FullName
sconnect = "Provider=SQLOLEDB;SERVER=DWSQL\BCAPP;Database=TEST;Uid=admin;Pwd=admin;"
Conn.Open sconnect
Do
If Sheets("Foil (+)").Cells(12, 12) <> "" And Sheets("Data").Cells(x, 3).Value Like "E*" Then
sSqlSting = "SELECT *FROM [TEST].[dbo].[process_details] where pos_no = '" & Sheets("Data").Cells(x, 3) & "' and scan_type = 'Anode Foil' and status = 'OK' and returned = 'N'"
Else
Sheets("Data").Cells(x, 3).Value = "E" & Sheets("Data").Cells(x, 3).Value
sSqlSting = "SELECT *FROM [TEST].[dbo].[process_details] where pos_no = '" & Sheets("Data").Cells(x, 3) & "' and scan_type = 'Anode Foil' and status = 'OK' and returned = 'N'"
End If
mrs.Open sSqlSting, Conn, adOpenForwardOnly
If Sheets("Data").Cells(1, 18) = "" Then
Sheets("Data").Cells(1, 18).CopyFromRecordset mrs
Else
Sheets("Data").Cells(Rows.Count, 18).End(xlUp).Offset(1, 0).CopyFromRecordset mrs
End If
mrs.Close
x = x + 1
Loop Until Sheets("Data").Cells(x, 3) = ""
Conn.Close
コードが機能する場合は、[CodeReview.SE](https://codereview.stackexchange.com/)に投稿する必要があります。 StackOverflowは動作しないコード用です。 – Vegard