自动编号模块
时 间:2015-09-09 17:18:09
作 者:月皓星隐 ID:39720 城市:自贡
摘 要:自动编号管理的窗体及函数,方便统一管理全局的编码规则
正 文:
根据UMV 软件的灵感和样式做了自动编号管理,因为在UMV软件中只是给了个函数,所以特此还原了部分自动编号的功能作为可移植的窗体和函数方便使用。此类管理的好处是可以把众多的表的编号规则统一管理。所有自动编号通过在编号规则窗体填好编号的规则后,调用自动编号函数进行自动编号处理,非常方便。
'***********************************************************
'程序功能:本程序是用来配合自动编号管理的窗体完成自动编号
'
'程序名称:自动编号
'
'程序参数:输入编号规则名称
'
'使用范围:适合所有access
'
'使用范例:直接在程序中调用即可 rs!序号=自动编号(表名_序号[规则名称])
'
'程序作者:月皓星隐
'
'编外的话:为了方便查看,所以变量用中文的
'
'编写时间:2015-09-01
'************************************************************
Function 自动编号(ByVal 规则名称 As String)
Dim rs As New ADODB.Recordset
Dim cn As ADODB.Connection
Dim 循环次数 As Integer
Dim 日期前缀 As String
Dim 流水号 As Long
Dim 流水号后缀 As String
'1.先根据规则名称找到记录
Set cn = CurrentProject.Connection
rs.Open "自动编号管理", cn, adOpenKeyset, adLockOptimistic
rs.Filter = "[规则名称]='" & 规则名称 & "'"
'2.根据情况进行编号
If rs.EOF or rs.BOF Then MsgBox "没有有效的规则,请确定是否规则名称输入正确": Exit Function
If IsNull(rs!最后编号) Then
流水号 = 1
Else
流水号 = Val(Right(rs!最后编号, rs!顺序号位数)) + 1
End If
For 循环次数 = 1 To rs!顺序号位数
流水号后缀 = 流水号后缀 & "0"
Next 循环次数
'2.1有日期形式加入的情况
If IsNull(rs!日期格式) = False Then
日期前缀 = Format(Now(), rs!日期格式)
自动编号 = rs!编号前缀 & 日期前缀 & Format(流水号, 流水号后缀)
rs!最后编号 = 自动编号
rs.Update
Else
'2.2没有日期加入编号的情况
自动编号 = rs!编号前缀 & Format(流水号, 流水号后缀)
rs!最后编号 = 自动编号
rs.Update
End If
Set rs = Nothing
Set cn = Nothing
End Function
比如我输入了一个规则 规则名为:’表1_ID‘ ,编号头为’NNN‘,流水号为4位数,当我增加数据时,自动编号根据规则就编写了NNN0001的编号。其他详细的代码见附件,不多赘述了
附 件:
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)