Foxtable(狐表)用户栏目专家坐堂 → 判断列计算


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

主题:判断列计算

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


加好友 发短信
等级:狐精 帖子:3077 积分:20571 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/4/18 12:51:00 [显示全部帖子]

If dr3("结算类别") = "代销" Then   你多了括号
不过你代码逻辑有点乱,整理一下,代码如下可供参考:
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "销售型号"
        If e.NewValue Is Nothing Then '如果新值是空白,也就是品名列的内容为空
            dr("吊牌单价") = Nothing '那么清空此行单价列的内容
            dr("成本单价") = Nothing
        Else
            Dim dr1 As DataRow = DataTables("基本资料").Find("[型号] = '" & e.NewValue & "'")
            If dr1 IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
                dr("吊牌单价") = dr1("单价")
                dr("成本单价") = dr1("成本")
            End If
        End If
    Case "销售单价", "吊牌单价"
        dr("折扣扣率") = dr("销售单价") / dr("吊牌单价")
    Case "销售公司", "销售型号"
        If dr.IsNull("销售公司") OrElse dr.IsNull("销售型号") Then
            dr("套餐折扣") = Nothing
        Else
            Dim dr2 As DataRow = DataTables("套餐").Find("结算公司 = '" & dr("销售公司") & "' And  型号 = '" & dr("销售型号") & "'")
            If dr2 IsNot Nothing Then
                dr("套餐折扣") = dr2("套餐折扣")
            End If
        End If
    Case "结算类别", "吊牌单价", "销售单价", "套餐折扣"
        If dr("结算类别") = Nothing Then
            dr("结算金额") = Nothing
            dr("成本预算") = Nothing '那么清空此行单价列的内容
        Else
            If dr("结算类别") = "代销" Then
                dr("结算金额") = dr("吊牌单价") * dr("套餐折扣")
            ElseIf dr("结算类别") = ("经销") Then
                dr("结算金额") = dr("销售单价") * dr("套餐折扣")
            End If
            dr("成本预算") = dr("结算金额") - dr("成本单价")
        End If
End Select



[此贴子已经被作者于2024/4/18 13:02:48编辑过]

 回到顶部