Foxtable(狐表)用户栏目专家坐堂 → [求助]多表交叉统计 动态添加项


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

主题:[求助]多表交叉统计 动态添加项

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/13 12:16:00 [显示全部帖子]

 没看懂你想要做什么。你固定代码执行都有错啊。

 

 根据你的代码这样改

 

Dim b As New SQLCrossTableBuilder("统计表1","分析数据")
For Each s As String In c5.text.Split("|")
    b.AddTable("分析数据","公历年月日",s,"时间") '添加统计表
Next

For Each s As String In c6.text.Split("|")
    b.HGroups.AddDef(s) '添加列用于垂直分组
Next

For Each s As String In c7.text.Split("|")
    b.VGroups.AddDef(s) '添加列用于水平分组
Next
For Each s As String In c8.text.Split("|")
    b.Totals.AddDef(s) '添加列用于统计
Next

If e.Form.Controls("CheckBox1").Select = True Then   '水平方向生成汇总
    b.HorizontalTotal = True
End If

If e.Form.Controls("CheckBox2").Select = True Then   '垂直方向生成汇总
    b.VerticalTotal = True
End If

If e.Form.Controls("CheckBox3").Select = True Then   '自动生成汇总模式
    b.Subtotal = True
End If

'If e.Form.Controls("CheckBox4").Select = True Then
    ''记住所有
    'Dim ndr As DataRow = DataTables("表名").addnew
    'ndr("名称") = "默认"
    'ndr("表") = c5.text
    'ndr("水平分组") = c6.text
    'ndr("垂直分组") = c7.Text
'End If

b.Build '生成统计表
MainTable = Tables("统计表1") '打开生成的统计表
'Tables("统计_Table1").DataSource= b.BuildDataSource   '统计表放入指定窗口表


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/13 14:18:00 [显示全部帖子]

 是不是一开始你用交叉统计就是错的?你要做什么?固定的统计你怎么写?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/13 16:36:00 [显示全部帖子]

代码没有问题。添加分析表,不能勾选【分析数据】等表。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/13 16:38:00 [显示全部帖子]

记住条件那里,改成

 

If e.Form.Controls("CheckBox4").checked = True Then
    '记住所有
    Dim ndr As DataRow = DataTables("操作日志").addnew
    ndr("名称") = "默认"
    ndr("表") = e.Form.Controls("CheckedComboBox5").text
    ndr("水平分组") = e.Form.Controls("CheckedComboBox6").text
    ndr("垂直分组") = e.Form.Controls("CheckedComboBox7").Text
End If


 回到顶部