标题:如何做课程安排表的报表?
只看楼主
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
结帖率:54.55%
已结贴  问题点数:20 回复次数:16 
如何做课程安排表的报表?
通过查询得到临时表,如附件所示。请教如何做课程表的报表,将临时表数据进行打印?或者调用EXCEL模板进行打印。
附件.rar (22.27 KB)


[此贴子已经被作者于2018-5-27 00:40编辑过]

搜索更多相关主题的帖子: 课程 报表 临时表 打印 调用 
2018-05-27 00:28
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
合并写入word单元格即可完成,搜索一下本版,有类似示例的哈。
2018-05-27 06:42
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
合并写入word单元格即可完成,搜索一下本版,有类似示例的哈。
2018-05-27 06:42
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:565
专家分:1668
注 册:2017-7-16
得分:0 
就一张课程表么,你就用EXCEL输入能够解决了。
2018-05-27 07:07
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:0 
我也在想这个事儿……好像很难的


前些时日,“王咸美”发的一些打课表的帖子,都是VF输出到WORD版的课表上来解决的。



VFP报表,是在报表中做好一行,对应DBF的记录。而打印教师课表是报表的不同位置对应的有可能是DBF的同一行。所以难

我能想到的办法是,一张课表有5*6 或5*7 或5*8 个格子,一个格子一个变量,也就最多40个变量,一个班课表是一行记录,把一行记录的每个字段依次赋值给40个变量,那么一个班的课表就出来了。一个教师的课表就是一行记录中有课的值赋给变量,无课的让变量为空,报表那里空的位置就不打印内容了,估计一张教师的课表就成了。


问题是为了一张课表,设那么多变量好吗?其他更好的方法是什么呢?(WORD 、EXCEL例外)




只求每天有一丁点儿的进步就可以了
2018-05-27 08:38
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
得分:0 
报表自动生成三行数据行,分别对应节次12,34,56。一门课一条记录如何定位到报表。
2018-05-27 10:13
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
以下是引用yafengliang在2018-5-27 10:13:22的发言:

报表自动生成三行数据行,分别对应节次12,34,56。一门课一条记录如何定位到报表。

数据用上面的格式,很简单就能用VFP报表做出来。
* 方法1:直接用星期做字段,好处,直接查询后就可以
create cursor 课程表(节次 I,星期一 C(30),星期二 C(30),星期三 C(30),星期四 C(30),星期五 C(30),星期六 C(30),星期日 C(30),备注 C(250))
insert into 课程表 values(1,"语文","数学","英语","体育","语文","","","")
insert into 课程表 values(2,"数学","语文","数学","英语","语文","","","")

* 方法2:
create cursor 课程表(节次 I,课程 C(30),星期 C(20),班级ID I,备注 C(250))
insert into 课程表 values(1,"语文","星期一",1001,"1001班课程表")
insert into 课程表 values(1,"语文","星期二",1001,"1001班课程表")
insert into 课程表 values(1,"语文","星期三",1001,"1001班课程表")
insert into 课程表 values(1,"数学","星期四",1001,"1001班课程表")
insert into 课程表 values(1,"数学","星期五",1001,"1001班课程表")
insert into 课程表 values(2,"英语","星期一",1001,"1001班课程表")
insert into 课程表 values(2,"英语","星期二",1001,"1001班课程表")
insert into 课程表 values(2,"英语","星期三",1001,"1001班课程表")
insert into 课程表 values(2,"物理","星期四",1001,"1001班课程表")
insert into 课程表 values(2,"物理","星期五",1001,"1001班课程表")

* 打印前 ,先转换,只打印 1001 班级的课程表
n班级=1001

SELECT T0.节次,T1.星期一,T2.星期二,T3.星期三,T4.星期四,T5.星期五,T6.星期六,T7.星期日 ;
FROM (SELECT DISTINCT 节次,班级ID FROM 课程表) as T0 ;
LEFT JOIN (SELECT 课程 as 星期一,节次,班级ID FROM 课程表 WHERE ALLTRIM(星期)="星期一") as T1 ;
     ON T0.班级ID=T1.班级ID AND T0.节次=T1.节次 ;
LEFT JOIN (SELECT 课程 as 星期二,节次,班级ID FROM 课程表 WHERE ALLTRIM(星期)="星期二") as T2 ;
     ON T0.班级ID=T2.班级ID AND T0.节次=T2.节次 ;
LEFT JOIN (SELECT 课程 as 星期三,节次,班级ID FROM 课程表 WHERE ALLTRIM(星期)="星期三") as T3 ;
     ON T0.班级ID=T3.班级ID AND T0.节次=T3.节次 ;
LEFT JOIN (SELECT 课程 as 星期四,节次,班级ID FROM 课程表 WHERE ALLTRIM(星期)="星期四") as T4 ;
     ON T0.班级ID=T4.班级ID AND T0.节次=T4.节次 ;
LEFT JOIN (SELECT 课程 as 星期五,节次,班级ID FROM 课程表 WHERE ALLTRIM(星期)="星期五") as T5 ;
     ON T0.班级ID=T5.班级ID AND T0.节次=T5.节次 ;
LEFT JOIN (SELECT 课程 as 星期六,节次,班级ID FROM 课程表 WHERE ALLTRIM(星期)="星期六") as T6 ;
     ON T0.班级ID=T5.班级ID AND T0.节次=T5.节次 ;   
LEFT JOIN (SELECT 课程 as 星期日,节次,班级ID FROM 课程表 WHERE ALLTRIM(星期)="星期日") as T7 ;
     ON T0.班级ID=T5.班级ID AND T0.节次=T5.节次 ;
WHERE T0.班级ID=n班级 ORDER BY T0.班级ID,T0.节次 INTO CURSOR TMP_课程表





2018-05-27 13:44
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
打印格式,数据都有了,剩下的报表就不难了。
前面2行在标题区,下面的内容在细节区
如果要多个班级一起打印,好像有个位置可以设置,可以每页都打印标题的

[此贴子已经被作者于2018-5-27 13:55编辑过]

2018-05-27 13:53
yafengliang
Rank: 2
等 级:论坛游民
帖 子:111
专家分:35
注 册:2016-2-21
得分:0 
非常谢谢!我来试下,有问题再请教!
2018-05-27 14:56
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
用EXCEL来打印更灵活些,用户可以进行美化加工,用VFP报表也完全可以做到,只是用户不能进行调整而已。

活到老,学到老! http://www. E-mail:hu-jj@
2018-05-27 16:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487310-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.364955 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved