设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4492|回复: 11
打印 上一主题 下一主题

vba随机均匀分组

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2016-7-29 10:01:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位老师:
我现在要将这93个数据随机分组,要求分成5组,每个组的数据个数相差在2个以内,分完组后,还要求每个组的分数平均值差距在2分以内。这歌要怎么写代码呀?
请老师指导,万分感谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2016-7-29 17:28:52 | 只看该作者
access 应该能实现, 分班问题!
3#
发表于 2016-7-29 21:18:00 | 只看该作者
Private Sub Command0_Click()
Dim aa As Integer
aa = 597
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.Execute "select * into 一班 from (SELECT TOP 18 Sheet1.序号, Sum(Sheet1.分数) AS 成绩合成之合计 FROM Sheet1 where 分组 is null GROUP BY Sheet1.序号 ORDER BY Rnd(-(序号+Rnd())))"
        Application.RefreshDatabaseWindow
        sql = "SELECT round(Sum(一班.成绩合成之合计)) AS 班级成绩总和 FROM 一班"
Rs_Date.Open sql, Conn1, 3, 3
    If Abs(Round(Rs_Date(0) / 18) - aa) < 1 Then
    Debug.Print Round(Rs_Date(0) / 18)
    GoTo line
    End If
    Rs_Date.Close
    Set Rs_Date = Nothing
    DoCmd.DeleteObject acTable, "一班"
    Loop
line:
    CurrentDb.Execute "update sheet1 set 分组='一班' where 序号 in (select 序号 from 一班)"
MsgBox "一班完成!"
    Rs_Date.Close
    Set Rs_Date = Nothing
End Sub
access 能完成!
4#
发表于 2016-7-30 08:18:23 | 只看该作者
传个实例,仅供参考,如果长时间运行,请中断,然后重启程序继续!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1经验 +8 收起 理由
tmtony + 8 (V币)优秀答复(6分)

查看全部评分

点击这里给我发消息

5#
 楼主| 发表于 2016-7-30 13:37:35 来自手机 | 只看该作者
谢谢老师了。不好意思,但是我不懂access,我只有vba的一点点基础,这个代码要写在哪呀
来自: 微社区
6#
发表于 2016-7-30 20:50:50 | 只看该作者
分班结果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

点击这里给我发消息

7#
 楼主| 发表于 2016-7-31 16:49:30 | 只看该作者

谢谢老师,我试用了,能运行。这个能用vba完成吗?

点击这里给我发消息

8#
 楼主| 发表于 2016-7-31 16:53:27 | 只看该作者
wzl8007 发表于 2016-7-30 08:18
传个实例,仅供参考,如果长时间运行,请中断,然后重启程序继续!

这个能不能用随机数产生班级编号,让产生的班级编号满足个班随机的人数,然后把满足条件的班级标号直接添加进去分班结果。
9#
发表于 2016-7-31 18:24:31 | 只看该作者
不太明白你的意思
10#
发表于 2016-8-7 09:17:54 | 只看该作者
我完善了系统,有要求的话:qq:398157859
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 13:55 , Processed in 0.099840 second(s), 39 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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