以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  昨天没有解决的遗留问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23846)

--  作者:ncffcy
--  发布时间:2012/9/21 15:34:00
--  昨天没有解决的遗留问题

关于特殊客户特殊产品的特殊价格补充问题

得到了lin大,狐爸,和程大的关心再次表示感谢。

 

狐爸的提议是:

你可以另外建立一个表得了,列名称为:客户、 产品、固定价格(逻辑型)、最低价格、最高价格。

不用每个客户每个产品输入,有特殊的才在这个表输入。

 

具体结构根据你的需要来确定,输入销售数据的时候,从这个表检索价格范围,判断输入的价格是否超出许可。

 

lin大说要建个数据,关于提到的解决方法都新建。帮忙看怎么写表达式

 

(更正还得到了muhua 的帮忙 表示感谢

[此贴子已经被作者于2012-9-21 15:59:58编辑过]

--  作者:lin_hailun
--  发布时间:2012/9/21 15:48:00
--  
 表达式的话,比较麻烦,还是写一小段代码解决的比较好。
--  作者:ncffcy
--  发布时间:2012/9/21 15:58:00
--  回复:(lin_hailun) 表达式的话,比较麻烦,还...
代码也可以。希望lin大指教
--  作者:lin_hailun
--  发布时间:2012/9/21 16:04:00
--  
 增加了这段代码

Select Case e.DataCol.Name
    Case "产品名称", "客户名称"
        If e.DataRow("产品名称") <> "" AndAlso e.DataRow("客户名称") <> "" Then
            Dim dr As DataRow = DataTables("特殊价格表").Find("特殊客户 = \'" & e.DataRow("客户名称") & "\' And 特殊品种 = \'" & e.DataRow("产品名称") & "\'", "_Identify desc")
            If dr Is Nothing Then
                Dim pdr As DataRow =  e.DataRow.GetParentRow("产品表")
                e.DataRow("单价") = pdr("价格")
            Else
                e.DataRow("单价") = dr("特殊单价")
            End If
        End If
End Select

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实验.table


[此贴子已经被作者于2012-9-21 17:32:16编辑过]

--  作者:ncffcy
--  发布时间:2012/9/21 16:29:00
--  回复:(lin_hailun) 增加了这段代码Select Cas...

lin大在哪里添加的?图片点击可在新窗口打开查看(脸红中)


--  作者:lin_hailun
--  发布时间:2012/9/21 16:39:00
--  
 如下图所示。


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

--  作者:ncffcy
--  发布时间:2012/9/21 16:59:00
--  

lin大的修改中将原有的折扣除去了。

 

 

可不可以做个改进?

 如果特殊价格表中没有特殊价格  则执行:全价*客户表里的折扣?


--  作者:ncffcy
--  发布时间:2012/9/21 17:22:00
--  

lin大,如果这样修改一下会不会有问题?刚刚测试好像没什么问题 求理论

Select Case e.DataCol.Name
    Case "产品名称", "客户名称"
        If e.DataRow("产品名称") <> "" AndAlso e.DataRow("客户名称") <> "" Then
            Dim dr As DataRow = DataTables("特殊价格表").Find("特殊客户 = \'" & e.DataRow("客户名称") & "\' And 特殊品种 = \'" & e.DataRow("产品名称") & "\'", "_Identify desc")
            If dr Is Nothing Then
                Dim pdr As DataRow =  e.DataRow.GetParentRow("产品表")
                Dim odr As DataRow =  e.DataRow.getparentrow("客户表")
                e.DataRow("单价") = pdr("价格") * odr("折扣")
            Else
                e.DataRow("单价") = dr("特殊单价")
            End If
        End If
End Select


--  作者:lin_hailun
--  发布时间:2012/9/21 17:33:00
--  
 嗯嗯,楼主高明...图片点击可在新窗口打开查看