| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1222 人关注过本帖, 1 人收藏
标题:考场报表打印设置
取消只看楼主 加入收藏
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:10 
考场报表打印设置
请各位高手指点,由于各个考场人数不统一,有65、63,67,68,64等等,并第一列不能超过8个记录.如果超过64人,只能打印在第二、三四列。样板如下:
  七年级  八年级     七年级  八年级   七年级  八年级     七年级  八年级
   A1      B1         A2     B2        A3       B3        A4     B4
   A5      B5  .....................................................
 ...................................................................
  ...................................................................
  ...................................................................
  ..................................................................
  .................................................................
  。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
                                            B33       A33     
    第一列              第二列           第三列           第四列   
同时列标题是不固定,它随列的内容变化而变化                              
搜索更多相关主题的帖子: 记录 
2015-10-30 16:51
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
感谢各位高手关注,我正在尝试用2楼方法。
2015-10-31 15:46
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
如果成功再与大家分享

[此贴子已经被作者于2015-10-31 15:53编辑过]

2015-10-31 15:50
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
基本可以解决,用吹水佬上次提供的代码修改一下:
 i = 1
        DO WHILE !EOF("级表") AND (i <= n行)
                * 如果有适用的空座号就找号入座,否则新增一行座位。
            IF (n行k+i) <= RECCOUNT("kcb")
                GO (n行k+i) IN "kcb"
            ELSE
                APPEND BLANK IN "kcb"
                REPLACE 考场 WITH n场i IN "kcb"
            ENDIF
                * 对号入座,标记考生数据
                IF MOD(n行k+i,9)=0 AND n列k=1 OR n列k=2
             REPLACE ("列"+TRANSFORM(n列k)) WITH "" IN "kcb"

                 
            ELSE
            REPLACE ("列"+TRANSFORM(n列k)) WITH 级表.姓名 IN "kcb"
            endif
            i = i + 1
            SKIP IN "级表"
        ENDDO
            * 处理下一列
        n列k = n列k + 2   
    ENDDO
2015-10-31 17:20
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
请教吹水佬,能把考场表里数据变为随机数据吗?即每个考场的学生不固定
2015-10-31 20:39
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
感谢!我尝试一下
2015-10-31 21:24
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
在上面的代码中,即
IF MOD(n行k+i,9)=0 AND n列k=1 OR n列k=2
REPLACE ("列"+TRANSFORM(n列k)) WITH "" IN "kcb"
为什么第二列的数据全空呢?
2015-10-31 21:29
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
第一列,第二列不能超过八行,如果64人正号排满8行8列,超过64只能在3-8列排
2015-10-31 23:26
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
我已经解决
  DO WHILE !EOF("级表") AND (i <= n行)
                * 如果有适用的空座号就找号入座,否则新增一行座位。
            IF (n行k+i) <= RECCOUNT("kcb1")
                GO (n行k+i) IN "kcb1"
            ELSE
                APPEND BLANK IN "kcb1"
                REPLACE 考场 WITH n场i IN "kcb1"
            ENDIF
                * 对号入座,标记考生数据
              IF MOD(n行k+i,9)=0 AND  n列k=1
               
             REPLACE ("列"+TRANSFORM(n列k)) WITH "" IN "kcb1"
            
            
            ELSE
             IF MOD(n行k+i,9)=0 AND  n列k=2
               
             REPLACE ("列"+TRANSFORM(n列k)) WITH "" IN "kcb1"
             else
            REPLACE ("列"+TRANSFORM(n列k)) WITH 级表.姓名+"("+RIGHT(级表.学号,5)+")" IN "kcb1"
            endif
            endif
            
            i = i + 1
            SKIP IN "级表"
        ENDDO
2015-10-31 23:32
TZTJ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:737
专家分:115
注 册:2008-1-15
收藏
得分:0 
请问高手,打印一个表数据,怎样设置,按第9行到第一行顺序倒过来打印呢?
2015-11-01 11:35
快速回复:考场报表打印设置
数据加载中...
 
   



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

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