Foxtable(狐表)用户栏目专家坐堂 → 求教老师---关于日期和统计的问题


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

主题:求教老师---关于日期和统计的问题

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


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
求教老师---关于日期和统计的问题  发帖心情 Post By:2017/10/4 12:15:00 [显示全部帖子]

谢谢??

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


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
  发帖心情 Post By:2017/10/4 12:40:00 [显示全部帖子]

是这样的老师,向你问一声节日好。其次有这样的一个问题我想请教你,我有一个表A(列有:物料号码、日期、平均耗量。说明:物料号码有重复)。还有一个表B(列有:物料号码、平均耗用量。说明这个表中的物料号码是唯一的)我的想法是:通过A表对同一种物料号的耗用数量进行求和(数据 有重复),然后对该物料的所有记录进行查找(查出最早日期和最后日期)最后计算两个记录日期的天数,最后用耗用量除以日期间隔天数在乘以30得出一个月耗用数量。最终将平均耗量送人表B里的平均耗量里,请帮忙

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


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
  发帖心情 Post By:2017/10/4 14:52:00 [显示全部帖子]

老师:获得最小时间和最大时间,没有看明白,您再给讲一讲好吗

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


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
  发帖心情 Post By:2017/10/4 21:21:00 [显示全部帖子]

老师我实在不会了,怎么也弄不出来,我上传了数据表,你帮着弄一吧。就是在AA表里的数据查找出最大日期和最小日期,然后放到BB表里去。

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


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
  发帖心情 Post By:2017/10/4 21:22:00 [显示全部帖子]

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


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


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
  发帖心情 Post By:2017/10/5 7:52:00 [显示全部帖子]

老师,节后好!
如果我求表AA表里的每个物料号码的最早日期和最晚日期,求出后在BB表里显示,怎么做,请您细一点指导。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目9.table

[此贴子已经被作者于2017/10/5 7:53:24编辑过]

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


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
  发帖心情 Post By:2017/10/5 9:46:00 [显示全部帖子]

谢谢老师,这是我中秋收到的最好礼物。我的项目基本做完了。现在我将这次全代码上传如下,适合这个表的需求。


If e.DataCol.Name = "物料号码" Then ‘如果物料码发生变化
    If e.DataRow.IsNull("物料号码") Then '判断物料码是否为空
        e.DataRow("最早日期") = Nothing ’最早日期为空
        e.DataRow("最晚日期") = Nothing ‘最晚日期为空时不做运算。
    Else '如果上述列不为空
        e.DataRow("最早日期") = DataTables("AA").Compute("min(日期)","物料号码='" & e.DataRow("物料号码") & "'") 列:最早日期对于AA表里查找日期最早的。"物料号码='" & e.DataRow("物料号码)是指所有的物料号码。
        e.DataRow("最晚日期") = DataTables("AA").Compute("max(日期)","物料号码='" & e.DataRow("物料号码") & "'")
    
End If
End If

Select Case e.DataCol.Name
    Case "最早日期","最晚日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("最早日期") OrElse dr.IsNull("最晚日期") Then
            dr("天数") = Nothing
        Else
            Dim tp As TimeSpan = dr("最晚日期") - dr("最早日期") 
            dr("天数") = tp.TotalDays
        End If
End Select

 回到顶部