2012-03-12 85 views
1

我試圖在我的彙總字段中創建一個十進制格式公式。數據庫中的值可能有0,1或2個小數位。我已經開始與此:水晶報告彙總字段的條件格式

If (CurrentFieldValue mod 1 = 0) Then 
      0 
Else If (CurrentFieldValue mod .1 = 0) Then 
      1 
Else 
      2 

在一個簡單的單數據字段,這個工程並顯示爲0,1,或2基於從我的數據庫裏的數據小數位的值。在我的報告中使用組數據時,相同的公式不適用於摘要字段。有任何想法嗎?

編輯:因爲我不知道如何在註釋格式的代碼,我會在這裏解決使用公式的建議:

沒有工作。公式:

Sum ({myTable.dataValue}, {myTable.groupField}) 

然後我用:

If ({@formula} mod 1 = 0) Then 
    0 
Else If ({@formula} mod .1 = 0) Then 
    1 
Else 
    2 

而且我還有整數的一切。我的舍入設置爲.01,沒有公式。我是否需要一個四捨五入的公式?我仍然不明白爲什麼這對個人價值有效,但對羣體摘要不起作用。

+0

嘗試加入'whileprintingrecords;'以上報價 – 2012-03-12 16:32:45

+0

代碼之前@LeeTickett沒有骰子,我仍然得到所有的整數值 – SupremeDud 2012-03-12 17:07:18

回答

2

確定 - 事實證明,這是由於我們對mod功能缺乏瞭解:)

所有mod 1實際上都返回0.這是你需要使用的公式:

if {ER100_ACCT_ORDER.ER100_ORD_TOT} * 100 mod 100 = 0 then 
0 
else if {ER100_ACCT_ORDER.ER100_ORD_TOT} * 100 mod 10 = 0 then 
1 
else 
2 

:)

+0

所以你說的2.5 MOD 1 = 0?是不是剩下的.5? – SupremeDud 2012-03-12 17:25:22

+0

https://www.google.com/search?sourceid=chrome&ie=UTF-8&q=2.5+mod+1 – SupremeDud 2012-03-12 17:25:51

+2

晶體模量定義爲:'將x除以y並返回一個整數的餘數' – 2012-03-12 17:30:54

1

如何只創建一個公式字段,而不是使用內置的彙總字段:

sum({mytable.myfield}) 

然後你可以使用條件格式:

If ({@formula} mod 1 = 0) Then 
     0 
Else If ({@formula} mod .1 = 0) Then 
     1 
Else 
     2