Code: Select all
Option Explicit
Function Showado()
On Error GoTo Err_Handle
Dim cnStr As String
Dim cn As ADODB.Connection
Dim cnRs As ADODB.Recordset
Dim sngTime As Single
sngTime = Timer
Set cn = New ADODB.Connection
cn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\DATABASE\VEO.mdb;" & _
"Jet OLEDB:Engine Type=4;"
Set cnRs = New ADODB.Recordset
cnRs.Open "SELECT * FROM VER", cn
With cnRs
Do Until .EOF
.MoveNext
Loop
End With
sngTime = Timer - sngTime
Debug.Print "ADO Time " & FormatNumber(sngTime, 3) & " S"
Err_Handle:
cnRs.Close
cn.Close
Set cnRs = Nothing
Set cn = Nothing
Call Showdao
If Err.Number <> 0 Then
MsgBox (Err.Description)
End If
End Function
Function Showdao()
On Error GoTo Err_Handle
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sngTime As Single
sngTime = Timer
Set db = DBEngine.Workspaces(0).OpenDatabase("C:\DATABASE\VEO.MDB")
Set rs = db.OpenRecordset("SELECT * FROM VER", dbOpenDynaset)
With rs
.MoveLast
.MoveFirst
Do Until .EOF
.MoveNext
Loop
End With
sngTime = Timer - sngTime
Debug.Print "DAO Time " & FormatNumber(sngTime, 3) & " S"
Err_Handle:
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
If Err.Number <> 0 Then
MsgBox (Err.Description)
End If
End Function
ADO Time 0,594 S
DAO Time 0,109 S
ADO is approx slower 5 times vs DAO!
possible?