Visual Basic - Ayuda con tres capas

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 86 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ayuda con tres capas

Publicado por Matias (136 intervenciones) el 09/08/2007 20:09:24
Buenas, tengo un problema estoy por terminar un programita pero me falta und etalle bastante importante, el tema es que tengo una aplicaciones hecha en 3 capas una donde accedo a los datos, otra donde hago todo tipo de controles y otra donde tengo los formularios osea la interface.

Mi problema esta en que cuando queiro traer los datos de socios de una tabla desde la primer capa osea la de acceso a datos y llevarlos a un control datagrid mediante vectores se me cuelga el programa y es como si tardara muchisimo en cargar estos datos. Cuando tengo pocos registros mas o menos hasta los 50 tarda un poquito pero los muestra pero si queiro agregarle a ese datagrid una cantidad de 800 o 1000 registros ahi se cuelga. Tengo entendido que podria agregar la cantidad de registros que quisiera en un data grid dependiendo de la capacidad de mi memoria pero no he podido arreglar este problema. Aqui les mando el codigo de como cargo los datos que saco de la capa acceso a datos mediante vectores y los cargo en el datagrid correspondiente a la capa de la interface

Dim cant As Integer
Dim i As Integer
Set objcontrol = New FILIALRN
objcontrol.INICIALIZAR_DATO
objcontrol.s_rcantidad
If objcontrol.s_rcontrol = "no entrar" Then
mensaje = "No hay socios cargados"
If MsgBox(mensaje, vbOKOnly + vbInformation, "Ningun socio") = vbOK Then
End If


Exit Sub
End If
Set rs = New ADODB.Recordset
' Define tres campos de tipo string
With rs.Fields
.Append "Codigo", adBSTR, 5
.Append "Sub Codigo", adBSTR, 5
.Append "Nombre", adBSTR, 10
.Append "Localidad", adBSTR, 25
.Append "Direccion", adBSTR, 40
End With
' Abre el recordset desconectado
rs.Open
' Agrega cinco registros

cant = objcontrol.s_rvcant
For i = 1 To cant
objcontrol.s_rvcant = i



objcontrol.nomloc
' Proceso que busca segun el codigo postal el nombre de la localidad
objcontrol.p_rnombre = objcontrol.s_rnombrelocalidad

rs.AddNew _
Array("Codigo", "Sub Codigo", "Nombre", "Direccion", "Localidad"), _
Array(objcontrol.s_rvcodigo, objcontrol.s_rvsubcodigo, objcontrol.s_vrnombre, objcontrol.s_vrdireccion, objcontrol.p_rnombre)

Next
Set DataGrid1.DataSource = rs
' establece un ancho a las columnas
With DataGrid1
.Columns(0).Width = 250
.Columns(1).Width = 2500
.Columns(2).Width = 3500
.Columns(3).Width = 5500
End With
' se mueve al primer registro
rs.MoveFirst


bueno espero puedan ayudarme un abrazo !!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con tres capas

Publicado por ivan (1039 intervenciones) el 09/08/2007 22:50:27
"pero me falta und etalle " que etalle unds falta?
"una aplicaciones hecha en 3 capas " una/uno/un no pode ser nunca en plural
mira pocholo, no quiero leer mas porque me da verguenza ajena..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar