Propriedade Recordset.EOF (DAO)Recordset.EOF Property (DAO)

Aplica-se ao: Access 2013, Office 2013Applies to: 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.Returns a value that indicates whether the current record position is after the last record in a Recordset object. Boolean somente leitura.Read-only Boolean.

SintaxeSyntax

expressão .EOFexpression . EOF

expressão Uma variável que representa um objeto Conjunto de registros.expression A variable that represents a Recordset object.

ComentáriosRemarks

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.You can use the BOF and EOF properties to determine whether a Recordset object contains records or whether you've gone beyond the limits of a Recordset object when you move from record to record.

O local do ponteiro do registro atual determina os valores de retorno BOF e EOF.The location of the current record pointer determines the BOF and EOF return values.

Se a propriedade BOF ou EOF for True, não existirá um registro atual.If either the BOF or EOF property is True, there is no current record.

Se você abrir um objeto Recordset que não contenha registros, as propriedades BOF e EOF estarão definidas como True e a definição da propriedade RecordCount do objeto Recordset será 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 False. Essas propriedades permanecerão como False até que você se mova além do início ou do final do objeto Recordset por meio do método MovePrevious ou MoveNext, respectivamente. Quando você se mover além do início ou do final do Recordset, não existirá nenhum registro, incluindo o registro atual .If you open a Recordset object containing no records, the BOF and EOF properties are set to True, and the Recordset object's RecordCount property setting is 0. When you open a Recordset object that contains at least one record, the first record is the current record and the BOF and EOF properties are False; they remain False until you move beyond the beginning or end of the Recordset object by using the MovePrevious or MoveNext method, respectively. When you move beyond the beginning or end of the Recordset, there is no current record or no record exists.

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.If you delete the last remaining record in the Recordset object, the BOF and EOF properties may remain False until you attempt to reposition the current record.

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.If you use the MoveLast method on a Recordset object containing records, the last record becomes the current record; if you then use the MoveNext method, the current record becomes invalid and the EOF property is set to True. Conversely, if you use the MoveFirst method on a Recordset object containing records, the first record becomes the current record; if you then use the MovePrevious method, there is no current record and the BOF property is set to 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.Typically, when you work with all the records in a Recordset object, your code will loop through the records by using the MoveNext method until the EOF property is set to 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.If you use the MoveNext method while the EOF property is set to True or the MovePrevious method while the BOF property is set to True, an error occurs.

Esta tabela mostra quais métodos Move são permitidos com diferentes combinações das propriedades BOF e EOF.This table shows which Move methods are allowed with different combinations of the BOF and EOF properties.

MoveFirst,MoveFirst method
MoveLastMoveLast method

MovePrevious,MovePrevious method
Move < 0< 0


Move 0Move 0

MoveNext,MoveNext method
Move > 0> 0

BOF=True,BOF=True,EOF=False
EOF=False BOF=True,EOF=False

PermitidoAllowed

ErroError

ErroError

PermitidoAllowed

BOF=False,BOF=False,EOF=True
EOF=True BOF=False,EOF=True

PermitidoAllowed

PermitidoAllowed

ErroError

ErroError

Ambas VerdadeirasBoth True

ErroError

ErroError

ErroError

ErroError

Ambas FalsasBoth False

PermitidoAllowed

PermitidoAllowed

PermitidoAllowed

PermitidoAllowed

Permitir um método Move significa que o método localizará com êxito um registro. Ele simplesmente indica que uma tentativa de executar o método Move especificado é permitida e não gerará um erro. O estado das propriedades BOF e EOF pode ser alterado como resultado da tentativa de Move.Allowing a Move method doesn't mean that the method will successfully locate a record. It merely indicates that an attempt to perform the specified Move method is allowed and won't generate an error. The state of the BOF and EOF properties may change as a result of the attempted 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.)An OpenRecordset method internally invokes a MoveFirst method. Therefore, using an OpenRecordset method on an empty set of records sets the BOF and EOF properties to True. (See the following table for the behavior of a failed MoveFirst method.)

Todos os métodos Move localizados com sucesso em um registro definirão as propriedades BOF e EOF como False.All Move methods that successfully locate a record will set both BOF and EOF to 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.In a Microsoft Access workspace, if you add a record to an empty Recordset, BOF will become False, but EOF will remain True, indicating that the current position is at the end of 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.Any Delete method, even if it removes the only remaining record from a Recordset, won't change the setting of the BOF or EOF property.

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.The following table shows how Move methods that don't locate a record affect the BOF and EOF property settings.

BOFBOF

EOFEOF

MoveFirst, MoveLastMoveFirst, MoveLast

VerdadeiroTrue

VerdadeiroTrue

Move 0Move 0

Sem alteraçãoNo change

Sem alteraçãoNo change

MovePrevious, Move < 0MovePrevious, Move <>

VerdadeiroTrue

Sem alteraçãoNo change

MoveNext, Move > 0MoveNext, Move > 0

Sem alteraçãoNo change

VerdadeiroTrue