Foxtable(狐表)用户栏目专家坐堂 → [求助]如何将“学生成绩库”中每名学生的平时、期末、总评各科成绩等级分别输出到excel报表中相应单元格?


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

主题:[求助]如何将“学生成绩库”中每名学生的平时、期末、总评各科成绩等级分别输出到excel报表中相应单元格?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/5 22:28:00 [只看该作者]

 生成查询表应该这样写代码才对的。


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


加好友 发短信
等级:四尾狐 帖子:803 积分:10775 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2014/1/5 22:44:00 [只看该作者]

数据库是外部数据源,远程的 ,无法提供, 上面的代码用在 内部表正常

 


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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/5 23:03:00 [只看该作者]

 没理由内部表可以,外部就不行吧?查询表的fill应该改成true才对的哦。

Dim A As String = Forms("成绩等级打印").Controls("ComboBox0").text
Dim B As String = Forms("成绩等级打印").Controls("ComboBox1").text
Dim D As String = Forms("成绩等级打印").Controls("ComboBox2").text
DataTables("成绩等级表").Fill("Select * from (Select * from (Select * from {学生成绩库} where 考试名称 = '" & A & "') 平时 inner join (Select * from {学生成绩库} where 考试名称 = '" & B & "') 期末 on 平时.身份证号 = 期末.身份证号) c inner join (Select * from {学生成绩库} where 考试名称 = '" & D & "') 总评 on c.平时.身份证号 = 总评.身份证号","网站数据库", true)
MainTable = Tables("成绩等级表")
MessageBox.Show("成绩等级表已生成!")

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10775 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2014/1/6 12:58:00 [只看该作者]

以下是引用有点甜在2014-1-5 23:03:00的发言:
 没理由内部表可以,外部就不行吧?查询表的fill应该改成true才对的哦。

Dim A As String = Forms("成绩等级打印").Controls("ComboBox0").text
Dim B As String = Forms("成绩等级打印").Controls("ComboBox1").text
Dim D As String = Forms("成绩等级打印").Controls("ComboBox2").text
DataTables("成绩等级表").Fill("Select * from (Select * from (Select * from {学生成绩库} where 考试名称 = '" & A & "') 平时 inner join (Select * from {学生成绩库} where 考试名称 = '" & B & "') 期末 on 平时.身份证号 = 期末.身份证号) c inner join (Select * from {学生成绩库} where 考试名称 = '" & D & "') 总评 on c.平时.身份证号 = 总评.身份证号","网站数据库", true)
MainTable = Tables("成绩等级表")

MessageBox.Show("成绩等级表已生成!")

 

搞了个例子,窗口里两个按钮分别打开内部和外部数据,代码一样,麻烦看看代码错在哪儿?谢谢!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成绩等级.table

[此贴子已经被作者于2014-1-6 12:59:35编辑过]

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10775 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2014/1/6 14:52:00 [只看该作者]

麻烦BIN  有点甜 看看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/6 15:11:00 [只看该作者]

MSSQL不会自动重命名,这样就比较麻烦了,你需要手动重命名.

例如 select 列1 as 平时.列1 form XXX  平时

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10775 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2014/1/6 15:15:00 [只看该作者]

代码怎样改才简单一些,原表列数太多 谢谢

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10775 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2014/1/6 20:31:00 [只看该作者]

现在采用的折衷的方法是把需要的数据用代码复制到一个内部临时表,再对这个临时表进行查询

 回到顶部
总数 18 上一页 1 2