Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
nuoyan89 发表于: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楼
有点蓝 发表于:2024/7/19 12:10:00
请上传实例说明
3楼
nuoyan89 发表于:2024/7/21 11:23:00
老师,请帮忙看看,谢谢!操作步骤:窗口管理 -- 刀具归还确认 ,打开窗口后,点击窗口表中“寿命计算”按钮,需要在工序跟踪表中按照时间段统计“合格品”的和,把结果对应的填充的计划领用刀具表的加工数量列中。代码从18行开始。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


4楼
有点蓝 发表于:2024/7/21 20:16:00
这种没有办法使用分组统计处理。只能是遍历窗口表所有行,逐行使用SQLCompute统计。

甚至都没有办法直接使用sql进行分组统计,因为有很多重复的行
5楼
nuoyan89 发表于:2024/7/21 21:52:00
工序跟踪表中是有很多一样的,所以需要要统计这个时间段的合格品总数量,只是那个扫描日期不知道怎么设置?比如: 2024-3-7 07:07 到 2024-03-06 05:58 这种时间段的合格品合计,因为这个时间段是变动的,所以不能设置为固定得
6楼
有点蓝 发表于:2024/7/21 22:10:00
和一楼的第一段代码的条件一样,把e.DataRow改为遍历的行就行
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01953 s, 3 queries.