标题:请教:如何根据大组、轮次和性别信息,自动对小组和序号进行编号。
只看楼主
tsxtszx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-5-18
得分:0 
第一大组,组号从1开始,每组不超过18人。不同轮次,不同性别,组号依次增加。
第二大组,小组号再从1重新编写。
2022-08-05 16:47
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:0 
这个意思吗?
Close Databases

Use 编排
*!*    Blank all Fields 小组, 序号

Select 大组,轮次,性别, Cast(0 as I) as 小组 ;
    from 编排 group by 大组,轮次,性别 into cursor grp Readwrite
Update grp set 小组 = Recno()

Select grp
Locate
m.n大组 = 大组
m.n小组 = 1
Scan all
    Scatter name oo
    If 大组 != m.n大组
        m.n大组 = 大组
        m.n小组 = 1
    EndIf
   
    Select 大组,轮次,姓名,性别,序号,小组 ;
        from 编排 ;
        where 大组 = m.oo.大组 and 轮次 = m.oo.轮次 and 性别 = m.oo.性别 ;
        into cursor temp Readwrite
    Update temp set 序号 = 1+Mod(Recno()-1, 18), 小组 = m.n小组+Int((Recno()-1)/18)
    m.n小组 = 1 + 小组
   
    Update t set t.小组 = s.小组, t.序号 = s.序号 ;
        from 编排 t inner join temp s on ;
                t.大组 = s.大组 ;
            and t.轮次 = s.轮次 ;
            and t.性别 = s.性别 ;
            and t.姓名 = s.姓名
   
EndScan

Use in temp
Use in grp


[此贴子已经被作者于2022-8-5 18:03编辑过]

2022-08-05 18:01
tsxtszx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-5-18
得分:0 
回复 10楼 吹水佬
第一大组内,小组序号从1开始连续编写,但是不同轮次,不同性别,组号不同。
2022-08-06 09:36
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用tsxtszx在2022-8-6 09:36:50的发言:

第一大组内,小组序号从1开始连续编写,但是不同轮次,不同性别,组号不同。

不就是7楼说的意思吗,按 大组+轮次+性别 分组(每小组<=18人)
2022-08-06 11:45
tsxtszx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-5-18
得分:0 
感谢csyx版主和吹水佬版主的热情解答,非常感谢
2022-08-07 19:46



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




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

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