Foxtable(狐表)用户栏目专家坐堂 → 带日期时分的数据引用


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

主题:带日期时分的数据引用

美女呀,离线,留言给我吧!
nuoyan89
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:486 积分:3366 威望:0 精华:0 注册:2020/10/9 8:45:00
带日期时分的数据引用  发帖心情 Post By:2024/7/19 11:58:00 [只看该作者]


老师,我现在有现使用代码如下,进行统计加工数量,我想用变更后代码这种代码方式统计,因为是 时间段(格式:datetime),不知道咋发操作了,请帮忙看看,谢谢!
现使用代码:
    Dim Filter As String = "[生产批次] = '" & e.DataRow("生产批次") & "' and [加工工序] = '" & e.DataRow("加工工序") & "' and [加工次数] = '" & e.DataRow("加工次数") & "' and [使用设备] = '" & e.DataRow("使用设备")& "' and [配刀单号] = '" & e.DataRow("配刀单号")& "'and [扫描日期] < ='" & e.DataRow("还刀日期")& "'and [扫描日期] >= '" & e.DataRow("实际领刀日期") & "'"
    e.DataRow("加工数量") = DataTables("工序跟踪表").SQLCompute("Sum(合格品)", Filter)

变更后代码:
Dim sql1 As String = "Sel ect * from 工序跟踪表 as a1 where exists(s elect * from 计划领用刀具 as b1 where " & Forms("刀具归还确认").controls("计划明细").Table.DataTable.LoadFilter & " And a1.生产批次 = b1.生产批次 And  a1.加工次数 = b1.加工次数 And  a1.配刀单号 = b1.配刀单号 And a1.使用设备 = b1.使用设备 And a1.加工工序 = b1.加工工序)" 
Dim b1 As New GroupTableBuilder("统计表", sql1, "条码扫描系统数据库")
b1.Groups.AddDef("扫描日期", DateGroupEnum.Minute)
b1.Groups.AddDef("生产批次") '根据产品分组
b1.Groups.AddDef("加工次数") '根据产品分组
b1.Groups.AddDef("使用设备") '根据产品分组
b1.Groups.AddDef("配刀单号") '根据产品分组
b1.Groups.AddDef("加工工序") '根据产品分组
b1.Totals.AddDef("合格品") '添加数量列用于统计
Dim dt1 As DataTable = b1.Build(True)
Dim dr2 As DataRow
For Each dr3 As Row In Tables("刀具归还确认_计划明细").Rows
    dr2 = dt1.find("生产批次 = '" & dr3("生产批次") & "' and 加工工序 = '" & dr3("加工工序") & "' and 加工次数 = '" & dr3("加工次数") & "' and 使用设备 = '" & dr3("使用设备") & "' and 配刀单号 = '" & dr3("配刀单号") & "'")
    If dr2 IsNot Nothing And dr3("加工数量") = Nothing Then
        dr3("加工数量") = dr2("合格品")
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:109200 积分:555620 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/19 12:10:00 [只看该作者]

请上传实例说明

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:486 积分:3366 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2024/7/21 11:23:00 [只看该作者]

老师,请帮忙看看,谢谢!操作步骤:窗口管理 -- 刀具归还确认 ,打开窗口后,点击窗口表中“寿命计算”按钮,需要在工序跟踪表中按照时间段统计“合格品”的和,把结果对应的填充的计划领用刀具表的加工数量列中。代码从18行开始。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar



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


加好友 发短信
等级:超级版主 帖子:109200 积分:555620 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/21 20:16:00 [只看该作者]

这种没有办法使用分组统计处理。只能是遍历窗口表所有行,逐行使用SQLCompute统计。

甚至都没有办法直接使用sql进行分组统计,因为有很多重复的行

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:486 积分:3366 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2024/7/21 21:52:00 [只看该作者]

工序跟踪表中是有很多一样的,所以需要要统计这个时间段的合格品总数量,只是那个扫描日期不知道怎么设置?比如: 2024-3-7 07:07 到 2024-03-06 05:58 这种时间段的合格品合计,因为这个时间段是变动的,所以不能设置为固定得

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


加好友 发短信
等级:超级版主 帖子:109200 积分:555620 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/21 22:10:00 [只看该作者]

和一楼的第一段代码的条件一样,把e.DataRow改为遍历的行就行

 回到顶部