分享制作Access学校排班程序时用到的几个小函数,不足之处欢迎探讨!
时 间:2016-08-07 09:50:59
作 者:yuhong ID:15631 城市:天津
摘 要: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交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)