Foxtable(狐表)用户栏目专家坐堂 → SQLGroupTableBuilder


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

主题:SQLGroupTableBuilder

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


加好友 发短信
等级:四尾狐 帖子:850 积分:6650 威望:0 精华:0 注册:2013/2/18 17:46:00
SQLGroupTableBuilder  发帖心情 Post By:2025/2/6 8:23:00 [只看该作者]

对后台数据进行分组统计时,统计的实工时间已分钟为单位,如何把分钟单位换算成小时单位。

b.Groups.AddDef("加工人") '根据产品分组
b.Totals.AddDef("实工") '对数量进行统计
b.Totals.AddExp("小时", "实工 / 60") 

提示:统计错误,错误原因:输出别名‘金额’重复。


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/2/6 8:46:00 [只看该作者]

麻烦贴出完整代码

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


加好友 发短信
等级:四尾狐 帖子:850 积分:6650 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2025/2/6 9:24:00 [只看该作者]

For Each dt As DataTable In DataTables
    dt.Save()
Next
Dim Filter As String
Dim b As New SQLGroupTableBuilder("完成工时统计", "工艺内容")
b.C
Dim ymd1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker03")
Dim ymd2 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker04")
If ymd1.Value IsNot Nothing AndAlso ymd2.Value IsNot Nothing Then
    Filter = "{工艺内容}.完成加工日期 >=  #" & ymd1.value & "# And {工艺内容}.完成加工日期 <= #" & ymd2.value & "#"
    If Filter > "" Then
        b.Filter = Filter
    End If
End If
b.Groups.AddDef("加工人") '根据产品分组
b.Totals.AddDef("实工") '对数量进行统计
b.Totals.AddExp("小时", "实工 / 60")
b.Build '生成统计表
Maintable = Tables("完成工时统计") '打开生成的统计表
If b.Filter <> Nothing Then
    b.Build()
    Dim Book As New XLS.Book(ProjectPath & "Attachments\完成工时统计.xls")
    Dim fl As String = ProjectPath & "Reports\完成工时统计\完成工时统计-" & "-" & Date.Today & ".xls"
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Book.Build() '生成报表
    Book.Save(fl)
    Dim Proc As New Process
    Proc.File = fl
    Proc.Start()
End If

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/2/6 9:45:00 [只看该作者]

{工艺内容}是个查询表?

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


加好友 发短信
等级:四尾狐 帖子:850 积分:6650 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2025/2/6 12:06:00 [只看该作者]

工艺内容是主表


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


加好友 发短信
等级:四尾狐 帖子:850 积分:6650 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2025/2/6 12:10:00 [只看该作者]

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2025/2/6 12:14:14编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/2/6 13:28:00 [只看该作者]

1、关闭退出项目,删除项目所在的文件夹里的bin目录,然后重启项目试试。

2、数据库是access?
Filter = "{工艺内容}.完成加工日期 >=  #" & ymd1.value & "# And {工艺内容}.完成加工日期 <= #" & ymd2.value & "#"
改为
Filter = "完成加工日期 >=  #" & ymd1.value & "# And 完成加工日期 <= #" & ymd2.value & "#"

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


加好友 发短信
等级:四尾狐 帖子:850 积分:6650 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2025/2/6 14:28:00 [只看该作者]

数据库是access,按7楼方法改正后,还是一样。没有b.Totals.AddExp("小时", "实工 / 60")这句代码时候,可生成统计表,工时是已以分钟为单位。
图片点击可在新窗口打开查看此主题相关图片如下:11 (2).png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:狐神 帖子:4840 积分:35094 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2025/2/6 14:29:00 [只看该作者]

上示例

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


加好友 发短信
等级:四尾狐 帖子:850 积分:6650 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2025/2/6 14:29:00 [只看该作者]

For Each dt As DataTable In DataTables
    dt.Save()
Next
Dim Filter As String
Dim b As New SQLGroupTableBuilder("完成工时统计", "工艺内容")
b.C
Dim ymd1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker03")
Dim ymd2 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker04")
If ymd1.Value IsNot Nothing AndAlso ymd2.Value IsNot Nothing Then
   Filter = "完成加工日期 >=  #" & ymd1.value & "# And 完成加工日期 <= #" & ymd2.value & "#"
    If Filter > "" Then
        b.Filter = Filter
    End If
End If
b.Groups.AddDef("加工人") '根据产品分组
b.Totals.AddDef("实工") '对数量进行统计
b.Totals.AddExp("小时", "实工 / 60")
b.Build '生成统计表
Maintable = Tables("完成工时统计") '打开生成的统计表
If b.Filter <> Nothing Then
    b.Build()
    Dim Book As New XLS.Book(ProjectPath & "Attachments\完成工时统计.xls")
    Dim fl As String = ProjectPath & "Reports\完成工时统计\完成工时统计-" & "-" & Date.Today & ".xls"
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Book.Build() '生成报表
    Book.Save(fl)
    Dim Proc As New Process
    Proc.File = fl
    Proc.Start()
End If


图片点击可在新窗口打开查看此主题相关图片如下:11 (1).png
图片点击可在新窗口打开查看

 回到顶部
总数 23 1 2 3 下一页