Option Compare Database
Option Explicit
Public Declare Function timeGetTime Lib "Winmm.dll" () As Long
Sub TestIt()
Dim strSetOfNumbers As String
Dim vntNumArray As Variant
Dim itm As Variant
strSetOfNumbers = "1,3,5,6,8,11"
vntNumArray = Split(strSetOfNumbers, ",")
For Each itm In vntNumArray
DoCmd.OpenReport "ReportName", , , "ID = " & itm
Reports("ReportName").Print
DoEvents
DoCmd.Close acReport, "ReportName", acSaveNo
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "SELECT * FROM TableName WHERE ID = " & itm & ";", "C:\Users\Administrator\Desktop\Client_" & itm & ".xls"
DoEvents
Loop [color=green]' < Loop without Do[/color]
End Sub
Sub TestIt_1()
Dim strSetOfNumbers As String
Dim vntNumArray As Variant
Dim lngIndex As Long
Dim lngStart As Long
Dim lngLoopCount As Long
lngStart = timeGetTime()
For lngLoopCount = 1 To 1000000
strSetOfNumbers = "1,3,5,6,8,11"
vntNumArray = Split(strSetOfNumbers, ",")
For lngIndex = LBound(vntNumArray) To UBound(vntNumArray)
Next lngIndex
Next lngLoopCount
MsgBox timeGetTime() - lngStart [color=green]' < 3750[/color]
End Sub
Sub TestIt_2()
Dim strSetOfNumbers As String
Dim vntNumArray As Variant
Dim itm As Variant
Dim lngStart As Long
Dim lngLoopCount As Long
lngStart = timeGetTime()
For lngLoopCount = 1 To 1000000
strSetOfNumbers = "1,3,5,6,8,11"
vntNumArray = Split(strSetOfNumbers, ",")
For Each itm In vntNumArray
Next itm
Next lngLoopCount
MsgBox timeGetTime() - lngStart [color=green]' < 4470[/color]
End Sub