以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如果A列的计算结果满足条件,则使用另一列的计算公式计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=11671)

--  作者:annan
--  发布时间:2011/8/7 11:19:00
--  如果A列的计算结果满足条件,则使用另一列的计算公式计算

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:请教.rar

 

打开项目的dingdan表,打开dingdan.dingdans表的属性,几处需要修改的代码帮忙看一下,先谢谢各位!


--  作者:狐狸爸爸
--  发布时间:2011/8/7 11:40:00
--  

1、需要增加一个计算采购数量的代码:我在EXCEL里面是这样表达的:\'=IF(纸长开=1,订单数量/纸度开*2,订单数量/纸度开)

 

 r("采购数量") = r("订单数量")/r("纸度开") * iif(r("纸长开") = 1,2,1)

 

2、 需加一个计算"采购长"     是根据"纸长"的值,例如:纸长的值是33.111,采购长应该显示为33.125(意思就是尾数应该是1除以8的分数:如:0.125,0.25,0.375,0.5,0.625,0.75,0.875)


这个问题,我记得之前已经回复你,并且做了一个示例文件给你的。

 


3、需加一个计算"采购宽"     是根据\'纸宽的值,再根据"zhidu"表的(例如纸宽的值小于或等于29,取"zhidu"表的动态值 29,纸宽的值大于29,小于或等于31,则取31,以此类

 

if e.DataCol.Name = "纸宽" Then

     Dim dr2 As DataRow = DataTables("zhidu").find("动态值 >= " & r("纸宽"), "动态值")
     If dr2 IsNot Nothing Then
           r("采购宽") = dr2("动态值")
      End If       

End if

[此贴子已经被作者于2011-8-7 11:52:04编辑过]

--  作者:annan
--  发布时间:2011/8/7 13:26:00
--  

狐爸:还有这二处能否也帮忙看看? 

 

            s2 = r("zc")
            s2 = s2.Replace("[L]",r("L"))
            s2 = s2.Replace("[W]",r("W"))
            s2 = s2.Replace("[H]",r("H"))
            s2 = s2.Replace("[订条值]",r("订条值"))
            r("纸长") = Eval(s2)     \'这段代码是根据"zc"公式计算"纸长"的,现在需要:当"纸长"的值小于27.5,则使用"pzc"列存在的公式计算,同时,"纸度开"改变值的时候,纸长就重新计算一次.
           

 

            s3 = r("zk")
            s3 = s3.Replace("[L]",r("L"))
            s3 = s3.Replace("[W]",r("W"))
            s3 = s3.Replace("[H]",r("H"))
            s3 = s3.Replace("[纸长开]",r("纸长开"))
            r("纸宽") = Eval(s3)      \'这段代码是根据"zk"公式计算"纸宽"的 ,现在需要:当"纸宽"的值大于40,则使用"pzk"列存在的公式计算,同时将"纸长开的"2\'改为\'1"


--  作者:狐狸爸爸
--  发布时间:2011/8/7 13:44:00
--  

1、

 

if r("纸长") < 27.5 then 
   s2= r("pzc")

Else

   s2 = r("zc")

end  if
s2 = s2.Replace("[L]",r("L"))
s2 = s2.Replace("[W]",r("W"))
s2 = s2.Replace("[H]",r("H"))
s2 = s2.Replace("[订条值]",r("订条值"))

 

2、

If r("纸宽") > 40 then
       s3 = r("pzk")

       r("纸长开") = 1

   Else

      s3 = r("zk")

End if
s3 = s3.Replace("[L]",r("L"))
s3 = s3.Replace("[W]",r("W"))
s3 = s3.Replace("[H]",r("H"))
s3 = s3.Replace("[纸长开]",r("纸长开"))