Foxtable(狐表)用户栏目专家坐堂 → 执行窗口命令后不能保存?


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

主题:执行窗口命令后不能保存?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/9 14:54:00 [只看该作者]

直接用高速导入的菜单,能否导入表格?

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


加好友 发短信
等级:幼狐 帖子:52 积分:537 威望:0 精华:0 注册:2016/3/24 11:13:00
  发帖心情 Post By:2016/5/9 15:00:00 [只看该作者]

哦,我的桌面进行了移动,文件地址改成“I:\office\成绩总表1.xls“就可以导入了,但导入后的表,多层表头还是没有了,多层表头能保留吗?

 

 


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

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/9 15:01:00 [只看该作者]

 上传例子具体foxtable实例。


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


加好友 发短信
等级:幼狐 帖子:52 积分:537 威望:0 精华:0 注册:2016/3/24 11:13:00
  发帖心情 Post By:2016/5/9 15:05:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2017届学生管理.rar


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/9 15:35:00 [只看该作者]

代码这样写

 

Dim cs() As String ={"语文_高一","语文_高二","数学_高一","数学_高二","英语_高一","英语_高二","物理_高一","物理_高二","化学_高一","化学_高二","政治_高一","政治_高二","历史_高一","历史_高二","地理_高一","地理_高二","技术_高一","技术_高二","生物_高二","总分"}
Dim t As Table = Tables("成绩总表")
Dim Builder As New ADOXBuilder
Builder.Open()
Dim tbl = builder.Tables("成绩总表")
For Each c As String In cs
    If t.DataTable.DataCols.Contains(c & "_班名")=False Then
        tbl.AddColumn(c & "_班名", ADOXType.Integer) '增加整数型列
       
    End If
    If t.DataTable.DataCols.Contains(c & "_校名")=False Then
        tbl.AddColumn(c & "_校名", ADOXType.Integer) '增加整数型列
    End If
    If t.DataTable.DataCols.Contains(c & "_等级")=False Then
        tbl.AddColumn(c & "_等级", ADOXType.Integer) '增加整数型列
    End If
    If t.DataTable.DataCols.Contains(c & "_分数")=False Then
        tbl.RenameColumn(c, c & "_分数")
    End If
Next
Builder.Close()
DataTables.unload("成绩总表")
DataTables.load("成绩总表")
t = Tables("成绩总表")
Dim idx As Integer = 3
For Each c As String In cs
    t.cols(c & "_分数").Move(idx)
    t.cols(c & "_分数").width = 40
    t.cols(c & "_班名").Move(idx+1)
    t.cols(c & "_校名").Move(idx+2)
    t.cols(c & "_等级").Move(idx+3)
    idx += 4
Next


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


加好友 发短信
等级:幼狐 帖子:52 积分:537 威望:0 精华:0 注册:2016/3/24 11:13:00
  发帖心情 Post By:2016/5/9 16:10:00 [只看该作者]

谢谢大红袍老师,我没测试,估计应该可以这样来动态增加列了。

另外:

1、您刚才试了吗,导入excel的方式是否确实不能保留多层表头?可能是我的表头有三层,太过复杂了

 

2、目前项目中”成绩总表“只含有高一、高二两个成绩,如果以后还需要增加多个成绩,如高三成绩、期中成绩等,目的是为了统计各个班每次考试排名、等级、平均分等信息,那是把所有成绩合并到”成绩总表“中还是每次成绩单独一个表,然后来构建跨表查询好?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/9 16:12:00 [只看该作者]

1、本来就不支持;

 

2、成绩总表,当然是查询表比较好。


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


加好友 发短信
等级:幼狐 帖子:52 积分:537 威望:0 精华:0 注册:2016/3/24 11:13:00
  发帖心情 Post By:2016/5/9 19:07:00 [只看该作者]

执行代码

Dim cs() As String ={"语文_高一","语文_高二","数学_高一","数学_高二","英语_高一","英语_高二","物理_高一","物理_高二","化学_高一","化学_高二","政治_高一","政治_高二","历史_高一","历史_高二","地理_高一","地理_高二","技术_高一","技术_高二","生物_高二","总分"}
Dim t As Table = Tables("成绩总表")
Dim Builder As New ADOXBuilder
Builder.Open()
Dim tbl = builder.Tables("成绩总表")
For Each c As String In cs
    If t.DataTable.DataCols.Contains(c & "_班名")=False Then
        tbl.AddColumn(c & "_班名", ADOXType.Integer) '增加整数型列
       
    End If
    If t.DataTable.DataCols.Contains(c & "_校名")=False Then
        tbl.AddColumn(c & "_校名", ADOXType.Integer) '增加整数型列
    End If
    If t.DataTable.DataCols.Contains(c & "_等级")=False Then
        tbl.AddColumn(c & "_等级", ADOXType.Integer) '增加整数型列
    End If
    If t.DataTable.DataCols.Contains(c & "_分数")=False Then
        tbl.RenameColumn(c, c & "_分数")
    End If
Next
Builder.Close()
DataTables.unload("成绩总表")
DataTables.load("成绩总表")
t = Tables("成绩总表")
Dim idx As Integer = 3
For Each c As String In cs
    t.cols(c & "_分数").Move(idx)
    t.cols(c & "_分数").width = 40
    t.cols(c & "_班名").Move(idx+1)
    t.cols(c & "_校名").Move(idx+2)
    t.cols(c & "_等级").Move(idx+3)
    idx += 4
Next


 

出现如下提示:


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

[此贴子已经被作者于2016/5/9 19:07:37编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/9 19:44:00 [只看该作者]

就你的例子,我测试没问题

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


加好友 发短信
等级:幼狐 帖子:52 积分:537 威望:0 精华:0 注册:2016/3/24 11:13:00
  发帖心情 Post By:2016/5/10 16:10:00 [只看该作者]

谢谢大红袍老师。

 

为了统计每次考试的成绩情况,按您的思路应该把各次考试成绩合到“成绩总表”(不是临时表)中。现有两张数据表,“高一下期末”和“高二上期末”,要根据班级和姓名合到一张表中,我原来是两者建立关联后用表达式列把“高一下期末”添加到“高二上期末”中去的,如何用代码快速进行合并?

 

 高二上期末:


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

 

高一下期末: 


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

 

合并后字段:


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


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