以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  根据用户等级和消费金额的折扣  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68132)

--  作者:long086
--  发布时间:2015/5/10 23:13:00
--  根据用户等级和消费金额的折扣
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:根据用户等级和消费金额的折扣.table

请问根据用户等级不同,和消费的金额不同,折扣不同,自动计算出折扣后的金额,怎么做,请高人指点。
--  作者:大红袍
--  发布时间:2015/5/10 23:31:00
--  

    

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:根据用户等级和消费金额的折扣.table


--  作者:sjx71
--  发布时间:2015/5/11 0:15:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:折扣价.table


--  作者:long086
--  发布时间:2015/5/11 17:57:00
--  
感谢指导
--  作者:long086
--  发布时间:2015/5/13 9:07:00
--  
以下是引用sjx71在2015/5/11 0:15:00的发言:
 下载信息  [文件大小:288.0 KB  下载次数:37]
图片点击可在新窗口打开查看点击浏览该文件:折扣价.table

感谢指点,新手入门,能否解释下面的代码意思,谢谢

Select Case e.DataCol.Name
    Case "价格","客户等级"
        Dim dr As DataRow
        dr = DataTables("折扣").find("客户等级 = \'" & e.DataRow("客户等级") & "\'")
        If dr IsNot Nothing Then
            If e.DataRow("价格") > 1000 Then
                e.DataRow("折扣后") = e.DataRow("价格") * dr("折扣一")
            Else
                e.DataRow("折扣后") = e.DataRow("价格") * dr("折扣二")
            End If
        End If
End Select


--  作者:long086
--  发布时间:2015/5/13 9:09:00
--  
以下是引用大红袍在2015/5/10 23:31:00的发言:

    

 下载信息  [文件大小:292.0 KB  下载次数:7]
图片点击可在新窗口打开查看点击浏览该文件:根据用户等级和消费金额的折扣.table

感谢指点,新手入门,能否解释下面的代码意思,谢谢

 

Select Case e.DataCol.Name
    Case "价格", "客户等级"
        Dim fdr As DataRow = DataTables("表B").Find("金额 < " & e.DataRow("价格") & " and 客户等级 = \'" & e.DataRow("客户等级") & "\'", "金额 desc")
        If fdr IsNot Nothing Then
            e.DataRow("折扣后") = fdr("折扣") / 100 * e.DataRow("价格")
        Else
            e.DataRow("折扣后") = e.DataRow("价格")
        End If
End Select


--  作者:Bin
--  发布时间:2015/5/13 9:10:00
--  
Select Case e.DataCol.Name
    Case "价格","客户等级"    \'判断触发的列名
        Dim dr As DataRow
        dr = DataTables("折扣").find("客户等级 = \'" & e.DataRow("客户等级") & "\'")  \'折扣表找到客户等级等于当前行客户等级的行
        If dr IsNot Nothing Then  \'判断DR不是空也就是确认有找到行
            If e.DataRow("价格") > 1000 Then  '判断一下当前行的价格是否大于1000
                e.DataRow("折扣后") = e.DataRow("价格") * dr("折扣一")   '是的话折扣后等于 价格*找到的行的折扣一
            Else
                e.DataRow("折扣后") = e.DataRow("价格") * dr("折扣二")    \'否则,也就是小于1000   *找到行的折扣二
            End If
        End If
End Select