Foxtable(狐表)用户栏目专家坐堂 → 数据合并


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

主题:数据合并

帅哥哟,离线,有人找我吗?
透明人生
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2020/3/31 21:57:00 [只看该作者]

如果出现不止一个班级,筛选后出现这样(筛选掉的学科仍然还在):

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20200331215821.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/3/31 21:58:48编辑过]

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


加好友 发短信
等级:超级版主 帖子:106016 积分:539167 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/31 22:07:00 [只看该作者]

上传有问题的实例测试

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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2020/3/31 22:23:00 [只看该作者]


[此贴子已经被作者于2020/4/19 16:21:18编辑过]

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


加好友 发短信
等级:超级版主 帖子:106016 积分:539167 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/31 22:37:00 [只看该作者]

For Each dr1 As DataRow In DataTables("灵川中心表一").datarows

改为
For Each dr1 As DataRow In DataTables("灵川中心表一").Select(Tables("灵川中心表一").FIlter)

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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2020/3/31 23:10:00 [只看该作者]

老师,辛苦了,你真是太厉害了!
能不能把数据生成为以下格式,班级是根据原数据自动生成的,学科的下一行就跟着教师,在生成表格后,下面统计每位教师所教的哪几个学科及节数,如图。

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


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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2020/4/1 13:47:00 [只看该作者]

可以生成那样的表格不?

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


加好友 发短信
等级:超级版主 帖子:106016 积分:539167 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/1 14:08:00 [只看该作者]

同样的用法手工添加列即可

DataTables("课程表").DataCols.Add

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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2020/4/1 20:25:00 [只看该作者]

1、自动生成年级和班级有问题,运行的时候会不断提示星期几的几年几班已存在,行数越多,提示越多,好像是5的倍数。
2、一定确定后,列已生成,但会提示列不存在。
3、最后合并的数据的代码太多,一天两个年级就那么多,有没有简便的方法。
Dim b As New SQLGroupTableBuilder("课程表","中心表一")
b.C
b.FIlter = DataTables("中心表一").loadFIlter
If Tables("中心表一").FIlter > "" Then
    b.FIlter = IIF(b.FIlter > "", b.FIlter & " and ","") & Tables("中心表一").FIlter
End If
b.Groups.AddDef("学校")
b.Groups.AddDef("年级")
b.Groups.AddDef("班级")
b.Groups.AddDef("节序")
b.build()

MainTable = Tables("课程表")
Dim sr() As String = {"一","二","三","四","五"}
For Each s As String In sr
Dim nj() As String = {"一","二","三","四","五","六"}
For Each n As String In nj
For Each r As DataRow In DataTables("中心表一").Select(Tables("中心表一").FIlter)
 DataTables("课程表").DataCols.Add("星期" & s & "_" & r("年级") & "_" & r("班级"),Gettype(String),16)
Next
Next
Next
For Each dr1 As DataRow In DataTables("中心表一").Select(Tables("中心表一").FIlter)
    Dim dr2 As DataRow = DataTables("课程表").find("学校='" & dr1("学校") & "' and 年级='" & dr1("年级") & "' and 班级='" & dr1("班级") & "'and 节序='" & dr1("节序") & "'")
    If dr2 Is Nothing Then
        dr2 = DataTables("课程表").AddNew()
    End If
dr2("星期一_一年级_(1)") = dr2("星期一_一年级_(1)") + dr1("星期_一")
dr2("星期一_一年级_(2)") = dr2("星期一_一年级_(2)") + dr1("星期_一")
dr2("星期一_一年级_(3)") = dr2("星期一_一年级_(3)") + dr1("星期_一")
dr2("星期一_一年级_(4)") = dr2("星期一_一年级_(4)") + dr1("星期_一")
dr2("星期一_二年级_(1)") = dr2("星期一_二年级_(1)") + dr1("星期_一")
dr2("星期一_二年级_(2)") = dr2("星期一_二年级_(2)") + dr1("星期_一")
dr2("星期一_二年级_(3)") = dr2("星期一_二年级_(3)") + dr1("星期_一")
dr2("星期一_二年级_(4)") = dr2("星期一_二年级_(4)") + dr1("星期_一")
dr2("星期一_三年级_(1)") = dr2("星期一_三年级_(1)") + dr1("星期_一")
dr2("星期一_三年级_(2)") = dr2("星期一_三年级_(2)") + dr1("星期_一")
dr2("星期一_三年级_(3)") = dr2("星期一_三年级_(3)") + dr1("星期_一")
dr2("星期一_三年级_(4)") = dr2("星期一_三年级_(4)") + dr1("星期_一")
Next

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


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

Dim b As New SQLGroupTableBuilder("课程表","灵川中心表一")
b.ConnectionName = "城厢区灵川中心小学数据库"
b.FIlter = DataTables("灵川中心表一").loadFIlter
If Tables("灵川中心表一").FIlter > "" Then
    b.FIlter = IIF(b.FIlter > "", b.FIlter & " and ","") & Tables("灵川中心表一").FIlter
End If
b.Groups.AddDef("学校")
b.Groups.AddDef("节序")
b.build()


Tables("课程表").StopRedraw
Dim sr() As String = {"一","二","三","四","五"}
Dim nj() As String = {"一","二","三","四","五","六"}
Dim filter As String = Tables("灵川中心表一").FIlter
If filter > "" Then filter = filter & " And "
For Each s As String In sr
    For Each n As String In nj
        For i As Integer = 1 To 4
            DataTables("课程表").DataCols.Add("星期" & s & "_" & n & "年级_(" & i & ")",Gettype(String),16)
        Next
    Next
Next
For Each dr1 As DataRow In DataTables("灵川中心表一").Select(Tables("灵川中心表一").FIlter)
    Dim dr2 As DataRow = DataTables("课程表").find("学校='" & dr1("学校") & "' and 节序='" & dr1("节序") & "'")
    If dr2 Is Nothing Then
        dr2 = DataTables("课程表").AddNew()
    End If
    For Each s As String In sr
        dr2("星期" & s & "_" & dr1("年级") & "_" & dr1("班级")) = dr1("星期_" & s)
    Next
Next
Tables("课程表").ResumeRedraw

MainTable = Tables("课程表")

[此贴子已经被作者于2020/4/2 10:54:46编辑过]

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


加好友 发短信
等级:童狐 帖子:223 积分:1732 威望:0 精华:0 注册:2019/10/19 23:00:00
  发帖心情 Post By:2020/4/2 16:08:00 [只看该作者]

谢谢老师!但还需要完善。
1、现在是每个年级都固定了4个班级,但实际每个年级的班级数是不固定的。
2、学科的老师生成在学科相对应的下一行,这个代码要怎么写。


 回到顶部
总数 82 上一页 1 2 3 4 5 6 7 8 9 下一页