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


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

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

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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
求大神祝我,数学高手  发帖心情 Post By:2015/10/9 8:02:00 [显示全部帖子]

订单表包含 日期 客户名称 品种 订购数量 单价 金额 地点

订单明细表包含  日期 客户名称 品种 数量 地点

订单统计表包含  客户名称 地点 合计数量  总价

就是关于这个订单统计表  我 不会做 或者说没有太好的思路,

这个订单统计要统计  订单明细表中【合计数量】=同一个客户,同一个地点的 数量累计,例如这个值等于Y,【总价】=订单表中这个【客户名称】、这个【地点】的所有订单【订购数量】,然后将这些符合条件的行按照日期的升序排列,例如
符合条件的行有3条,他们的【订购数量】的值为分别为X1,X2,X3,那么就用订单明细表中Y-X1-X2-X3,如果够减去X1,那么就将X1所在的订单表中的金额累计到订单统计表中【总价】中,如果够减X1,还有余数,但是不够减去X2,那么就用X2所在的订单表中的【单价 】乘以 这个余数,将这个值在累计后放入订单统计表中【总价】列中,以此类推,我 需要怎么做呢,或者思路应该是什么样的。
我现在做法是吧所有的未知数定义一个变量,太麻烦了 而且算的还不准 

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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 10:15:00 [显示全部帖子]

我把项目上传给你 帮我看下吧
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 10:57:00 [显示全部帖子]

不是 明细表金额列里的单价 是我自己手动填写的  不是这样作  因为单价是从订单表里来得  这样我不需要一个恶一个查吗 就按我说的那样计算

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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 12:12:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "客户名称", "提货地点", "提油数量"
        If 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("提货地点") & "'")
            Dim drs As List(Of DataRow) = DataTables("订单").Select("客户名称 = '" & e.DataRow("客户名称") & "' and 提货地点 = '" & e.DataRow("提货地点") & "'", "订单日期")
            Dim sum As Double = 0
            For Each dr As DataRow In  drs
                If sum < psum Then
                    sum += psum
                Else
                    e.DataRow("单价") = dr("单价")
                    Exit For
                End If
            Next
        End If
End Select
大哥这段代码 在条件除了客户名称,提油数量还需要加个品种
还有就是图片中那个秦皇岛九三的为什么只有一个行有单价而另一行没有呢
[此贴子已经被作者于2015/10/9 12:16:27编辑过]

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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 12:23:00 [显示全部帖子]

还有大红袍哥哥  这段代码计算不对啊 
图片点击可在新窗口打开查看此主题相关图片如下:共计.png
图片点击可在新窗口打开查看
图片右侧是订单表  杜芳 订购 铁岭九三的一共为2个订单,分别是160和200,订单明细中 该合同一共有行,(图片左侧),4车的提油总数为160,根据第一个订单中 应该单价是5470而不是5570
另外刚才少说了一个条件 还得区别品种,,因为一级 和 三级是不同的

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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 12:50:00 [显示全部帖子]

大红袍哥哥,你这个数量是按照【提油数量】来计算的,他们都是整数,我如果按照【实际提油数量】来计算,带小数点 可以吗 ,是不是就把代码中【提油数量】替换为【实际提油数量】就可以呢

其实 我觉得你这种在订单明细表中计算单价的方式有误,  如果 这个订单为200吨,单价5450, 这个订单明细中 分别为100,80,30  这三个数量,,那么 100的 单价是5450,80的单价是5450,那个30的 
只有其中20是5450,而剩下的10又是一个单价了,,这种问题 你这段代码好像解决不了吧
[此贴子已经被作者于2015/10/9 12:54:06编辑过]

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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 16:08:00 [显示全部帖子]

大红袍哥哥  你看看我的截图,你这个其实也对,关键就是图片高亮的部分 电脑好像取得类似与平均数之类的,,在 现实中这样算是不对的  所以 能不能单独做一个表,或者 在客户表加一个列 【客户油款】,用来记录每个客户的油款,因为 我们现实中的做法是 例如 杜芳这个客户,把他同一个【提货地点】的同一个品种的【实际提油数量】,同一个【品种】的和, 然后查找杜芳这个客户所有对应【提货地点】,对应品种【品种】的订购数量总和,例如有5个儿这样订单,分别为100*5520,100*5530,100*5540,100*5550,100*5560 例如,这个订购数量和是500,实际提油和是450,那么他的款项计算公式就是 100*5520+100*5530+100*5540+100*5550+【50】*5560,是这样的  这样就不会出现刚才图片中高亮的部分问题啦 ,而且 钱数也准确
图片点击可在新窗口打开查看此主题相关图片如下:uuu.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 16:19:00 [显示全部帖子]

代码是怎样的呢,那我还需要实际金额这一列吗

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


加好友 发短信
等级:婴狐 帖子:46 积分:355 威望:0 精华:0 注册:2015/9/21 20:43:00
  发帖心情 Post By:2015/10/9 16:23:00 [显示全部帖子]

这还需要增加一个金额列吗?

 回到顶部
帅哥哟,离线,有人找我吗?
litiemiao2016
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
总数 14 1 2 下一页