分享制作Access学校排班程序时用到的几个小函数,不足之处欢迎探讨!-yuhong
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


分享制作Access学校排班程序时用到的几个小函数,不足之处欢迎探讨!

发表时间:2016/8/7 9:50:59 评论(1) 浏览(6573)  评论 | 加入收藏 | 复制
   
摘 要:Access学校排班程序用到的几个函数
正 文:

最近有网友让我制作一个学校学生排班的问题的程序,要求学生排班时,把学生均匀的分班,男女人数要均匀、各班的平均分相差不超过1分,特殊学生固定在某班等等,经过考虑,实现了网友的要求,在制作过程中,自己编了几个小函数,拿出来与大家共享,不足之处,请指正。

点击图片查看大图




分享几个函数

一、取得列表框内的最大值和最小值对应的序号
说明:1,提前添加字典引用
      2,提前将列表框的记录源按照降序排列
      3,某字段最大值、最小值的变量  classMaxSN 、classMinSN 
      4, Me!班级ID  列表框对象
      5,找不到值 返回false
     
Public Function getClassSN() As Boolean
'提前将列表框的记录源排序
Dim SelectedCount As Integer
Dim iCount As Integer
Dim dicID As New Dictionary
     For iCount = 0 To Me!班级ID.ListCount - 1
       If Me!班级ID.Selected(iCount) = True Then
       SelectedCount = SelectedCount + 1
       dicID(iCount) = Me!班级ID.Column(1, iCount)
       End If
    Next iCount
    If Me!班级ID.ListCount > 0 And SelectedCount > 1 Then
     classMaxSN = (dicID.Item(dicID.Keys(0)))
     classMinSN = (dicID.Item(dicID.Keys(UBound(dicID.Keys))))
     Else
      Exit Function
      getClassSN = False
     End If
     getClassSN = True
    Set dicID = Nothing
End Function

二、删除数据库表
用途:删除数据库中的表,可以采用通配符形式如:"A*",可以删除名字首字母为A的表,表不存在不会出现错误信息!
Public Function delTbl(TblName As String)
Dim tbl
For Each tbl In CurrentDb.TableDefs
If tbl.Name Like TblName Then
DoCmd.DeleteObject acTable, tbl.Name
else
Exit Function
End If
Next
Application.RefreshDatabaseWindow
End Function

'利用字典存储最大值最小值及其对应ID号,或者第二、第三....最大值,或者第二、第三....最小值,即使最大值、最小值有重复也可以
用法:sql语句要加上排序
Public Function getMinMaxFld(sql As String, tt As Dictionary)
'sql="........  order by 取值字段 desc"
    Dim rst As New ADODB.Recordset
    rst.Open "select * from XXXX order by YYYY desc", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    If rst.RecordCount > 0 Then
        rst.MoveFirst
        tt.Add rst(0).value, rst(1).value
        rst.MoveLast
        tt.Add rst(0).value, rst(1).value
    End If
rst.Close
Set rst = Nothing
End Function


Access软件网交流QQ群(群号:198465573)
 
 相关文章
非一流学校学生的出路  【李开复  2007/10/25】
用access实现学校课程表的科学管理  【umvsoft整理  2008/7/28】
管理学校打印记录  【成名  2009/7/6】
学校管理系统  【奇玉  2013/11/26】
计算每名学生的平均成绩(缺考科目不计算)  【宏鹏  2014/6/2】
查询成绩最好科目以及分数  【宏鹏  2014/6/4】
【Access小品】眼见为虚--排班管理示例  【煮江品茶  2015/1/15】
成绩统计系统(快速统计分数段、优秀率和及格率)  【仇国平  2016/6/25】
常见问答
技术分类
相关资源
文章搜索
关于作者

yuhong

文章分类

文章存档

友情链接