Ayuda con RECORDCOUNT

Tengo un formulario y le estoy adaptando un control para que me cuente el numero de registros que tengo en una tabla, en algunos formularios me funciona.. Pero en otros solo me muestra el -1 y no se como adapatarlo agradezco la ayuda para poder solucionarlo estas son las lineas done pongo el recorcount.
Option Explicit
Dim cnn As New ADODB.Connection
Dim rss As New ADODB.Recordset
Dim cn As New ADODB.Connection
'CONEXION PARA GUARDAR LOS DATOS EN LA TABLA
Private Sub Form_Load()
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
App.Path & "\Historias.mdb" & ";Persist Security Info=False"
'abre la base de datos
cn.Open
'Abre el recordset enviando la consulta sql
rss.Open "Select * from AHISTORIA", cn, adOpenDynamic, adLockOptimistic
Text12.Text = rss.RecordCount
'contador
Private Sub Timer1_Timer()
Text12.Text = rss.RecordCount
End Sub
1

1 Respuesta

165.850 pts. Más de 35 años en la informática y más de 20 trabajando...
La verdad es que no lo he probado con ADODB pero es posible que ocurra lo mismo que con DAO.
Con DAO te ocurre eso cuando intentas ver el número de registros de una tabla que tiene muchos registros y, en el momento de la ejecución de la instrucción, todavía no sabe cuantos registros tiene.
La solución es sencilla (repito, en DAO): moverte hasta el último registro y volver al primero
    rss.movelast
    rss.movefirst
Haciendo eso, el objeto ya sabe el número de registros que tiene.
En DAO también suele fallar si no se abre como 'dbOpenDynaset', por lo que puede ocurrirte algo similar con ADODB. Si ves que no te funciona con un modo de apertura, prueba con otro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas