在PB的資料視窗中,有一計算列(C),是前兩列的自動乘積(a列和b列),在計算列之后還有一列(d),現想如果d列有資料的情況下,在保存的時候會把C列的數值替換掉,也就是說d列為數值則c列和d列的數值一樣,c列不再顯示為a列和b列的計算值。
uj5u.com熱心網友回復:
if(isnumber(d),d,a*b)uj5u.com熱心網友回復:
C列的計算通過if處理,當d無資料時=a*b,有資料時=d ,即if(d>0 , d , a*b)uj5u.com熱心網友回復:
大致就是這個意思:
C計算列的運算式為:if(isnumber(d), dec(d), a * b)
要用DW物件內置的資料型別轉換函式,轉換D后的資料型別要和 a*b 相同。否則報錯。
uj5u.com熱心網友回復:
如果要保存那個計算列C,需要用存盤程序或寫程式代碼處理。uj5u.com熱心網友回復:
a、b、d三列都是dec型的,不用判斷。c列是計算列(sum(round( a * b,2)),是想當d輸入數值后,c列里面顯示的不再是a和b的乘積,而是d列輸入的數字。因為有時候b列里面的數值是通過d列除以a列,反算出來的,如果c列還是自動計算a*b,那結果會和d列輸入的數字有些小誤差。
uj5u.com熱心網友回復:
我在計算列c的expression里面寫if(d>0,d,round( a * b ,2)) 報expecting true/false expression 沒法保存
uj5u.com熱心網友回復:
看出錯的提示應該是d > 0這個地方,懷疑你的型別不對,你仔細檢查一下這幾個列的型別,實在不行,你再建一個資料視窗,只用這個幾個列再試試
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/49772.html
標籤:基礎類
上一篇:急緊求助
下一篇:求助,pb亂碼問題
