类似含有年月日的自动编号函数-杜小杰
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


类似含有年月日的自动编号函数

发表时间:2011/5/25 10:08:31 评论(16) 浏览(18929)  评论 | 加入收藏 | 复制
   
摘 要:Me![报销号] = AutoNumStr("报销申请单表", "报销号", 3, "NB", "yyyymmdd-")
得出以NB20110525-001开始自动编号
AutoNumStr("报销申请单表", "报销号", 4,, "yyyymm-")--- 
以201105-0001开始编号
AutoNumStr("报销申请单表", "报销号", 5, "CH-", "yymm")
以CH-110500001开始编号

正 文:

'Me.xsddid = AutoNumStr("tblxsddzj", "xsddid", 4, "XS", "yyyymm")------XS2011050001

'这自动编号代码复制到模块里,就可以引用AutoNumStr()函数自动编号了
'函数名称: AutoNumStr
'函数描述: 文本型自动编号函数
'输入参数: TableName  表名
'           FieldName  字段名
'           Digit      顺序号位数
'           Prefixal   前缀字符,可选
'           Dateformat 日期部分的格式,可选
'返回参数: 调用成功返回新的编号,调用失败返回Null
'调用示例: =AutoNumStr("员工表","工号", 5, "YG")  返回YG00001
'           =AutoNumStr("订单表","订单号",3,"XS","yyyymmdd-") 返回 XS20100101-001
'作者:红尘如烟
'===============================================================================================
Public Function AutoNumStr(TableName As String, _
                           FieldName As String, _
                           Digit As Integer, _
                           Optional Prefixal As String, _
                           Optional DateFormat As String)
    On Error GoTo ErrorHandler
    Dim strPrefixal As String
    Dim strTemp     As String
   
    strPrefixal = Prefixal
    If DateFormat <> "" Then strPrefixal = strPrefixal & Format(Date, DateFormat)
    If strPrefixal <> "" Then strTemp = "[" & FieldName & "] Like '" & strPrefixal & "*'"
    strTemp = Nz(DMax(FieldName, TableName, strTemp), "0")
    strTemp = Val(Mid(strTemp, Len(strPrefixal) + 1)) + 1
    strTemp = Format(strTemp, String(Digit, "0"))
    AutoNumStr = strPrefixal & strTemp
   
Done:
    Exit Function
   
ErrorHandler:
    MsgBox "错误编号:  #" & Err & vbCrLf & _
           "错误来源:  " & Err.Source & vbCrLf & _
           "错误信息:  " & Err.Description, vbCritical, "出错"
    Resume Done
End Function

示例

点击下载此附件


Access软件网交流QQ群(群号:198465573)
 
 相关文章
清空表全部记录后重置自动编号起始值--另一方法  【赵文斌  2012/5/17】
高效的年月日的自动编号函数  【LiShiping  2012/8/18】
自动编号,每个月都重新从0001号开始编号  【老邹  2012/12/11】
高效的自动编号函数  【网行者  2013/1/18】
【Access示例】子窗体按主窗体字段进行自动编号的2种方法示例  【漏蛧尐魚℡  2013/1/31】
常见问答
技术分类
相关资源
文章搜索
关于作者

杜小杰

文章分类

文章存档

友情链接