problema con velocidad
Publicado por Alex (9 intervenciones) el 14/09/2005 19:50:16
hola, tengo q rellenar un combobox con 2000 registros y me tarda un rato largo, los saco de una tabla que esta en un servidor sql server en la misma red, mi pregunta es:
1. como puedo hacer q vaya mas deprisa la carga del formulario, pq tarda mucho ya que tiene q rellenar el dichoso combo?
2. es mejor abrir y cerrar recordset o lo abro al inicio de la aplicacion?
a continuacion os pongo el codigo con le q relleno el combobox y con el codigo de la conexion.
Function RELLENAR_COMBO(cb As ComboBox, RST As Recordset)
If RST.RecordCount > 0 Then
RST.MoveFirst
Do While Not RST.EOF
cb.AddItem Trim(RST!NOMBRE)
cb.ItemData(cb.NewIndex) = RST!codigo
RST.MoveNext
Loop
RST.MoveFirst
End If
End Function
CON.CursorLocation = adUseClient
CON.Open "DSN=aplicacion;"
R_CLIENTES.ActiveConnection = CON
R_CLIENTES.Open "SELECT * FROM CLIENTES ORDER BY NOMBRE", , adOpenDynamic, adLockOptimistic
gracias de atemano, y a ver si alguien me ayuda pq no se como arreglar el problema
1. como puedo hacer q vaya mas deprisa la carga del formulario, pq tarda mucho ya que tiene q rellenar el dichoso combo?
2. es mejor abrir y cerrar recordset o lo abro al inicio de la aplicacion?
a continuacion os pongo el codigo con le q relleno el combobox y con el codigo de la conexion.
Function RELLENAR_COMBO(cb As ComboBox, RST As Recordset)
If RST.RecordCount > 0 Then
RST.MoveFirst
Do While Not RST.EOF
cb.AddItem Trim(RST!NOMBRE)
cb.ItemData(cb.NewIndex) = RST!codigo
RST.MoveNext
Loop
RST.MoveFirst
End If
End Function
CON.CursorLocation = adUseClient
CON.Open "DSN=aplicacion;"
R_CLIENTES.ActiveConnection = CON
R_CLIENTES.Open "SELECT * FROM CLIENTES ORDER BY NOMBRE", , adOpenDynamic, adLockOptimistic
gracias de atemano, y a ver si alguien me ayuda pq no se como arreglar el problema
Valora esta pregunta


0