以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 如何用代码处理不同的会员输入不同的价格  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111441)

--  作者:静听枫雨
--  发布时间:2017/12/21 22:14:00
--  [求助] 如何用代码处理不同的会员输入不同的价格

系统客户分为:  VIP客户  同行客户   普通客户

 
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171221221208.png
图片点击可在新窗口打开查看

 

客户表客户类型:
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171221221619.png
图片点击可在新窗口打开查看

我希望,是不同的客户就调用不同的单价,如何改代码 

If e.DataCol.Name = "印色" Then \'如果发生变化的是纸张名称列?
    \'在产品表找出该产品
    Dim ys As DataRow
    ys = DataTables("颜色表").SqlFind("值 = " & e.DataRow("印色"))
    If ys IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("印色单价") = ys("普通客户价格")
       End If
End If



[此贴子已经被作者于2017/12/21 22:17:01编辑过]

--  作者:有点甜
--  发布时间:2017/12/21 23:28:00
--  

首先,你应该用一个变量记录【当前用户的客户类型】,比如 _UserType,那么就这样写代码

 

DataRow("印色单价") = ys(_UserType & "价格")


--  作者:静听枫雨
--  发布时间:2017/12/30 10:39:00
--  
还是不太明白! 能不能详细一点
--  作者:zoudezhao
--  发布时间:2017/12/30 14:19:00
--  

甜老师的意思应该是定义一个全局_UserType


--  作者:有点蓝
--  发布时间:2017/12/30 20:55:00
--  
你的表格是不是有一列存储了客户类型?那么这样用

If e.DataCol.Name = "印色" Then \'如果发生变化的是纸张名称列?
    \'在产品表找出该产品
    Dim ys As DataRow
    ys = DataTables("颜色表").SqlFind("值 = " & e.DataRow("印色"))
    If ys IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("印色单价") = ys(e.DataRow("客户类型")  & "价格")
       End If
End If