Programación General > VBA
Record Count
Manuel Castro Gómez:
Buenas a todos amigos de solo còdigo:
Estoy tratando de obtener la cantidad de registros de un recordset con:
RecordSet.Recordcount pero arroja -1 como valor. ¿A què se debe puesto que el recordset tiene registros?
Ademàs me muevo a travès del recordset con MoveNext y lo hace bièn.
¿Dònde puede estar el problema?
Gràcias por cualquier ayuda.
eliza_marti:
Hola Manuel... :hola: .prueba ubicandote en el último registro y de ahí le mandas el Recordcount…. :)
Bye Suerte!.. :hola: :comp: :P
DiabloRojo:
Qué tal Manuel?
Que puedas usar la propiedad RecordCount de un Recordset depende del tipo de cursor que éste utilice. Si tu recordset utiliza un cursor dinámico lamentablemente no podrás hacer uso de ésta propiedad. No estoy muy seguro de cuales cursores admiten el uso del recordcount en ADO estoy seguro que lo admite los cursores de tipo Static y en DAO creo que los cursores de tipo SnapShot (o sea aquellos que no se actualizan dinámicamente).
DiabloRojo.
Manuel Castro Gómez:
Grácias por las respuestas, pero ya había probado ubicándome en el último registro con Recordser.MoveLast pero me dice un error algo así como que "PROPIEDAD NO ADMITE VUELTA HACIA ATRÁS.
Con relacion a los tipos de cursor que admiten la propiedad RecordCount no estoy muy claro ya que soy relativamente nuevo en el uso de este lenguaje. A continuación les escribo el código que estoy usando y así tal véz les sea más fácil ayudarme:
Dim Cnn As ADO.Connection, _
Rst As ADO.Recordset
Set Cnn = New ADODB.Connection
Set Rst = New ADODB.Recordset
Cnn.ConectionString = "Un arvhivo UDL"
Cnn.Open
Rst.Source = "NombreTabla"
Rst.ActiveConnection = Cnn
Rst.Open
If Not Rst.Eof Then
.....
........
........
DataGrid1.Rows = Rst.RecordCount
End If
De nuevo grácias por todo.
Widark:
Hola Manuel Castro Gómez!
Si el codigo que plasmaste aqui es un fiel copia del que usas, me parece que le hace falta asignarle el tipo de cursos a la coneccion. Yo no conecto un recordset de esa forma:
--- Código: Text ---Cnn.CursorLocation = adUseClientCnn.ConectionString = "Un arvhivo UDL"Cnn.OpenrsRecordset.Open "Sentencia",Cnn,adOpenStatic, adLockReadOnly
Espero sea lo que le falta, saludos.
Navegación
[#] Página Siguiente
Ir a la versión completa