Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Em um objeto Recordset , se você tentar ir além do registro inicial ou final, ocorrerá um erro em tempo de execução. Por exemplo, se você tentar usar o método MoveNext quando já estiver no último registro do Recordset, ocorrerá um erro de trappable. Por esse motivo, é útil saber os limites do objeto Recordset.
A propriedade BOF indica se a posição atual está no início do Recordset. Se BOF for True, a posição atual será anterior ao primeiro registro do Recordset. A propriedade BOF também será True se não houver registros no Recordset quando for aberto.
Da mesma forma, a propriedade EOF será True se a posição atual estiver após o último registro no Recordset ou se não houver registros.
O exemplo de código a seguir mostra como usar as propriedades BOF e EOF para detectar o início e o fim de um objeto Recordset . Este fragmento de código cria um Recordset do tipo tabela baseado na tabela Orders do banco de dados atual. Ele passa pelos registros, primeiro do início do Recordset até o final e, em seguida, do final do Recordset para o início.
Dim dbsNorthwind As DAO.Database
Dim rstOrders As DAO.Recordset
Set dbsNorthwind = CurrentDb
Set rstOrders = dbsNorthwind.OpenRecordset("Orders")
' Do until ending of file.
Do Until rstOrders.EOF
'
' Manipulate the data.
'
rstOrders.MoveNext ' Move to the next record.
Loop
rstOrders.MoveLast ' Move to the last record.
' Do until beginning of file.
Do Until rstOrders.BOF
'
' Manipulate the data.
'
rstOrders.MovePrevious ' Move to the previous record.
Loop
Lembre-se de que não há nenhum registro atual imediatamente após o primeiro loop. As propriedades BOF e EOF têm as seguintes características.
Se o Recordset não contiver registros quando for aberto, BOF e EOF serão True.
Quando BOF ou EOF é True, a propriedade permanece True até você ir para um registro existente, quando o valor de BOF ou EOF se tornará False.
Quando BOF ou EOF é False e o único registro de um Recordset é excluído, a propriedade permanece False até você tentar ir para outro registro, quando BOF e EOF tornam-se True.
Quando você cria ou abre um Recordset que contém pelo menos um registro, o primeiro registro é o atual e BOF e EOF são False.
Se o primeiro registro for o atual quando você usar o método MovePrevious, BOF será definido como True. Se você usar MovePrevious quando BOF for True, ocorrerá um erro em tempo de execução. Quando isso acontece, BOF permanece True e não há registro atual.
Da mesma maneira, ir além do último registro do Recordset altera o valor da propriedade EOF para True. Se você usar o método MoveNext quando EOF for True, ocorrerá um erro em tempo de execução. Quando isso acontece, EOF permanece True e não há registro atual.
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.