Foxtable(狐表)用户栏目专家坐堂 → [求助]关于交叉表增加小计列(已解决)


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

主题:[求助]关于交叉表增加小计列(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]关于交叉表增加小计列(已解决)  发帖心情 Post By:2014/12/15 11:16:00 [显示全部帖子]

一段按钮代码,进行当月汇总,想每天增加一个小计列,对“类别”分组进行统计,代码应该如何修改,请各位老师指教,谢谢!!

Dim dw As String
Dim rq As Date
With RibbonTabs("设备管理").Groups("日期单位")
    dw = .Items("单位").Text
    rq = .Items("日期").Value
End With
Dim y As Integer = rq.Year '当年
Dim m As Integer = rq.Month '当月
Dim Days As Integer = Date.DaysInMonth(y,m)
Dim yc As Date = New Date(y,m,1)  '月初日期
Dim yd As Date = New Date(y,m,Days) '月底日期
With RibbonTabs("设备管理").Groups("日期单位")
    dw = .Items("单位").Text
    rq = .Items("日期").Value
End With
If dw = "" Then
    MessageBox.Show("请选择单位","提示")
    Return Nothing
End If
Dim sql As String
sql = "Select *,1 As 计数,1 As 小计 FROM {设备盘点明细} WHERE 盘点单位 = '" & dw & "' And 盘点日期 >= '"& yc &"' And 盘点日期 <= '"& yd &"'"
Dim b As New CrossTableBuilder("设备盘点汇总",sql,"MES")
b.HGroups.AddDef("盘点单位")
b.HGroups.AddDef("设备名称")
b.HGroups.AddDef("使用单位")
b.VGroups.AddDef("盘点日期",DateGroupEnum.None)
b.VGroups.AddDef("类别")
b.Totals.AddDef("计数")
b.VerticalTotal = True
b.Build()
MainTable = Tables("设备盘点汇总")

明细表截图


图片点击可在新窗口打开查看此主题相关图片如下:明细表截图.jpg
图片点击可在新窗口打开查看

汇总表截图


图片点击可在新窗口打开查看此主题相关图片如下:汇总截图.jpg
图片点击可在新窗口打开查看




[此贴子已经被作者于2014-12-15 18:22:41编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2014/12/15 12:15:00 [显示全部帖子]

谢谢甜老师的回复,案例上传,多谢指教!!

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



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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2014/12/15 16:50:00 [显示全部帖子]

谢谢甜老师的指教,按老师的方法,可以生成带小计的交叉表,但是能否将小计列向后移一列,请指教,谢谢!!
Dim sql As String
sql = "Select 盘点单位,设备名称,使用单位,盘点日期,类别,1 As 计数 FROM {设备盘点明细} WHERE 盘点单位 = '"& dw &"' And 盘点日期 >= '"& yc &"' And 盘点日期 <= '"& yd &"'union all Select 盘点单位,设备名称,使用单位,盘点日期,'小计',1 As 计数 FROM {设备盘点明细} WHERE 盘点单位 = '"& dw &"' And 盘点日期 >= '"& yc &"' And 盘点日期 <= '"& yd &"' group by 盘点单位,设备名称,使用单位,盘点日期"
Dim b As New CrossTableBuilder("设备盘点汇总",sql,"MES")
b.HGroups.AddDef("盘点单位")
b.HGroups.AddDef("设备名称")
b.HGroups.AddDef("使用单位")
b.VGroups.AddDef("盘点日期",DateGroupEnum.None)
b.VGroups.AddDef("类别")
b.Totals.AddDef("计数")
b.VerticalTotal = True
b.Build()


图片点击可在新窗口打开查看此主题相关图片如下:汇总截图2.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2014/12/15 18:26:00 [显示全部帖子]

谢谢甜老师的耐心帮助,问题解决,但是对《' '+类别+' '》代码的原理不甚理解,老师能够解释一下吗?谢谢!!


图片点击可在新窗口打开查看此主题相关图片如下:汇总截图3.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2014/12/15 19:09:00 [显示全部帖子]

有点搞明白了,谢谢甜老师的回复!!

 回到顶部