| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1728 人关注过本帖
标题:根据表文件生成每个人具体的课务分工,并统计每个人周课时节数
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:586
专家分:0
注 册:2018-1-4
结帖率:97.06%
收藏
已结贴  问题点数:20 回复次数:13 
根据表文件生成每个人具体的课务分工,并统计每个人周课时节数
现有各班各学科教师任课表文件(jsrkb20190201.dbf)和各年级周课时计划表文件(ksjh.dbf)。
我想根据以上两个文件生成 课务分工.txt文件。由于是新手,对编程是门外汉,还请各位高手不吝赐教,万分感谢!!!
课务分工.rar (1.68 KB)


课务分工.txt 样式如下:
课务分工表
1、周爱华:一(1)班会、一(1)道法、一(1)语文、一(1)综合、一(1)自习1 计14节;
2、刘德明:一(2)道法 计2节;
…………

[此贴子已经被作者于2021-3-10 20:38编辑过]

搜索更多相关主题的帖子: txt 生成 dbf 文件 统计 
2021-03-10 20:31
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9802
专家分:26906
注 册:2012-2-5
收藏
得分:20 
程序代码:
CLOSE DATABASES 
SET COLLATE TO "MACHINE" 
CREATE CURSOR t1 (nj c(6), bj c(7), xm c(10), km c(6), ks n(4), bs n(1))
USE ksjh IN 0 ALIAS ks
SELECT ks
INDEX on nj TAG nj
USE jsrkb20190201 IN 0 ALIAS rkb
SELECT rkb
SCAN
    FOR lnj = 3 TO FCOUNT()
        lcxm = EVALUATE(FIELD(lnj))
        lckm = FIELD(lnj)
        IF SEEK(rkb.nj, "ks", "nj") = .T.
            lnks = EVALUATE("ks." + lckm)
            lnbs = RECNO("ks")
        ENDIF
        IF NOT EMPTY(lcxm)
            INSERT INTO t1 VALUES (rkb.nj, rkb.bj, lcxm, lckm, lnks, lnbs)
        ENDIF 
    ENDFOR
ENDSCAN
SELECT ks
SET ORDER TO 
***
CREATE CURSOR t2 (xm c(10), kmnr c(254), ks n(4))
INSERT INTO t2 (xm ) SELECT DISTINCT xm FROM t1
REPLACE kmnr WITH ALLTRIM(xm) + ":" ALL 
INDEX ON xm TAG xm
***
SELECT t1
SET RELATION TO xm INTO t2
SCAN 
    REPLACE kmnr WITH kmnr - t1.nj - t1.bj - t1.km - "|", ks WITH ks + t1.ks IN t2
ENDSCAN 
SELECT t2
SET ORDER TO 
REPLACE kmnr WITH LEFT(kmnr, LEN(ALLTRIM(kmnr)) - 1) ALL 
BROWSE 
COPY TO 课程分工.TXT FIELDS kmnr, ks DELIMITED WITH "" WITH CHARACTER TAB

坚守VFP最后的阵地
2021-03-10 23:05
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9802
专家分:26906
注 册:2012-2-5
收藏
得分:0 
KSJH.DBF 中,NJ 字段内容改成下表
图片附件: 游客没有浏览图片的权限,请 登录注册

坚守VFP最后的阵地
2021-03-10 23:16
王咸美
Rank: 1
等 级:新手上路
帖 子:586
专家分:0
注 册:2018-1-4
收藏
得分:0 
@sdta  非常感谢!但程序运行到
INSERT INTO t1 VALUES (rkb.nj, rkb.bj, lcxm, lckm, lnks, lnbs)时,出现找不到变量'LNKS',不知为何?
2021-03-11 08:14
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9802
专家分:26906
注 册:2012-2-5
收藏
得分:0 
以下是引用王咸美在2021-3-11 08:14:00的发言:

@sdta  非常感谢!但程序运行到
INSERT INTO t1 VALUES (rkb.nj, rkb.bj, lcxm, lckm, lnks, lnbs)时,出现找不到变量'LNKS',不知为何?

看三楼贴图
代码并不是最优,还可以精简大约10行代码

[此贴子已经被作者于2021-3-11 08:28编辑过]


坚守VFP最后的阵地
2021-03-11 08:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9802
专家分:26906
注 册:2012-2-5
收藏
得分:0 
改良版结果图
图片附件: 游客没有浏览图片的权限,请 登录注册

坚守VFP最后的阵地
2021-03-11 08:30
王咸美
Rank: 1
等 级:新手上路
帖 子:586
专家分:0
注 册:2018-1-4
收藏
得分:0 
@sdta 非常感谢指点!!!能提供简化后的代码?很想学习借鉴。

[此贴子已经被作者于2021-3-11 16:22编辑过]

2021-03-11 09:56
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9802
专家分:26906
注 册:2012-2-5
收藏
得分:0 
以下是引用王咸美在2021-3-11 09:56:56的发言:

@sdta 非常感谢指点!!!能提供简化后的代码?很想学习借鉴。

先把前面的代码研究透彻了,你自己也会优化代码了。

坚守VFP最后的阵地
2021-03-11 10:28
王咸美
Rank: 1
等 级:新手上路
帖 子:586
专家分:0
注 册:2018-1-4
收藏
得分:0 
如何按年级排序,而不是按姓氏拼音排序。望赐教!
2021-03-11 16:25
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9802
专家分:26906
注 册:2012-2-5
收藏
得分:0 
以下是引用王咸美在2021-3-11 16:25:22的发言:

如何按年级排序,而不是按姓氏拼音排序。望赐教!

按照下图的显示顺序提取数据就能达到目的
图片附件: 游客没有浏览图片的权限,请 登录注册

坚守VFP最后的阵地
2021-03-11 16:51
快速回复:根据表文件生成每个人具体的课务分工,并统计每个人周课时节数
数据加载中...
 
   



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

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