以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- SQLGroupTableBuilder (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194915)
|
-- 作者:1234567
-- 发布时间:2025/2/6 8:23:00
-- SQLGroupTableBuilder
对后台数据进行分组统计时,统计的实工时间已分钟为单位,如何把分钟单位换算成小时单位。
b.Groups.AddDef("加工人") \'根据产品分组 b.Totals.AddDef("实工") \'对数量进行统计 b.Totals.AddExp("小时", "实工 / 60")
提示:统计错误,错误原因:输出别名‘金额’重复。
|
-- 作者:有点蓝
-- 发布时间:2025/2/6 8:46:00
--
麻烦贴出完整代码
|
-- 作者:1234567
-- 发布时间: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
|
-- 作者:有点蓝
-- 发布时间:2025/2/6 9:45:00
--
{工艺内容}是个查询表?
|
-- 作者:1234567
-- 发布时间:2025/2/6 12:06:00
--
工艺内容是主表
|
-- 作者:1234567
-- 发布时间:2025/2/6 12:10:00
--
此主题相关图片如下:1.png

[此贴子已经被作者于2025/2/6 12:14:14编辑过]
|
-- 作者:有点蓝
-- 发布时间:2025/2/6 13:28:00
--
1、关闭退出项目,删除项目所在的文件夹里的bin目录,然后重启项目试试。
2、数据库是access? Filter = "{工艺内容}.完成加工日期 >= #" & ymd1.value & "# And {工艺内容}.完成加工日期 <= #" & ymd2.value & "#" 改为 Filter = "完成加工日期 >= #" & ymd1.value & "# And 完成加工日期 <= #" & ymd2.value & "#"
|
-- 作者:1234567
-- 发布时间:2025/2/6 14:28:00
--
数据库是access,按7楼方法改正后,还是一样。没有b.Totals.AddExp("小时", "实工 / 60")这句代码时候,可生成统计表,工时是已以分钟为单位。
此主题相关图片如下:11 (2).png

|
-- 作者:y2287958
-- 发布时间:2025/2/6 14:29:00
--
上示例
|
-- 作者:1234567
-- 发布时间: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

|