以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  不同客户多个不同折扣问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=106109)

--  作者:356308762
--  发布时间:2017/9/2 11:15:00
--  不同客户多个不同折扣问题
不同产品有2种不同折扣,怎么设置给不同客户不同折扣,在输入客户和商品时,能自动填入可修改的折扣???
目前想到的是给每个客户建一张商品折扣表。 有没有更合适的解决方法?   请求指点!

--  作者:有点蓝
--  发布时间:2017/9/2 11:21:00
--  
这就是最合适的用法了
--  作者:356308762
--  发布时间:2017/9/15 16:08:00
--  求解

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



--  作者:有点甜
--  发布时间:2017/9/15 16:35:00
--  

跨表引用

 

http://www.foxtable.com/webhelp/scr/1451.htm

 

http://www.foxtable.com/webhelp/scr/1457.htm

 


--  作者:356308762
--  发布时间:2017/9/15 16:38:00
--  可是
可是并没有跨表啊,都是在一个表里的。
--  作者:有点甜
--  发布时间:2017/9/15 17:15:00
--  
以下是引用356308762在2017/9/15 16:38:00的发言:
可是并没有跨表啊,都是在一个表里的。

 

单纯是3楼代码的问题?你把dr改一个名字就行了

 

http://www.foxtable.com/webhelp/scr/1518.htm

 


--  作者:356308762
--  发布时间:2017/9/15 17:46:00
--  老师
\'If e.DataCol.Name = "折扣1" OrElse e.DataCol.Name = "折扣2" OrElse e.DataCol.Name = "折扣3" Then
\'    e.DataRow("结算金额") = e.DataRow("面价") * e.DataRow("折扣1")* e.DataRow("折扣2")* e.DataRow("折扣3")
\'End If


Dim a As DataRow = e.DataRow 
Select Case e.DataCol.Name 
    Case "折扣1" 
        a("结算金额") = a("面价") * a("折扣1")
End Select



这两个方法都能用了。
可是如果要折扣123中的值为0,怎么让它返回1。
试了像表达式里一样,在前面加IsNull没用。
请老师指点

--  作者:有点甜
--  发布时间:2017/9/15 18:02:00
--  
If e.DataCol.Name = "折扣1" OrElse e.DataCol.Name = "折扣2" OrElse e.DataCol.Name = "折扣3" Then
    e.DataRow("结算金额") = e.DataRow("面价") * iif(e.DataRow("折扣1")=0, 1, e.DataRow("折扣1"))* iif(e.DataRow("折扣2")=0, 1, e.DataRow("折扣2"))* iif(e.DataRow("折扣3")=0, 1, e.DataRow("折扣3"))
End If

--  作者:356308762
--  发布时间:2017/9/16 15:34:00
--  谢谢老师
谢谢老师