| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2180 人关注过本帖
标题:如何实现按自定义设置(这里是楼层使用状态)进行随机安排?
只看楼主 加入收藏
dengxsh
Rank: 2
等 级:论坛游民
帖 子:87
专家分:40
注 册:2013-2-26
收藏
得分:0 
可在楼层使用状态栏另加辅助字段,标记“固定/随机”,然后对操作表中需要固定的手工输入
2016-06-02 16:50
dengxsh
Rank: 2
等 级:论坛游民
帖 子:87
专家分:40
注 册:2013-2-26
收藏
得分:0 
调整后的状态表不知是否符合
(更改)教学楼楼层使用状态.rar (859 Bytes)
2016-06-02 16:59
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:15 
看看结果是否符合要求
程序代码:
USE (更改)教学楼楼层使用状态 ALIAS 状态表 IN 0
USE (操作表)领导干部听课安排表 ALIAS 安排表 IN 0
SELECT * FROM 安排表 INTO CURSOR tmp READWRITE 
SELECT 状态表 
COUNT ALL FOR ALLTRIM(状态(12))=="是" TO n12
COUNT ALL FOR ALLTRIM(状态(34))=="是" TO n34
IF RECCOUNT("安排表") >= (n12 + n34)
    RAND(-1)
    SELECT tmp
    INDEX on RAND() TAG 随机
    SELECT 状态表
    GO TOP 
    DO WHILE !EOF("状态表") AND !EOF("tmp")
        IF (ALLTRIM(状态表.状态(12))=="是") AND (ALLTRIM(状态表.辅助1)=="随机")
            安排()
        ENDIF
        IF (ALLTRIM(状态表.状态(34))=="是") AND (ALLTRIM(状态表.辅助2)=="随机")
            安排()
        ENDIF
        SKIP IN "状态表"
    ENDDO
    SELECT tmp
    SET INDEX TO
    GO TOP 
    BROWSE FIELDS 姓名, 教学楼, 楼层
ELSE
    MESSAGEBOX("还缺 "+TRANSFORM(RECCOUNT("安排表")-n12-n34)+" 条任务无法安排,请增加人员!")
ENDIF
CLOSE DATABASES ALL 

FUNCTION 安排()
    DO WHILE !EOF("tmp") AND !EMPTY(tmp.楼层)
        SKIP IN "tmp"
    ENDDO
    IF !EOF("tmp")
        REPLACE tmp.教学楼 WITH 状态表.教学楼名称, tmp.楼层 WITH ALLTRIM(状态表.楼层)+"层"
        SKIP IN "tmp"
    ENDIF
ENDFUNC
2016-06-02 17:34
dengxsh
Rank: 2
等 级:论坛游民
帖 子:87
专家分:40
注 册:2013-2-26
收藏
得分:0 
回复 13楼 吹水佬
请教版主:运行程序后,如何直接将结果保存成excel格式?
2016-06-03 15:04
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 14楼 dengxsh
将 BROWSE 改用 COPY 可以导出为 EXCEL
2016-06-03 16:13
快速回复:如何实现按自定义设置(这里是楼层使用状态)进行随机安排?
数据加载中...
 
   



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

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