| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 737 人关注过本帖
标题:多表数据查询统计生成每个教师课时总量表文件
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:744
专家分:3
注 册:2018-1-4
结帖率:97.78%
收藏
已结贴  问题点数:20 回复次数:13 
多表数据查询统计生成每个教师课时总量表文件
现有各班教师任课表jsrkb20190101.dbf、课时计划表ksjh.dbf、学科系数表xkxs.dbf、各班生数表gbss.dbf。由这四个表生成每个教师课时总量表文件kszl.dbf,包含字段:序号 I,姓名  c(6),具体课务 c(150),总课时 n (4),课时总量 n(5,2)
学科课时量=班级生数系数*学科系数*每个学科课时数
课时总量等于每个人任教各学科课时量总和
班级生数系数以45人为标准系数1,每增加或减少1人,增加或减少0.02,以些类推。
以上设想能否实现?请高手赐教,万分感谢!!!
xkxs.rar (345.06 KB)

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2025-4-23 12:17编辑过]

3 天前 09:56
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1984
专家分:3925
注 册:2012-2-29
收藏
得分:0 
回复 楼主 王咸美
不是是否是这个意思?
图片附件: 游客没有浏览图片的权限,请 登录注册

kszl.rar (2.92 KB)
3 天前 13:20
王咸美
Rank: 1
等 级:新手上路
帖 子:744
专家分:3
注 册:2018-1-4
收藏
得分:0 
首先表示感谢! 不是这个意思。
结果样式如下:
序号   姓名     具体课务               总课时    课时总量
1     曹文亮   一(2)美术,四(3)品社    4        4.28

[此贴子已经被作者于2025-4-23 14:09编辑过]

3 天前 13:53
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1984
专家分:3925
注 册:2012-2-29
收藏
得分:6 
回复 3楼 王咸美
有前表,转化为后表就不复杂啦,是这样的?
图片附件: 游客没有浏览图片的权限,请 登录注册



[此贴子已经被作者于2025-4-23 20:10编辑过]

3 天前 16:43
王咸美
Rank: 1
等 级:新手上路
帖 子:744
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢!但不够准确,有不少人课务漏了。

[此贴子已经被作者于2025-4-23 17:12编辑过]

3 天前 17:03
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1984
专家分:3925
注 册:2012-2-29
收藏
得分:0 
回复 5楼 王咸美
仅测试了一下,确定格式正确后,连接对应数据即可,不知这下理解对了没
若不对的话,不纠结这个啦,请你修改咯
图片附件: 游客没有浏览图片的权限,请 登录注册

kszl_新2.rar (2.78 KB)





[此贴子已经被作者于2025-4-23 20:12编辑过]

3 天前 20:10
王咸美
Rank: 1
等 级:新手上路
帖 子:744
专家分:3
注 册:2018-1-4
收藏
得分:0 
衷心感谢你的付出!验证了前两位老师,对的!能提供具体代码供学习吗?
3 天前 21:21
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2287
专家分:4114
注 册:2007-4-27
收藏
得分:14 
教师工作量计算.rar (3.49 KB)

***************
* 问题来源:https://bbs.bc-cn.net/thread-514284-1-1.html
* 规则:现有课务分工表kwfg.dbf、课时计划表ksjh.dbf、学科系数表xkxs.dbf、各班生数表gbrs.dbf。
*       由这四个表生成每个教师课时总量表文件kszl.dbf,包含字段:序号 I,姓名  c(6),具体课务 c(150),总课时 n (4),课时总量 n(5,2)
*       学科课时量=班级生数系数*学科系数*每个学科课时数
*       课时总量等于每个人任教各学科课时量总和
*       班级生数系数以45人为标准系数1,每增加或减少1人,增加或减少0.02,以些类推。
*       以上设想能否实现?请高手赐教,万分感谢!!!
* 思路:
*
* 时间:2025-4-24 星期四
***************
     CLEAR
     CLEAR ALL
     SET SAFETY off
     SET engi 70
     SET CPCOMPILE TO 936 &&&
     CLOSE DATABASES      
     CREATE TABLE gzlmx(xm c(6),nj c(6),bj c(7),xsrs n(3),xsxs n(4,2),km c(6),rkjs n(2),ksxs n(4,1),kszl n(6,2))
     CLOSE DATABASES
     USE gzlmx alia mx
     SELECT 0
     USE gbrs alia rs
     SELECT 0
     USE kwfg alia kw
     SELECT 0
     USE xkxs alia xk
     SELECT 0
     USE ksjh alia jh
     SELECT kw
     zds=FCOUNT()
     FOR i=3 to zds
       GO top
       SCAN
         zdm=FIELD(i)
         SELECT mx
         APPEND BLANK
         REPLACE mx.xm with EVALUATE([kw.]+zdm)
         REPLACE mx.nj with kw.nj
         REPLACE mx.bj with kw.bj
         REPLACE mx.km with zdm
         SELECT kw
       ENDSCAN
     ENDFOR
     SELECT mx
     DELETE FOR EMPTY(xm)
     PACK
     *---
     SELECT mx
     GO top
     SCAN
       kmmc=ALLTRIM(mx.km)
       SELECT rs
       LOCATE for rs.nj=mx.nj and rs.bj=mx.bj
       IF FOUND()
         REPLACE mx.xsrs with rs.生数
       ENDIF
       SELECT jh
       LOCATE for jh.nj=mx.nj
       IF FOUND()
         REPLACE mx.rkjs with EVALUATE([jh.]+kmmc)
       ENDIF
       SELECT xk
       LOCATE for xk.nj=mx.nj
       IF FOUND()
         REPLACE mx.ksxs with EVALUATE([xk.]+kmmc)
       ENDIF
       SELECT mx
     ENDSCAN
     *---
     SELECT mx
     REPLACE xsxs with 1+(xsrs-45)*0.02 all
     REPLACE kszl with xsxs*rkjs*ksxs all
     *---
     CLOSE DATABASES
     SELECT xm,SPACE(200) as kwmc,sum(rkjs) as zks,sum(kszl) as zksl from gzlmx grou by xm into table kszl
     CLOSE DATABASES
     USE kszl alia bmk      
     SELECT 0
     USE gzlmx alia kg
     SELECT bmk
     SCAN
       _xm=ALLTRIM(bmk.xm)
       _rjkw=""
       SELECT kg
       GO top
       SCAN
         IF ALLTRIM(kg.xm)=_xm
           _rjkw=_rjkw+kg.nj+kg.bj+ALLTRIM(kg.km)+[;]
         ENDIF
         SELECT kg
       ENDSCAN
       SELECT bmk
       REPLACE bmk.kwmc with _rjkw      
     ENDSCAN
     MESSAGEBOX('教师课时工作量统计完成 !',64,'提示:')
     CLOSE DATABASES
     QUIT

写不出更简的,仅供王老师参考 !

只求每天有一丁点儿的进步就可以了
前天 10:55
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2287
专家分:4114
注 册:2007-4-27
收藏
得分:0 
补一下思路:

       第一步将课务分工表中的每一个教师姓名转为一条记录,同一教师任多少个班(课)就有多少条记录;

       第二步提取教师所任课的节数和所在班的学生人数,按规则计算出课时量;

       第三步进行分类汇总,按教师合计课时量,再将所任的学科内容转换为一单元格的内容进行记录;

只求每天有一丁点儿的进步就可以了
前天 11:06
王咸美
Rank: 1
等 级:新手上路
帖 子:744
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢!非常感谢!!!
前天 11:11
快速回复:多表数据查询统计生成每个教师课时总量表文件
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022241 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved