RECOFFSET( ) 函数

返回自当前记录起第指定数目个记录的一个域值。

语法

RECOFFSET(记录数

参数

名称 类型 描述

字符

数值

日期时间

自其开始检索值的域的名称

记录数 数值

自当前记录算起的记录数。正数表示是当前记录之后的记录;负数表示是当前记录之前的记录。

输出

字符、数值或日期时间。返回值与输入参数属于相同的数量类型。

示例

基本示例

从下一个记录返回一个金额值:

RECOFFSET(金额,1)

从上一个记录返回一个金额值:

RECOFFSET(金额, -1)

高级示例

在计算域中使用 RECOFFSET

计算域下一金额仅当下一条记录具有相同的客户号时,才显示下一条记录中的“金额”域的值。

要在脚本中定义此计算域,请使用以下语法:

DEFINE FIELD 下一金额 COMPUTED
RECOFFSET(金额,1) IF RECOFFSET(客户,1) = 客户
0

仅当下一个记录中的客户号与当前记录中的客户号相同时,下一金额才是下一个记录中的 “金额”域的值。否则,下一金额值为零。

备注

RECOFFSET( ) 函数返回距当前记录指定个记录的记录中的一个域值。

何时使用 RECOFFSET( )

该函数通常用于高级比较测试。

您可使用该函数对当前记录中的域中的值与另一记录中的域进行比较。例如,您可以添加一个计算域,计算当前记录中的金额与前一个记录中的金额之间的差额。

表的开头或末尾

若遇到表的开头或结尾,则该函数对数值域返回零,对字符域返回空字符串,对日期域返回 1900/01/01。该函数在以上示例中返回空白输出是因为没有更深入的记录与当前记录相比较。

ACL 脚本指南 14.1