Foxtable(狐表)用户栏目专家坐堂 → 求大神祝我,数学高手


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

主题:求大神祝我,数学高手

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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 16:33:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:订单.png
图片点击可在新窗口打开查看
还是有平均数啊 ?
就不能再客户表里增加一列 就统计他的油款,或者 其他方式是,我觉得 定义单价赋值这种方式 不行,因为总有不是正好的数字
我们现实中的做法是 例如 杜芳这个客户,把他同一个【提货地点】的同一个品种的【实际提油数量】,同一个【品种】的和, 

然后查找杜芳这个客户所有对应【提货地点】,对应品种【品种】的订购数量总和,例如有5个儿这样订单,分别为100*5520,100*5530,100*5540,100*5550,100*5560

 例如,这个订购数量和是500,实际提油和是450,那么他的款项计算公式就是 100*5520+100*5530+100*5540+100*5550+【50】*5560,

是这样的  这样就不会出现刚才图片中高亮的部分问题啦 ,而且 钱数也准确
[此贴子已经被作者于2015/10/9 16:34:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/9 16:35:00 [只看该作者]

无语,看19楼

 回到顶部
帅哥哟,离线,有人找我吗?
litiemiao2016
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 16:37:00 [只看该作者]

你说是19楼?19楼是我发的啊 ,大红袍哥哥 别急,我有 点笨  给您添麻烦啦
[此贴子已经被作者于2015/10/9 16:38:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/9 16:39:00 [只看该作者]

18楼20楼。

 

金额就是要在明细那里计算啊。你要统计,就直接合计明细表的金额


 回到顶部
帅哥哟,离线,有人找我吗?
litiemiao2016
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 16:43:00 [只看该作者]

不是  大哥 你说的是在 增加一个金额列吗,我实际金额列是一个表达式列,,现在关键是 单价赋值不准确,这样 总价 和我人工算的不一致啊 。可以说的详细一点吗 ,我有点笨,望您理解
[此贴子已经被作者于2015/10/9 16:44:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/9 16:49:00 [只看该作者]

1、增加一个额金额列直接赋值;

 

2、单价的计算没错。


 回到顶部
帅哥哟,离线,有人找我吗?
litiemiao2016
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 16:53:00 [只看该作者]

Select Case e.DataCol.Name
    Case "客户名称", "提货地点", "提油数量", "品种", "实际提油数量"
        If e.DataRow.IsNull("客户名称") OrElse e.DataRow.IsNull("提货地点") OrElse e.DataRow.IsNull("实际提油数量") Then
            e.DataRow("单价") = Nothing
        Else
            Dim psum As Double = e.DataTable.Compute("sum(实际提油数量)", "_Identify < " & e.DataRow("_Identify") & " and 客户名称 = '" & e.DataRow("客户名称") & "' and 提货地点 = '" & e.DataRow("提货地点") & "' and 品种 = '" & e.DataRow("品种") & "'")
            Dim drs As List(Of DataRow) = DataTables("订单").Select("客户名称 = '" & e.DataRow("客户名称") & "' and 提货地点 = '" & e.DataRow("提货地点") & "' and 品种 = '" & e.DataRow("品种") & "'", "订单日期")
            Dim sum As Double = 0
            Dim zj As Double = 0
            Dim sl As Double = 0
            For i As Integer = 0 To drs.count - 1
                Dim dr = drs(i)
                sum += dr("数量")
                If sum >= psum Then
                    If sum - psum >= e.DataRow("实际提油数量") Then
                        e.DataRow("单价") = ((e.DataRow("实际提油数量")-sl) * dr("单价") + zj) / e.DataRow("实际提油数量")
                        Exit For
                    Else
                        Dim temp As Double = iif(sum-psum-sl<dr("数量"), sum-psum-sl, dr("数量"))
                        sl += temp
                        zj += temp * dr("单价")
                    End If
                End If
            Next
        End If
End Select
我按照你的方法 在提油明细表中增加了一个【金额】列  你这段代码 也没有关于这个金额列的字段,也没关系啊 

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/9 16:55:00 [只看该作者]

汗。

 

e.DataRow("单价") = ((e.DataRow("实际提油数量")-sl) * dr("单价") + zj) / e.DataRow("实际提油数量")

 

改成

 

e.DataRow("金额") = (e.DataRow("实际提油数量")-sl) * dr("单价") + zj


 回到顶部
总数 28 上一页 1 2 3