Función RECOFFSET( )
Devuelve un valor de campo de un registro que es una cantidad de registros especificada del registro actual.
Sintaxis
RECOFFSET(campo; número_de_registros)
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
campo |
carácter numérico fechahora |
El nombre del campo del cual se recupera el valor. |
número_de_registros | numérico |
El número de registros del registro actual. Un número positivo especifica un registro posterior al registro actual; un número negativo especifica un registro anterior al registro actual. |
Salida
Carácter, Numérico o Fechahora. El valor devuelto pertenece a la misma categoría de datos como el parámetro de entrada campo.
Ejemplos
Ejemplos básicos
Devuelve un valor Cantidad del siguiente registro:
RECOFFSET(Cantidad;1)
Devuelve un valor Cantidad del registro anterior:
RECOFFSET(Cantidad; -1)
Ejemplos avanzados
Uso de RECOFFSET en un campo calculado
El campo calculado Cantidad_siguiente muestra el valor del campo Cantidad en el registro siguiente sólo si el registro siguiente tiene el mismo número de cliente.
Para definir este campo calculado en un script, utilice la siguiente sintaxis:
DEFINE FIELD Cantidad_siguiente COMPUTED RECOFFSET(Cantidad;1) IF RECOFFSET(Cliente;1) = Cliente 0
Cantidad_siguiente es el valor del campo Cantidad del siguiente registro solo si el número de cliente del siguiente registro es el mismo que el número de cliente del registro actual. En caso contrario, a Cantidad_siguiente se le asigna un valor de cero.
Observaciones
La función RECOFFSET( ) devuelve un valor de campo de un registro que es un número específico de registros superior o inferior al registro actual.
Cuándo usar RECOFFSET( )
Esta función se utiliza comúnmente para la prueba de comparación avanzada.
Puede utilizar esta función para comparar valores en un campo del registro actual con un campo en otro registro. Por ejemplo, puede agregar un campo calculado que calcule la diferencia entre una cantidad en el registro actual y una cantidad en el registro anterior.
El principio o el final de una tabla
Si llega al final o al principio de la tabla, esta función devuelve cero para los campos numéricos, una cadena vacía para los campos de caracteres o 01/01/1900 para los campos de fecha. La función devuelve la salida en blanco en estos casos porque no hay otro registro más para comparar con el registro actual.