| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1366 人关注过本帖
标题:班级名称如何定义
取消只看楼主 加入收藏
lifeng123
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-6-9
收藏
得分:0 
你加我qq53492187,我把源文件给你发过去

2015-02-10 10:06
lifeng123
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-6-9
收藏
得分:0 
带身份证号的源文件

[ 本帖最后由 lifeng123 于 2015-2-10 10:57 编辑 ]

2015-02-10 10:09
lifeng123
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-6-9
收藏
得分:0 
两个问题
1,分出班来了,可是它不是按1234,4321这种蛇型排序的,只是简单的按总数除以50得到的班级
2,还有就是男女生比例没有分出来

2015-02-10 10:21
lifeng123
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-6-9
收藏
得分:0 
SELECT fb
a=messagebox("真的要分班吗?",4+32+256,"系统提示")
IF a=6
GO top
*       set filter to xz=alltrim() and zymc=ALLTRIM()
*       locate for xz=alltrim() and zymc=ALLTRIM()
       COUNT for xz=ALLTRIM() and zymc=ALLTRIM() to a
       a=iif(a%50>0,int(a/50)+1,a/50)
          IF a<=1
              replace bj with "2014级"+ALLTRIM()+alltrim()+"年"+"班" for xz=ALLTRIM() and zymc=ALLTRIM()
          ELSE   
             set filt to xz=ALLTRIM() and zymc=ALLTRIM()
             go top   
             do while .T.
             for n=1 to a
             replace bj with "2014级"+ALLTRIM()+alltrim()+"年"+ALLTRIM(STR(n))+"班"
          SKIP
          if eof()
          return
          endif
       ENDFOR
      for m=a to 1 step -1
          replace bj with "2014级"+ALLTRIM()+alltrim()+"年"+ALLTRIM(STR(m))+"班"
          SKIP

         if eof()
         return
        ENDIF

    ENDFOR
  ENDDO

  ENDIF
    MESSAGEBOX("分班成功!",0+48,"系统信息")
  ENDIF
UPDATE stu SET stu.bj=fb.bj from fb WHERE stu.sfzh=fb.sfzh
thisform.Refresh


这个是之前按combo1专业名称,combo2学制做的

2015-02-10 10:24
lifeng123
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-6-9
收藏
得分:0 
这个倒是可以就是一项一项选太麻烦

2015-02-10 10:25
lifeng123
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-6-9
收藏
得分:0 
附件2上传,这个是选择专业名称,学制

2015-02-10 10:28
lifeng123
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-6-9
收藏
得分:0 
SELECT 9
SELECT fb
a=messagebox("真的要分班吗?",4+32+256,"系统提示")
IF a=6
GO top
 
SELECT xz,zymc,COUNT(*) as id FROM fb INTO table t1 GROUP BY xz,zymc          *汇总各专业学制人数分配给id1
SELECT *,RECNO() qq FROM (SELECT * FROM t1 ORDER BY xz,zymc) a INTO table t2  *给各专业学制分配一个序号到qq字段
UPDATE fb SET fb.qq=t2.qq from t2 WHERE fb.xz=t2.xz AND fb.zymc=t2.zymc       *将t2表中qq的值赋给fb表中的qq
SELECT fb

IF qq=1                                                                       *我想实现当qq=1的时候 count统计学制专业数赋给a,用a来判断分班,50人为一班,排序为蛇型(1,2,3,4,4,3,2,1)
    COUNT for xz=fb.xz and zymc=fb.zymc  AND qq=fb.qq to a
       a=iif(a%50>0,int(a/50)+1,a/50)
          IF a<=1
              replace bj with "2014级"+ALLTRIM(zymc)+alltrim(xz)+"年"+"班"
          ELSE   
             set filt to xz=ALLTRIM(xz) and zymc=ALLTRIM(zymc)
             go top   
             do while .T.
             for n=1 to a
             replace bj with "2014级"+ALLTRIM(zymc)+alltrim(xz)+"年"+ALLTRIM(STR(n))+"班"
          SKIP
          if eof()
          return
          endif
       ENDFOR
      
 
      for m=a to 1 step -1
          replace bj with "2014级"+ALLTRIM(zymc)+alltrim(xz)+"年"+ALLTRIM(STR(m))+"班"
          SKIP

         if eof()
         return
        ENDIF

    ENDFOR
  ENDDO
  qq=qq+1
ENDIF
  ENDIF
endif

现在出来的是从第一个排序1-19,19-1这样的大循环

2015-02-11 10:08
快速回复:班级名称如何定义
数据加载中...
 
   



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

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