我有一个日期字段,我的库存商品已在该字段上购买。然后我有几个月的寿命字段,例如240.现在我想计算项目的生命日期结束,但我收到错误:
numbervar myVariable := ({TABLE.LIFESPAN} * 30);
dateadd("d", myVariable,{@date})
我收到以下错误:"日期必须介于第1年和第9999年之间"
我将变量更改为:numbervar myVariable := {TABLE.LIFESPAN};
它没有任何错误。此外,如果我将dateadd公式更改为dateadd("d", 7200,{@date})
,则可以正常工作。
TABLE.LIFESPAN字段的格式为十进制(9,2)但没有值具有小数,例如它将为240.00
我也试过
numbervar myVariable := Round({TABLE.LIFESPAN} * 30);
我怀疑它与小数有关。
非常感谢帮助。
答案 0 :(得分:1)
一旦你的({TABLE.LIFESPAN} * 40)导致年份大于9999,你就会收到这个值。所以,如果{@date}是今天的日期,那么{TABLE.LIFESPAN}不能高于73955或所以。我会为({TABLE.LIFESPAN} * 40)创建一个公式并将其放在画布上,看看所有记录上的值是什么,看看你的某个地方是否有异常高的数字。