2017-06-14 79 views
0

我从MySQL查询或表生成报告没有问题。 当我想在每行的报表中添加一个变量时,问题就开始了。Delphi - MyDAC - 快速报告

例如,表"PRODUCTS": ID|PRODUCT-NAME|SHELF-LIFE

什么是最好的做法,如果我要生成一个报告,显示我

ID | NAME | EXPIRE-DAY

其中:EXPIRE-DAY = TODAY + SHELF-LIFE

预先感谢您的帮助,甚至一个链接将不胜感激。

回答

0

三个选项:

  1. 使用FR-功能添加你的日子。
  2. 使用一个变量,FR,并通过.OnGetValue事件
  3. 在Delphi计算具有到期日的计算添加到你的MySQL查询

类似:

Select ID, NAME, SHELF-LIFE, DATE_ADD(CURDATE(), INTERVAL SHELF-LIFE DAY) as EXPIRE-DAY from mytable 
+0

4)或使用表达式? – Victoria

0

您可以使用FR的内部函数DATE得到当前日期:[Date + <YourDatasetName."SHELF-LIFE">]

+0

'DATE'不是函数,而是[系统变量](https://www.fast-report.com/documentation/UserManFrNET-en/index.html?usesystemvariablesinexpressions.htm)。 – Victoria

+0

日期也是功能。请参阅数据树中的函数选项卡或使用此类脚本'开始 ShowMessage(Date); ShowMessage(); 结束。“ – gpi

+0

不是用表达式来表达的,这就是你所展示的。此外,我猜这两个符号会返回不同的值,''一个指的是系统变量(与您在答案中的表达式中使用的相同),而'Date'是由PascalScript导出的函数并返回与Delphi相同的函数,也就是说,当前日期的值与时间部分设置为0,该值不同于该变量返回的日期时间值。附:这样的脚本会失败。 – Victoria