三位数自动递增编号函数_自动编号模块

时 间:2015-09-09 17:18:09

作 者:摘 要:自动编号管理的窗体及函数,方便统一管理全局的编码规则

正 文:

根据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群(群号:39785885)

Access源码网店

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值