以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  帮忙看看这个代码怎么写?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1111)

--  作者:blackzhu
--  发布时间:2008/11/12 17:08:00
--  帮忙看看这个代码怎么写?
ROUND((IF([辅料名称]="箱夹板",[长]*[宽]*[单价]/10000,IF([辅料名称]="井字架",(([长]*[高]*2)+([宽]*[高]*2))*[单价]/10000,IF([辅料名称]="纸桥",(([长]+[宽]+4)*([宽]+[高]+4))*[单价]/10000,(([长]+[宽]+8)*([宽]+[高]+4))*2*[单价]/10000)+[橡筋箱]))),2)



上面的是易表的公式。

--  作者:czy
--  发布时间:2008/11/12 17:17:00
--  
用表达式的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
--  作者:blackzhu
--  发布时间:2008/11/12 18:58:00
--  
以下是引用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," ")," "),这个怎么写?


--  作者:czy
--  发布时间:2008/11/12 19:23:00
--  
iif([辅料名称]=\'五层橡筋箱\',0.3,iif([辅料名称]=\'七层橡筋箱\',0.3,Null ))
--  作者:blackzhu
--  发布时间:2008/11/12 20:34:00
--  
以下是引用czy在2008-11-12 19:23:00的发言:
iif([辅料名称]=\'五层橡筋箱\',0.3,iif([辅料名称]=\'七层橡筋箱\',0.3,Null ))

  上来我也是这样弄得不知道为什么不行,我试试。


--  作者:blackzhu
--  发布时间:2008/11/12 22:11:00
--  
以下是引用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
--  
哦,没文件我只是按你的公式改的。
--  作者:blackzhu
--  发布时间:2008/11/12 22:58:00
--  
以下是引用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".

我将文件发上来。


--  作者:blackzhu
--  发布时间:2008/11/12 23:02:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跟单管理.rar


看数据表订箱单,公式设定在箱单价,我的意思是:Convert((IIF([辅料名称]=\'箱夹板\',[长]*[宽]*[单价]/10000,IIF([辅料名称]=\'井字架\',(([长]*[高]*2)+([宽]*[高]*2))*[单价]/10000,IIF([辅料名称]=\'纸桥\',(([长]+[宽]+4)*([宽]+[高]+4))*[单价]/10000,(([长]+[宽]+8)*([宽]+[高]+4))*2*[单价]/10000)+[橡筋箱]))),\'System.Int64\')/100

除了箱夹板,井字架和纸桥的算法不同外,其余的算法都是按照:(([长]+[宽]+8)*([宽]+[高]+4))*2*[单价]/10000)+[橡筋箱],这个公式,请帮忙解决!