Programación General > Visual Basic 6.0 e inferiores
Cantidad De Registros En Una Consulta
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
[#] Página Siguiente
Ir a la versión completa