Hej jag har gått över till ADO istället för DAO men samma funktion tar Ser att din kod bara gör en loop igenom recordsetet. Har av egen erfarenhet sett att det går snabbare med Långsamt med ADO????
10 sec med ADO istället för 2 sec med DAO
min kod ser ut så här
Modul
Option Explicit
Global conn As ADODB.Connection
Global rs As ADODB.Recordset
Dim db_file As String
Dim MousePointer
_____________________________
Public Sub startConnection2()
' Get the data.
db_file = App.Path
If Right$(db_file, 1) <> "\" Then db_file = db_file & "\"
db_file = db_file & "Data\XXXX.mde"
' Open a connection.
Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & db_file & ";" & "Persist Security Info=True"
End Sub
Formen
Call startConnection2
rs.CursorLocation = adUseServer
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
conn.Open
' Select the data.
SQL = ("SELECT Namn,Typ,enhet FROM xxx where Datum= '" & lblDate.Caption & "' and Namn='" & Label3(0).Caption & "' and enhet='" & Cmd1(0).Caption & "'")
' Get the records.
Set rs = conn.Execute(SQL)
' Load the values.
Do While Not rs.EOF
tx1(0).Text = rs("Namn") & " " & rs("Typ") & " " & rs("Enhet")
rs.MoveNext
Loop
O.s.v samma kod som ovan fast med olika sökbegrepp.
Den gör om samma sökning 50 ggr men med olika namn & Enheter.
rs.close
conn.close
Var gör jag för fel !!!!!
Mvh
TobbeSv: Långsamt med ADO????
Borde då gå snabbare med:
rs.CursorType = adOpenForwardOnly
rs.LockType = adLockReadOnlySv: Långsamt med ADO????
Provider=Microsoft.Jet.OLEDB.3.51
än med
Provider=Microsoft.Jet.OLEDB.4.0
Jag har en applikation där jag nästan halverar hämtningstiden när jag byter 4.0 mot 3.51. Den öppnar en massa tabeller och hämtar data ifrån dem men det kan ju hända att den är snabbare att hämta data även om det kommer från ett enda recordset.
Om 3.51 är andvändbar i ditt fall vet jag inte.
\Leif P