设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2998|回复: 7
打印 上一主题 下一主题

求助多条件限制自动分班

[复制链接]
1#
发表于 2016-7-28 10:22:49 | 显示全部楼层
一组 二组是如何划分出来的?
2#
发表于 2016-7-28 11:00:56 | 显示全部楼层
本帖最后由 wzl8007 于 2016-7-28 11:02 编辑

感觉应该不难,在其中一个表里将其他3个表的成绩数据引入,然后按照比例计算出总成绩,select top 50 人名 from 表 where 成绩 between 最大值 and 最大值-1 order by  (随机数)意思是从表里随机选出与最高成绩不差1分的的50人 其他类似!只是个思路!
3#
发表于 2016-7-28 16:48:03 | 显示全部楼层
本帖最后由 wzl8007 于 2016-7-28 18:42 编辑

Dim aa As Integer
aa = Round(DSum("成绩合成", "汇总成绩查询") / 125)
Dim Conn1 As New ADODB.Connection
    Dim Rs_Date As New ADODB.Recordset
    Set Conn1 = CurrentProject.Connection
    Dim Arr_Date()
    Dim sql As String
    Dim rstCount As Integer
   Do While True
    CurrentDb.CreateQueryDef "文班1班", "SELECT TOP 62 文科慢班.ID, Sum(文科慢班.成绩合成) AS 成绩合成之合计 FROM 文科慢班 GROUP BY 文科慢班.ID ORDER BY Rnd(-(ID+Rnd()))"
        sql = "SELECT round(Sum(文班1班.成绩合成之合计)) AS 班级成绩总和 FROM 文班1班"
Rs_Date.Open sql, Conn1, 3, 3
Debug.Print Round(Rs_Date(0) / 62)
    If Abs(Round(Rs_Date(0) / 62) - aa) < 1 Then
    GoTo line
    End If
    DoCmd.DeleteObject acQuery, "文班1班"
    Rs_Date.Close
    Set Rs_Date = Nothing
    Loop
line:
MsgBox "文班慢班1完成!其余为慢班2班"
试验了一下,应该可以实现,我用的是access
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-19 11:09 , Processed in 0.101001 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表