Visual Basic - recordset vacio con 1 registro

Life is soft - evento anual de software empresarial
 
Vista:

recordset vacio con 1 registro

Publicado por jolupe (2 intervenciones) el 27/01/2005 13:45:33
Hola. Mi problema es que abro una tabla con un control adodc y al querer controlar si el recordset esta vacio antes de abrir el formulario, la propiedad recordcount me devuelve 1 y EOf y BOf estan a false, pero ¡no hay registros en la tabla!. ¿como lo soluciono?
Muchas gracias
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:recordset vacio con 1 registro

Publicado por Benjo (679 intervenciones) el 27/01/2005 15:12:32
MSDN Dice:
La propiedad Recordcount del Objeto ADO devuelve -1 cuando ADO no puede determinar el número de registros. Al leer la propiedad RecordCount de un objeto Recordset cerrado, se produce un error.

MSDN También dice:
Si se abre un objeto Recordset que no contiene registros, las propiedades BOF y EOF se establecen a True y el valor de la propiedad RecordCount del objeto Recordset es cero. Cuando se abre un objeto Recordset que contiene al menos un registro, el primer registro es el registro actual y las propiedades BOF y EOF tienen el valor False.

Fijate que son dos valores distintos que menciona Microsoft asume la propiedad RecordCount, pero de lo que si no hay duda, es que encontrándose Eof y Bof como False, estas situado sobre un registro, que podrá no tener datos, pero es un registro.
Deberías verificar la tabla desde Access.
La solución, utilizar trs el open , la propiedad EOF.
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:recordset vacio con 1 registro

Publicado por jolupe (2 intervenciones) el 28/01/2005 12:58:14
Hola. Gracias por responder. Pero ya he comprobado la tabla en access y solo esta el registro vacio preparado para añadirlo, es decir, no hay registros en la tabla.He comprobado las propiedades eof y Bof y estan a False y Recordcount devuelve 1 (no -1).
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:recordset vacio con 1 registro

Publicado por Benjo (679 intervenciones) el 29/01/2005 12:28:18
Jolupe, realicé una serie de pruebas generales de MSDN en cuanto a la aplicación de RecordCount en Bases DAO y sus diferencias según el tipo de Recordset y si se rellenaba previamente el Recordset con la sentencia movelast movefirst.
Fijate el tipo Dynaset y el Snapshot, ambas devuelven el mismo resultado que te devuelve a vos. En ese caso, deberías agregarle antes del Recordcount la sentencia
Recordset.MoveLast
Recordset.MoveFirst

Si es Forward-only, pues entonces estás embromado.
Espero que esto te oriente u poco más

Recordset de tipo Table de la tabla Author
RecordCount = 6246
Recordset de tipo Dynasetde la tabla Author antes de MoveLast
RecordCount = 1
Recordset de tipo Dynaset de la tabla Author después de MoveLast
RecordCount = 6246
Recordset de tipo Snapshot de la tabla Author antes de MoveLast
RecordCount = 1
Recordset de tipo Snapshot de la tabla Author después de MoveLast
RecordCount = 6246
Recordset de tipo Forward-only de la tabla Author antes de MoveLast
RecordCount = 1
Recordset de tipo Forward-only de la tabla Author después de MoveNext
RecordCount = 2
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