Foxtable(狐表)用户栏目专家坐堂 → 如果A列的计算结果满足条件,则使用另一列的计算公式计算


  共有11023人关注过本帖树形打印复制链接

主题:如果A列的计算结果满足条件,则使用另一列的计算公式计算

帅哥哟,离线,有人找我吗?
annan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:1004 威望:0 精华:0 注册:2011/4/30 17:19:00
如果A列的计算结果满足条件,则使用另一列的计算公式计算  发帖心情 Post By:2011/8/7 11:19:00 [只看该作者]

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:1004 威望:0 精华:0 注册:2011/4/30 17:19:00
  发帖心情 Post By: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"


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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("纸长开"))


 回到顶部