Propriedade Recordset.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 Conjunto de registros.
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, |
MovePrevious, |
|
MoveNext, |
|
---|---|---|---|---|
BOF=True, |
Permitido |
Erro |
Erro |
Permitido |
BOF=False, |
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 |