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, |
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 |