Programación General > Visual Basic 6.0 e inferiores

 Cantidad De Registros En Una Consulta

(1/2) > >>

solcito:
Hola todos. Estoy haciendo una consulta a una base de datos, en mi programa necesito saber la cantidad de registros que me devuelve de esa consulta.

lo que hago es lo siguiente:

recordset.RecordCount

y me devuelve -1 !!

estoy segura que esa consulta devuelve algo porq me lo muestra en una grilla, lo que no me funciona es el recordConunt

Desde ya muchas Gracias!

Pd: es urgente  :angry:  esto me esta trabando todo  :(

ArKaNtOs:
porque no te mueves al ultimo registro y de ahi tomas el recordcount, eso hago yo y me funciona a la perfeccion ;)  :kicking:

solcito:
No se porq no me funciona!!  :(  probé con el de ir hasta el ùltimo registro y tampoco, cuando hago

recordset.MoveLast   me devuelve el siguiente error:

"No se puede reiniciar la posicion del conjunto de filas"

No se porq es esto y necesito solucionarlo urgente, si alguien tiene idea o ya le pasó alguna vez.....

Saludos

ebolo:
Hola solcito, has comprobado que la consulta realmente te da algún registro?. Supongo que sí. Si no lo has hecho compruébalo.
Yo lo que hago es poner la consulta SQL en una variable(xej.: cons) y luego la meto en el clipboard:
   Clipboard.Clear
   Clipboard.SetText cons
Luego abro la bd con el access, creo una consulta sin nada y pego en la vista SQL el contenido de la Clipboard mediante Ctrl+V.
Y veo que ocurre.
Es que ese error creo recordar me salió una vez y era por que no la consulta no daba ningún registro.

Saluods y suerte.

solcito:
Prbar que la consulta me trajera algo, es lo primero que hice, y si me trae algo, el problema está en como yo hago la consulta:


--- Código: Text ---  Public Function BuscarCredObs(ByVal credencial As String) As ADODB.RecordsetDim cm As ADODB.Command On Error GoTo ErrorBuscarCredObs Set BuscarCredObs = New ADODB.RecordsetSet cm = New ADODB.Command With BuscarCredObs    .CursorType = adOpenStatic    .CursorLocation = adUseClient    .LockType = adLockOptimisticEnd With With cm    .ActiveConnection = CadenaConecc    .CommandType = adCmdStoredProc    .CommandText = "SH_BuscarCredObs_sel"    .Parameters.Append .CreateParameter("@Credencial", adChar, adParamInput, 8, Mid(Trim(credencial), 1, 8))    .Parameters.Append .CreateParameter("@Fecha", adDate, adParamInput, 8, Date)    .Parameters.Append .CreateParameter("@registros", adInteger, adParamOutput, , lngRegistros)    Set BuscarCredObs = .ExecuteEnd With  ErrorBuscarCredObs:........ End Function  
La hago de esta manera para poder hacerlo en un procedimiento almacenado.

Haciendolo de esta manera:


--- Código: Text ---  Public Function BuscarCredObs(ByVal credencial As String) As ADODB.Recordset On Error GoTo ErrorBuscarCredObs Set BuscarCredObs = New ADODB.Recordset With BuscarCredObs    .ActiveConnection = CadenaConecc    .CursorType = adOpenStatic    .CursorLocation = adUseClient    .LockType = adLockOptimistic    .Source = "<consulta>"    .OpenEnd With ErrorBuscarCredObs:.....End Function  
si funciona, pero me parece mas prolijo y eficiente tener la consulta en un procedimiento, pero no funka :(, no se porq ??

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa