Visual Basic - RecordCount en ADO

Life is soft - evento anual de software empresarial
 
Vista:

RecordCount en ADO

Publicado por Diego (52 intervenciones) el 19/04/2005 03:51:11
Hola a todos:
Por lo que yo creo RecordCount debe devolver la cantidad de registros que tiene una consulta o tabla. El tema es que abro la consulta y el valor de RecordCount es -1 en tiempo de ejecución, y la consulta tiene, por ejemplo, 5 registros. ¿Alguien tuvo este problema?¿Que puede estar pasando? Puedo hacer un recuento "manual" pero ¿Que otra solución puede tener? Gracias.

Saludos

Diego
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:RecordCount en ADO

Publicado por Esteban (1144 intervenciones) el 19/04/2005 06:00:47
Típica pregunta, y la típica respuesta es:

Antes de abrir un recordset, precisamente se requiere el método open del recordset, debes de cambiar la locación del cursor, de esta forma

set rs = .........
rs.cursorlocation = adUseClient o su valor que es 3
rs.open "Instrucción", conexion, ........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:RecordCount en ADO

Publicado por Matías Freire (421 intervenciones) el 20/04/2005 01:00:28
La verdad es que esa forma no la conocía... yo lo que hacía era moverme hasta el ultimo registro, y despues para no olvidarme, volver al primero y ahí si me tomaba el valor correcto el RecordCount:

rs.movelast
rs.movefirst
pipo = rs.recordcount

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:RecordCount en ADO

Publicado por Esteban (1144 intervenciones) el 20/04/2005 07:03:18
Esa forma también la he utilizado, incluso, debo decir que antes de saber el truco de cursor de cliente, pero en algunos momentos, y la verdad aún no entiendo porqué, me fallaba, y señalo también que usaba SQL Server como motor de datos.

Después me fijé que es un poco más óptimo un recordset de cliente en procesos de datos de no más de 1000 registros, de más de eso, puede ser un poco problemático para la comunicación en red y rendimiento de la aplicación, eso depende también del número de PCs que estén ejecutando consultas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:RecordCount en ADO

Publicado por Diego (52 intervenciones) el 20/04/2005 18:25:56
Hola,
La respuesta de ustedes me sirve. Gracias. Parece que hay muchos secretos.
Una cosa más, En mi PC el programa funciona perfectamente, pero en la PC cliente, manejando datos de la base de datos desde VB5, me dice el error type mismatch. ¿Alguna vez les sucedió? Gracias.

Saludos

Diego
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arreglado RecordCount en ADO

Publicado por Diego (52 intervenciones) el 26/04/2005 13:11:52
Hola:
Tema arreglado. Era una sentencia que a un valor numerico le adicionaba una cadena y solo indicaba error en la PC cliente. Gracias

Saludos

Diego
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar