Hola amigos, tengo una tabla con 1300 registros uso el control ListView para mostrar los registros es muy lento para mostrar esos 1300 me tarda 1,5 segundos en cargar.
Hay algún método para cargar mas rápido.
Este es mi código.
Private Sub Form_Load()
'+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
'// Conectar la Base Datos con ADO
Call ConectarADO
'+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
StrSQL = "SELECT * FROM articulos ORDER BY nombre"
rsADO.Open StrSQL, cnADO, adOpenStatic, adLockOptimistic, adCmdText
Do Until rsADO.EOF
Set Lv = LReportes.ListItems.Add()
With rsADO
Lv.Text = .Fields("codigo") & ""
Lv.SubItems(1) = .Fields("codinterno") & ""
Lv.SubItems(2) = .Fields("codbarra") & ""
Lv.SubItems(3) = .Fields("nombre") & ""
Lv.SubItems(4) = Format(.Fields("costo"), "##,###0") & ""
If InStr(.Fields("stock"), ",") Then
Lv.SubItems(5) = Format(.Fields("stock"), "##,###0.000") & ""
Else
Lv.SubItems(5) = Format(.Fields("stock"), "##,###0") & ""
End If
Lv.SubItems(6) = Format(.Fields("precio1"), "##,###0") & ""
Lv.SubItems(7) = Format(.Fields("precio2"), "##,###0") & ""
Lv.SubItems(8) = .Fields("tipoiva") & ""
Lv.SubItems(9) = .Fields("seccion") & ""
Lv.SubItems(10) = .Fields("ramo") & ""
Lv.SubItems(11) = .Fields("marca") & ""
Lv.SubItems(12) = .Fields("codprov") & ""
Lv.SubItems(13) = .Fields("nomprov") & ""
Lv.SubItems(14) = .Fields("memox") & ""
Lv.SubItems(15) = .Fields("foto") & ""
rsADO.MoveNext
End With
Loop
'+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
'// Cerrar la base de datos y liberar la memoria
Call CerrarADO
'+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
End Sub