自定义自动编号,带断号检测补号功能
时 间:2008-11-06 09:17:04
作 者:andymark ID:1350 城市:深圳
摘 要:自定义自动编号,带断号检测补号功能
正 文:
适合格式: XXX-YYMMDD-00000
Public Function ZDYBH(StrTable As String, StrField As String, StrBH As String, Optional FDay As String = "YYMMDD", Optional ILen As Integer = 3, Optional B As Boolean = False) As String
'==================================================================
'功能: 自定义用户编号,带断号检测功能
'格式: "XXX"-"日期格式 "-"0000"
' StrTable 为任意表名称
' StrField 为任意字段名称
' StrBH 编码类型 , 可自义任意格式
' FDay 日期格式 默认日期格式为:YYMMDD",其他符合FORMAT格式的如 YYYYMM,YYYY,YYYYMMDD
' ILen 为数字格式化长度 , 默认长度为3 代表 000 格式
' B 为是否要检测断号 ,默认为FALSE 不检测
'用法: ZDYBH("产量表", "产量ID", "LDH")
' ZDYBH("产量表", "产量ID", Me.Combo1)
' ZDYBH("产量表", "产量ID", Me.Combo1, "YYYY")
' ZDYBH("产量表", "产量ID", Me.Combo1, , 4, True)
'作者: andymark
' QQ : 42503577 , ewang11@163.com
'日期: 2008-4-2
'===============================================================
Dim Rs As New ADODB.Recordset
Dim Conn As New ADODB.Connection
Dim Str As String
Dim Num As Integer
Dim TNum As Integer
Dim StrWhere As String
Dim StrOrderWhere As String
Dim StrOrderWhereDesc As String
Set Conn = CurrentProject.Connection
Str = StrBH & "-" & Format(Now(), "" & FDay & "") & "-"
StrWhere = "select " & StrField & " from " & StrTable & " where " & StrField & " like '" & Str & "%'"
StrOrderWhere = StrWhere & " Order by " & StrField & ""
StrOrderWhereDesc = StrWhere & " Order by " & StrField & " DESC"
Rs.Open StrOrderWhereDesc, Conn, adOpenKeyset, adLockOptimistic
If Rs.EOF Then
Num = 0
Else
Num = Right(Rs.Fields("" & StrField & ""), ILen)
If B = True Then
If CInt(Num) <> Rs.Fields.Count Then
Rs.Close
Rs.Open StrOrderWhere, Conn, adOpenKeyset, adLockOptimistic
Num = 0
Do While Not Rs.EOF
TNum = CInt(Right(Rs.Fields("" & StrField & ""), ILen))
If TNum = Num Then
MsgBox StrBH & "-" & Format(Now(), "" & FDay & "") & "-" & Format(Num, String(ILen, "0")) & "存在重号,请检查数据的"
Exit Function
Else
If TNum - Num = 1 Then
Num = TNum
Else
Exit Do
End If
End If
Rs.MoveNext
Loop
End If
End If
End If
ZDYBH = StrBH & "-" & Format(Now(), "" & FDay & "") & "-" & Format(Num + 1, String(ILen, "0"))
Set Rs = Nothing
Set Conn = Nothing
End Function
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 错误号3709 所有记录中均未找到...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)