tiempo de respuesta
Publicado por alfredo (2 intervenciones) el 31/05/2002 17:06:22
hola, soy nuevo en visual basic, estoy tratando de hacer un programa que se conecte a un sistema AS400 que esta en otro lugar de donde yo me encuentro, ya logre conectarme y generar un recordset (como lo muestro en el codigo de abajo), solo que el numero de registros en el recordset es demasiado grande y al mostrarlo en un msflexgrid lo estoy haciendo con la propiedad additem y pues logicamente lo hago de uno a uno y se tarda mucho tiempo en rellenar el msflexgrid, alguien me puede sugerir como hacerle para que no se tarde tanto o si hay algun control que pueda usar......de antemano les agradezco su ayuda........
Set ws = DBEngine.CreateWorkspace("wsOdbcDirect", "aramirez", "ramirez", dbUseODBC)
Set co = ws.OpenConnection("coODBCDirect", dbDriverNoPrompt, False, "ODBC;DSN=CENTRO;DBQ=FACTULIB;")
'Set rs = co.OpenRecordset("SELECT * FROM Usuarlrt WHERE SECT = 47 and MANZA = 760 and LOTE = 39 and TOMA = 15 and DIGI = 0 ", dbOpenForwardOnly)
Set rs = co.OpenRecordset("SELECT * FROM Usuarlrt WHERE REZAGO > 7000", dbOpenForwardOnly)
'MsgBox rs.RecordCount, vbOKOnly
Dim i As Integer
Dim sec As String, man As String, lot As String, tom As String, dig As String
Dim cta As String
For i = 1 To 100
'cta = rs.Fields("SECT") & rs.Fields("MANZA") & rs.Fields("LOTE") & rs.Fields("TOMA") & rs.Fields("DIGI")
sec = rs.Fields("SECT")
man = rs.Fields("MANZA")
lot = rs.Fields("LOTE")
tom = rs.Fields("TOMA")
dig = rs.Fields("DIGI")
cta = Format([sec], %
Set ws = DBEngine.CreateWorkspace("wsOdbcDirect", "aramirez", "ramirez", dbUseODBC)
Set co = ws.OpenConnection("coODBCDirect", dbDriverNoPrompt, False, "ODBC;DSN=CENTRO;DBQ=FACTULIB;")
'Set rs = co.OpenRecordset("SELECT * FROM Usuarlrt WHERE SECT = 47 and MANZA = 760 and LOTE = 39 and TOMA = 15 and DIGI = 0 ", dbOpenForwardOnly)
Set rs = co.OpenRecordset("SELECT * FROM Usuarlrt WHERE REZAGO > 7000", dbOpenForwardOnly)
'MsgBox rs.RecordCount, vbOKOnly
Dim i As Integer
Dim sec As String, man As String, lot As String, tom As String, dig As String
Dim cta As String
For i = 1 To 100
'cta = rs.Fields("SECT") & rs.Fields("MANZA") & rs.Fields("LOTE") & rs.Fields("TOMA") & rs.Fields("DIGI")
sec = rs.Fields("SECT")
man = rs.Fields("MANZA")
lot = rs.Fields("LOTE")
tom = rs.Fields("TOMA")
dig = rs.Fields("DIGI")
cta = Format([sec], %
Valora esta pregunta
0