Propiedad Recordset.EOF (DAO)
Se aplica a: Access 2013, Office 2013
Devuelve un valor que indica si la posición actual del registro se encuentra después del último registro en un objeto Recordset. Boolean de solo lectura.
Sintaxis
expression .EOF
expression Variable que representa un objeto Recordset.
Comentarios
Puede usar las propiedades BOF y EOF para determinar si un objeto Recordset contiene registros o si se desplazó más allá de los límites de un objeto Recordset cuando se mueve de un registro a otro.
La ubicación del puntero de registro actual determina los valores BOF y EOF devueltos.
Si la propiedad BOF o EOF es True, no hay ningún registro actual.
Si abre un objeto Recordset sin registros, las propiedades BOF y EOF se establecen en True, y el valor de la propiedad RecordCount del objeto Recordset será 0. Si abre un objeto Recordset con al menos un registro, el primer registro será el registro actual y las propiedades BOF y EOF serán False; éstas permanecerán False hasta que se desplace más allá del principio o del final del objeto Recordset mediante el método MovePrevious o MoveNext, respectivamente. Cuando se desplace más allá del principio o del final del Recordset, no habrá registro actual o no existirá ningún registro.
Si elimina el último registro que queda en el objeto Recordset, puede que el valor de las propiedades BOF y EOF siga siendo False hasta que intente ajustar la posición del registro actual.
Si usa el método MoveLast en un objeto Recordset que contiene registros, el último registro será el registro actual; si, a continuación, usa el método MoveNext, el registro actual no será válido y la propiedad EOF se establecerá en True. A la inversa, si usa el método MoveFirst en un objeto Recordset que contiene registros, el primer registró será el registro actual; si, a continuación, usa el método MovePrevious, no habrá registro actual y la propiedad BOF se establecerá en True.
Generalmente cuando trabaje con todos los registros en un objeto Recordset, su código recorrerá los registros usando el método MoveNext hasta que la propiedad EOF se establezca en True.
Si utiliza el método MoveNext mientras la propiedad EOF se establece en True, o utiliza el método MovePrevious mientras la propiedad BOF se establece en True, se producirá un error.
En esta tabla se muestran los métodos Move permitidos con diferentes combinaciones de las propiedades BOF y EOF.
MoveFirst, |
MovePrevious, |
|
MoveNext, |
|
---|---|---|---|---|
BOF=True, |
Permitido |
Error |
Error |
Permitido |
BOF=False, |
Permitido |
Permitido |
Error |
Error |
Ambas propiedades son True |
Error |
Error |
Error |
Error |
Ambas propiedades son False |
Permitido |
Permitido |
Permitido |
Permitido |
Permitir un método Move no significa que ese método se ubique correctamente en un registro. Simplemente indica que se permite un intento para realizar el método Move especificado y que no se producirá un error. El estado de las propiedades BOF y EOF puede cambiar como resultado del intento de Move.
Un método OpenRecordset llama internamente a un método MoveFirst. Por tanto, al utilizar un método OpenRecordset en un conjunto de registros vacío, se establecen las propiedades BOF y EOF en True. (En la siguiente tabla puede ver el comportamiento de un método MoveFirst cuando se produce un error).
Todos los métodos Move que se ubican en un registro con éxito, establecerán BOF y EOF en False.
En un área de trabajo de Microsoft Access, si agrega un registro a un Recordset vacío, BOF será False, pero EOF permanecerá establecido en True, lo que indica que la posición actual se encuentra al final del Recordset.
Cualquier método Delete, incluso si ese método quita el único registros de un Recordset, no cambiará el valor de la propiedad BOF o EOF.
En la siguiente tabla se muestra cómo los métodos Move que no han ubicado un registro afectan a la configuración de las propiedades BOF y EOF.
BOF |
EOF |
|
---|---|---|
MoveFirst, MoveLast |
True |
True |
Move 0 |
Sin cambios |
Sin cambios |
MovePrevious, Move< 0 |
True |
Sin cambios |
MoveNext, Move> 0 |
Sin cambios |
True |