自动编号也疯狂
时 间:2007-12-05 15:39:48
作 者:victorduane ID:70 城市:闵行
摘 要:自动编号也疯狂
正 文:
自动编号也疯狂
'===============================================================================
'-函数名称: autoID
'-功能描述: 自动编号 ,
'-输入参数说明: 参数1:tblname 表名
' 参数2:fldname 字段名
' 参数3:intlength增长号的长度
' 参数4:prefix 前缀(可选参数)
' 参数5:dateformat时间前缀(可选参数)
'-返回参数说明: 可以按时间自增长编号, 如果没有时间就自增长编号
'-使用语法示例: AutoID("型体编号表", "型体编号", 4, "GL")
' AutoID("型体编号表", "型体编号", 4)
' AutoID("型体编号表", "型体编号", 4, "GL","yyyymmdd")
'-参考:
'-使用注意:
'-兼容性: 2000,XP,2003
'-作者: Victor Duane
'-更新日期: 2007-12-5 17:03
'===============================================================================
Function AutoID(tblName As String, fldName As String, intLength As Integer, Optional Prefix As String = "", Optional DateFormat As String = "") As String
'自动编号 , 可以按时间自增长编号, 如果没有时间就自增长编号
Dim rs As New ADODB.Recordset
Dim cn As New ADODB.Connection
Dim intDate As Integer
Dim intPrefix As Integer
Dim strDate As String
Dim strToday As String
Dim OldDate As String
'如果DateFormat为空,当天日期为空,否则为当天日期
If Len(DateFormat) = 0 Then
strToday = ""
Else
strToday = Format(Date, DateFormat)
End If
strDate = strToday
intDate = Len(strDate) '取得时间的长度
intPrefix = Len(Prefix) '取得前缀的长度
Set cn = CurrentProject.Connection
Dim strSQL As String
strSQL = "select * from " & tblName & " order by " & fldName
rs.Open tblName, cn, 1, 2
Debug.Print rs.RecordCount
If rs.RecordCount > 0 Then
rs.MoveLast
'取得最大值的时间前缀
OldDate = Nz(Mid$(rs(fldName), intPrefix + 1, intDate), "")
'判断新增的值是否跨时间
If strToday = OldDate Then
AutoID = Prefix & strDate & Format(Val(Right$(rs(fldName), intLength) + 1), String(intLength, "0"))
Else
AutoID = Prefix & strDate & String(intLength - 1, "0") & "1"
End If
Else
AutoID = Prefix & strDate & String(intLength - 1, "0") & "1"
End If
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Function
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)