Compartilhar via


Propriedade Recordset2.EOF (DAO)

Aplica-se ao: Access 2013, Office 2013

Retorna um valor que indica se a posição do registro atual será depois do último registro em um objeto Recordset. Boolean somente leitura.

Sintaxe

expressão .EOF

Expressão Uma variável que representa um objeto Recordset2 .

Comentários

Você pode usar as propriedades BOF e EOF para determinar se um objeto Recordset contém registros ou se você foi além dos limites de um objeto Recordset ao se mover de registro em registro.

O local do ponteiro do registro atual determina os valores de retorno BOF e EOF.

Se a propriedade BOF ou EOF for True, não existirá um registro atual.

Se você abrir um objeto Recordset que não contenha registros, as propriedades BOF e EOF estarão definidas como True e a propriedade RecordCount do objeto Recordset estará definida como 0. Quando você abrir um objeto Recordset que contenha pelo menos um registro, o primeiro registro será o registro atual e as propriedades BOF e EOF serão Falso; elas permanecerão Falso até você se mover para além do início ou do fim do objeto Recordset usando o método MovePrevious ou MoveNext, respectivamente. Quando você se move além do início ou do fim do Recordset, não há registro atual ou não há registro algum.

Se você excluir o último registro do objeto Recordset, as propriedades BOF e EOF permanecerão como False até você tentar o reposicionamento do registro atual.

Se você usar o método MoveLast em um objeto Recordset que contenha registros, o último registro se tornará o registro atual; mais tarde, se você usar o método MoveNext, o registro atual se tornará inválido e a propriedade EOF será definida como True. De modo inverso, se você usar o método MoveFirst em um objeto Recordset que contenha registros, o primeiro registro se tornará o registro atual; mais tarde, se você usar o método MovePrevious, não existirá nenhum registro atual e a propriedade BOF será definida como True.

De um modo geral, quando você trabalhar com todos os registros em um objeto Recordset, o código fará um loop pelos registros usando o método MoveNext até que a propriedade EOF seja definida como True.

Se você usar o método MoveNext enquanto a propriedade EOF estiver definida como True ou o método MovePrevious enquanto a propriedade BOF estiver definida como True, ocorrerá um erro.

Esta tabela mostra quais métodos Move são permitidos com diferentes combinações das propriedades BOF e EOF.

MoveFirst,
MoveLast

MovePrevious,
Move < 0


Move 0

MoveNext,
Move > 0

BOF=True,
EOF=False

Permitido

Erro

Erro

Permitido

BOF=False,
EOF=True

Permitido

Permitido

Erro

Erro

Ambas Verdadeiras

Erro

Erro

Erro

Erro

Ambas Falsas

Permitido

Permitido

Permitido

Permitido

Permitir um método Move significa que o método localizará com êxito um registro. Indica simplesmente uma tentativa para executar o método Move especificado e permitido e não gerará erro. O estado das propriedades BOF e EOF poderá ser alterado como resultado de uma tentativa do método Move.

Um método OpenRecordset chama internamente um método MoveFirst. Por esse motivo, o uso de um método OpenRecordset em um conjunto de registros vazio definirá as propriedades BOF e EOF como True. (Consulte a tabela a seguir para conhecer o comportamento de um método MoveFirst com falha.)

Todos os métodos Move localizados com sucesso em um registro definirão as propriedades BOF e EOF como False.

Em um espaço de trabalho do Microsoft Access, se você adicionar um registro a um Recordset vazio, BOF se tornará False, mas EOF permanecerá True, indicando que a posição atual está no final do Recordset.

Qualquer método Delete, mesmo que remova somente o registro restante de um Recordset, não alterará a definição da propriedade BOF ou EOF.

A tabela a seguir mostra como os métodos Move que não localizam um registro afetam as configurações das propriedades BOF e EOF.

BOF

EOF

MoveFirst, MoveLast

Verdadeiro

Verdadeiro

Move 0

Sem alteração

Sem alteração

MovePrevious, Move< 0

Verdadeiro

Sem alteração

MoveNext, Move> 0

Sem alteração

Verdadeiro