Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

OpenRecordset no me trae todos los registros

Estas en el tema de OpenRecordset no me trae todos los registros en el foro de Visual Basic clásico en Foros del Web. Hola, tengo una rutina que extrae datos de una BD access por un SQL. El problema que tengo es que si ejecuto el SQL desde ...
  #1 (permalink)  
Antiguo 15/01/2009, 14:16
 
Fecha de Ingreso: enero-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Exclamación OpenRecordset no me trae todos los registros

Hola,

tengo una rutina que extrae datos de una BD access por un SQL. El problema que tengo es que si ejecuto el SQL desde access me regresa 93 registros, pero en VB me regresa sólo uno. El código como lo tengo es el siguiente:

Dim dbsSQL As Database
Dim rsIncidencias As Recordset
Dim arr_incidencias As Variant

Set dbsSQL = CurrentDb

Set rsIncidencias = dbsSQL.OpenRecordset(txt_sql, dbOpenSnapshot, dbReadOnly)
arr_incidencias = rsIncidencias.GetRows()
int_reccount = UBound(arr_incidencias, 2)

rsIncidencias.Close


Inspeccionando la ejecución veo que rsIncidencias.RecordCount es 1

Saludos,
  #2 (permalink)  
Antiguo 16/01/2009, 14:37
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Respuesta: OpenRecordset no me trae todos los registros

revisaste el valor de txt_ql?, digo interrumpiste el programa y viste que valor tenia al momento de abrir la base de datos?
tambien puedes probar con un movelast, porque me ha sucedido que las bases snapshot las carga en memoria al momento de utilizar el registro y al momento de utilizar el recordcount no me mostraba el total de registros hasta que le dabe un tutabla.movelast, entonces si no "navego" por la tabla, no carga los registros y por eso el recordcount sale en uno, no tengo idea porque pasa, pero pasa
  #3 (permalink)  
Antiguo 22/01/2009, 13:43
 
Fecha de Ingreso: enero-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: OpenRecordset no me trae todos los registros

Gracias Kruzado... lo logré solucionar cambiando el código a:

Dim dbsSQL As Database
Dim rsIncidencias As Recordset
Dim arr_incidencias As Variant

Set dbsSQL = CurrentDb

Set rsIncidencias = dbsSQL.OpenRecordset(txt_sql, dbOpenSnapshot, dbReadOnly)

rsIncidencias.MoveLast
int_reccount = rsIncidencias.RecordCount
rsIncidencias.MoveFirst

arr_incidencias = rsIncidencias.GetRows(int_reccount)
int_reccount = UBound(arr_incidencias, 2)

Última edición por ldcaraza; 22/01/2009 a las 14:14
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:18.