2017-06-14 70 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