Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

可带前缀和后缀的自动编号函数

时 间:2012-02-08 00:42:50
作 者:wsl   ID:23994  城市:黔东南
摘 要:该自动编号函数适用于即有前缀又有后缀,自动编号部份在中间的情况,根据前缀和后缀的变化自动从1开始编号。前缀和后缀均可省略。
正 文:

使用例子点击下载此附件


'自动编号函数
Public Function funAutoId(ByVal strFieldName As String, ByVal strTableName As String, ByVal bytLen As Byte, _
                        Optional ByVal strPrefix As String, Optional ByVal strSuffix As String) As String     '自动编号函数
  '该自动编号函数适用于即有前缀又有后缀,自动编号部份在中间的情况,根据前缀和后缀的变化自动从1开始编号
  'strFieldName 需要自动编号的字段名称
  'strTableName 需要自动编号的字段所在的表名称
  'bytLen       自动编号的数字长度(不包含前缀和后缀的长度)
  'strPrefix    自动编号的前缀,可省略
  'strSuffix    自动编号的后缀,可省略
  '制作:王政(wsl)
 
  Dim strA As String
  Dim q As Byte    '前缀长度
  Dim h As Byte    '后缀长度
  strPrefix = Nz(strPrefix, "")
  strSuffix = Nz(strSuffix, "")
  q = Nz(Len(strPrefix), 0)
  h = Nz(Len(strSuffix), 0)
  strA = Nz(DMax("mid([" & strFieldName & "]," & q + 1 & "," & bytLen & ")", strTableName, _
            "Left([" & strFieldName & "]," & q & ")='" & strPrefix & "' and " & _
            "right([" & strFieldName & "]," & h & ")='" & strSuffix & "'"), "0")
  If strA = "0" Then
    funAutoId = strPrefix & String(bytLen - 1, "0") & "1" & strSuffix
  Else
    funAutoId = strPrefix & Format(Val(Right(strA, bytLen)) + 1, String(bytLen, "0")) & strSuffix
  End If

End Function

 



Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助