AYUDA URGENTE POR FAVOR
Publicado por cientocien (67 intervenciones) el 13/01/2003 10:29:13
En mi ordenador las consultas no tardan mucho en ejecutarse pero cuando las llevo a otra maquina(Pentium III) van muy lentas. Por ejemplo una tarda exactamente en cargar 2,5 minutos 80 registros en un listview. A que puede deberse esto?. Esta es la funcion que decia antes que tardaba 2,5 minutos. Que puedo hacer para que no tarde tanto, porque voy a tener tablas con mas de 20 mil registros.
Gracias
Sub ListaAgente(lista As ListView, tabla As String, consulta As String, parametros As Integer)
On Error GoTo ERR_ListaCodigos:
Dim RS As Recordset
Dim cont As Integer
Dim qd As QueryDef
Dim ITEM As ListItem
Dim i As Integer
Set qd = odb.QueryDefs(consulta)
With lista
.ListItems.Clear
End With
cont = 0
Set RS = qd.OpenRecordset()
With RS
If (.RecordCount < 1) Then
Else
frmbarraProgreso.Show
frmbarraProgreso.brBarra.MIN = 0
.MoveLast
frmbarraProgreso.brBarra.MAX = .RecordCount
.MoveFirst
While (Not RS.EOF)
Set ITEM = lista.ListItems.Add(, , .Fields(0))
For i = 1 To parametros - 1
If (i = 7) Then
If (.Fields(i) = 1) Then
ITEM.SubItems(i) = "" & "SI"
Else
ITEM.SubItems(i) = "" & "NO"
End If
Else
ITEM.SubItems(i) = "" & .Fields(i)
End If
Next i
cont = cont + 1
frmbarraProgreso.brBarra.Value = cont
.MoveNext
Wend
End If
End With
Unload frmbarraProgreso
Exit Sub
ERR_ListaCodigos:
MsgBox "ERROR #" & Err.Number & ": " & Err.Description, vbExclamation, "ERROR"
End Sub
Gracias
Sub ListaAgente(lista As ListView, tabla As String, consulta As String, parametros As Integer)
On Error GoTo ERR_ListaCodigos:
Dim RS As Recordset
Dim cont As Integer
Dim qd As QueryDef
Dim ITEM As ListItem
Dim i As Integer
Set qd = odb.QueryDefs(consulta)
With lista
.ListItems.Clear
End With
cont = 0
Set RS = qd.OpenRecordset()
With RS
If (.RecordCount < 1) Then
Else
frmbarraProgreso.Show
frmbarraProgreso.brBarra.MIN = 0
.MoveLast
frmbarraProgreso.brBarra.MAX = .RecordCount
.MoveFirst
While (Not RS.EOF)
Set ITEM = lista.ListItems.Add(, , .Fields(0))
For i = 1 To parametros - 1
If (i = 7) Then
If (.Fields(i) = 1) Then
ITEM.SubItems(i) = "" & "SI"
Else
ITEM.SubItems(i) = "" & "NO"
End If
Else
ITEM.SubItems(i) = "" & .Fields(i)
End If
Next i
cont = cont + 1
frmbarraProgreso.brBarra.Value = cont
.MoveNext
Wend
End If
End With
Unload frmbarraProgreso
Exit Sub
ERR_ListaCodigos:
MsgBox "ERROR #" & Err.Number & ": " & Err.Description, vbExclamation, "ERROR"
End Sub
Valora esta pregunta


0