以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]统计代码的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111845)

--  作者:静听枫雨
--  发布时间:2017/12/30 11:29:00
--  [求助]统计代码的问题

制版类型 为下拉 多选框

If e.DataCol.Name = "制版类型" Then \'发生变化的是制版名称吗?
    \'在产品表找出该产品
    Dim dr As DataRow
    dr = DataTables("制版价格表").SQLFind("制版名称 = \'" & e.DataRow("制版类型") & "\'" )
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("制版厂家") = dr("制版厂家")
        e.DataRow("制版成本") = DataTables("制版价格表").Compute("Sum(制版成本)","制版名称 in (\'" & e.DataRow("制版类型").replace(",","\',\'") & "\')" )
        e.DataRow("制版费用") = DataTables("制版价格表").Compute("Sum(制版费用)","制版名称 in (\'" & e.DataRow("制版类型").replace(",","\',\'") & "\')" )
    End If
End If

 

 

 现在 单选一个制版类型   制版费用 是对的  多选 就不统计

[此贴子已经被作者于2017/12/30 11:30:02编辑过]

--  作者:有点蓝
--  发布时间:2017/12/30 20:32:00
--  
啊,I服了U。

If e.DataCol.Name = "制版类型" Then \'发生变化的是制版名称吗?
    \'在产品表找出该产品
    Dim dr As DataRow
    dr = DataTables("制版价格表").SQLFind("制版名称 in (\'" & e.DataRow("制版类型").replace(",","\',\'") & "\')" )
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("制版厂家") = dr("制版厂家")
        e.DataRow("制版成本") = DataTables("制版价格表").Compute("Sum(制版成本)","制版名称 in (\'" & e.DataRow("制版类型").replace(",","\',\'") & "\')" )
        e.DataRow("制版费用") = DataTables("制版价格表").Compute("Sum(制版费用)","制版名称 in (\'" & e.DataRow("制版类型").replace(",","\',\'") & "\')" )
    End If
End If