用表达式的iif就可以,round参考帮助中的"如何实现四舍五入"。
以下是引用czy在2008-11-12 17:28:00的发言:
估计直接这样替换一下就行了吧?
Convert((IIF([辅料名称]='箱夹板',[长]*[宽]*[单价]/10000,IIF([辅料名称]='井字架',(([长]*[高]*2)+([宽]*[高]*2))*[单价]/10000,IIF([辅料名称]='纸桥',(([长]+[宽]+4)*([宽]+[高]+4))*[单价]/10000,(([长]+[宽]+8)*([宽]+[高]+4))*2*[单价]/10000)+[橡筋箱]))),'System.Int64')/100
狐表中的IIF函数不太会用,我再问一个:IF([辅料名称]="五层橡筋箱",0.3,IF([辅料名称]="七层橡筋箱",0.3," ")," "),这个怎么写?
iif([辅料名称]='五层橡筋箱',0.3,iif([辅料名称]='七层橡筋箱',0.3,Null ))
以下是引用czy在2008-11-12 19:23:00的发言:
iif([辅料名称]='五层橡筋箱',0.3,iif([辅料名称]='七层橡筋箱',0.3,Null ))
上来我也是这样弄得不知道为什么不行,我试试。
以下是引用czy在2008-11-12 17:28:00的发言:
估计直接这样替换一下就行了吧?
Convert((IIF([辅料名称]='箱夹板',[长]*[宽]*[单价]/10000,IIF([辅料名称]='井字架',(([长]*[高]*2)+([宽]*[高]*2))*[单价]/10000,IIF([辅料名称]='纸桥',(([长]+[宽]+4)*([宽]+[高]+4))*[单价]/10000,(([长]+[宽]+8)*([宽]+[高]+4))*2*[单价]/10000)+[橡筋箱]))),'System.Int64')/100
你这个不行。
以下是引用czy在2008-11-12 22:16:00的发言:
哦,没文件我只是按你的公式改的。
iif([纸制品名称]='箱夹板',[长]*[宽]*[每平方单价]/10000,iif([纸制品名称]='井字架',(([长]*[高]*2)+([宽]*[高]*2))*[每平方单价]/10000,IIF([纸制品名称]='纸桥',(([长]+[宽]+4)*([宽]+[高]+4))*[每平方单价]/10000,iif([纸制品名称]='五层箱',((([长]+[宽]+8)*([宽]+[高]+4))*2*[每平方单价])/10000,iif([纸制品名称]='七层箱',((([长]+[宽]+8)*([宽]+[高]+4))*2*[每平方单价])/10000,null)))))
我做到五层箱没有问题,可以计算,但是算到七层箱就不行了,出现的错误是:"cannot perform"*" operation on
system int32 and system string".
我将文件发上来。
看数据表订箱单,公式设定在箱单价,我的意思是:
Convert((IIF([辅料名称]='箱夹板',[长]*[宽]*[单价]/10000,IIF([辅料名称]='井字架',(([长]*[高]*2)+([宽]*[高]*2))*[单价]/10000,IIF([辅料名称]='纸桥',(([长]+[宽]+4)*([宽]+[高]+4))*[单价]/10000,(([长]+[宽]+8)*([宽]+[高]+4))*2*[单价]/10000)+[橡筋箱]))),'System.Int64')/100
除了箱夹板,井字架和纸桥的算法不同外,其余的算法都是按照:(([长]+[宽]+8)*([宽]+[高]+4))*2*[单价]/10000)+[橡筋箱],这个公式,请帮忙解决!