Função RECOFFSET( )

Retorna o valor de um campo de um registro que está a um número especificado de registros a partir do registro atual.

Sintaxe

RECOFFSET(campo; número_de_registros)

Parâmetros

Nome Tipo Descrição
campo

caractere

numérico

datahora

O nome do campo cujo valor deve ser recuperado.

número_de_registros numérico

O número de registros a partir do registro atual. Um número positivo especifica um registro depois do registro atual e um número negativo especifica um registro antes do registro atual.

Saída

Caracteres, Numéricos ou de Datahora. O valor retornado pertence a mesma categoria de dados do parâmetro de entrada campo.

Exemplos

Exemplos básicos

Retorna um valor Quantidade do próximo registro:

RECOFFSET(Quantidade;1)

Retorna um valor Quantidade do registro anterior:

RECOFFSET(Quantidade; -1)

Exemplos avançados

Uso de RECOFFSET em um campo calculado

O campo calculado Próxima_quantidade mostra o valor do campo Quantidade do próximo registro apenas se este tiver o mesmo número de cliente.

Para definir esse campo calculado em um script, use a seguinte sintaxe:

DEFINIR CAMPO Próxima_quantidade COMPUTED
RECOFFSET(Quantidade;1) IF RECOFFSET(Cliente;1) = Cliente
0

Próxima_quantidade será o valor do campo Quantidade do próximo registro apenas se o número de cliente do próximo registro for igual ao número de cliente do registro atual. Caso contrário, Próxima_quantidade será zero.

Observações

A função RECOFFSET( ) retorna um valor de campo de um registro que está um número especificado de registros acima ou abaixo do registro atual.

Quando usar RECOFFSET( )

Essa função é normalmente usada para testes de comparação avançados.

Você pode usar essa função para comparar um campo do registro atual com um campo de outro registro. Por exemplo, você pode adicionar um campo calculado que determina a diferença entre uma quantidade no registro atual e uma quantidade no registro anterior.

O início ou o final de uma tabela

Se for encontrado o final ou o início da tabela, a função retornará zero para os campos numéricos, uma cadeia em branco para os campos de caracteres, ou 1900/01/01 para os campos de data. A função retorna um resultado em branco nestes casos, porque não há registro adicional com o qual o atual registro pode ser comparado.