自增序号的函数源码Acchelp_AutoID
时 间:2013-01-31 13:14:01
作 者:小英   ID:23698  城市:河池
摘 要:获得某表某字段的下一个编号,在最后一个编号上加1,需引用DAO3.6
正 文:
	Function AccHelp_AutoID(prefixion As String, IDlength As Integer, tblName As String, fldName As String) As String
'功能:获得某表某字段的下一个编号,在最后一个编号上加1,需引用DAO3.6
'修改历史:2006/1/8
'说明:
'prefixion 编码前缀,如果不需要前缀,可用""代替,如AccHelp_AutoID("",5,"表名称","字段名称")
'IDlength 编码位数
'tblName 表名称
'fldName 自增序号的字段名称
'tblName 是指表的名称
'作者:竹笛 (微软最有价值专家)
'说明:您可以无偿地在您自已开发的软件中应用此函数,为了尊重作者的劳动,请保留这些说明信息。同时您不得用于盈利的商业用途,欢迎大家提出修改意见,并就此函数与作者交流
'邮箱:admin@accessoft.com
    On Error GoTo Err_AccHelp_AutoID:
    Dim i As Long    '最后的一个编号
    Dim ForMatString As String    '格式化字符串
    Dim rst As DAO.Recordset
    ForMatString = String(IDlength, "0")
    If DCount(fldName, tblName) = 0 Then    '如果没有开始编号,则为1
        AccHelp_AutoID = prefixion & Format(1, ForMatString)
    Else
        Set rst = CurrentDb.OpenRecordset(tblName, dbOpenDynaset)
        rst.MoveLast
        i = Val(Right(rst(fldName), IDlength)) + 1
        AccHelp_AutoID = prefixion & Format(i, ForMatString)
        rst.Close
        Set rst = Nothing
    End If
Exit_AccHelp_AutoID:
    Exit Function
Err_AccHelp_AutoID:
    AccHelp_AutoID = "#"
    rst.Close
    Set rst = Nothing
End Function
示例下载地址: http://www.accessoft.com/down/Acchelp_AutoID.rar
代码如下:
Option Compare Database
	Private Sub Form_Load()
Me.ygID.SetFocus
Me.ygID = AccHelp_AutoID("Y", 2, "tblCodeyg", "ygId")
End Sub
	Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)
    Select Case Button
    Case "保存"
    Case "关闭"
        DoCmd.Close
    End Select
End Sub
	Function AccHelp_AutoID(prefixion As String, IDlength As Integer, tblName As String, fldName As String) As String
'功能:获得某表某字段的下一个编号,在最后一个编号上加1,需引用DAO3.6
'修改历史:2006/1/8
'说明:
'prefixion 编码前缀,如果不需要前缀,可用""代替,如AccHelp_AutoID("",5,"表名称","字段名称")
'IDlength 编码位数
'tblName 表名称
'fldName 自增序号的字段名称
'tblName 是指表的名称
'作者:竹笛 (微软最有价值专家)
'说明:您可以无偿地在您自已开发的软件中应用此函数,为了尊重作者的劳动,请保留这些说明信息。同时您不得用于盈利的商业用途,欢迎大家提出修改意见,并就此函数与作者交流
'邮箱:admin@accessoft.com
    On Error GoTo Err_AccHelp_AutoID:
    Dim i As Long    '最后的一个编号
    Dim ForMatString As String    '格式化字符串
    Dim rst As DAO.Recordset
    ForMatString = String(IDlength, "0")
    If DCount(fldName, tblName) = 0 Then    '如果没有开始编号,则为1
        AccHelp_AutoID = prefixion & Format(1, ForMatString)
    Else
        Set rst = CurrentDb.OpenRecordset(tblName, dbOpenDynaset)
        rst.MoveLast
        i
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access高效办公】上一年...(10.30)
- Access制作的RGB转CM...(09.22)
- Access制作的RGB调色板...(09.15)
- Access制作的快速车牌输入...(09.13)
- 【Access高效办公】统计当...(06.30)
- 【Access高效办公】用复选...(06.24)
- 根据变化的日期来自动编号的示例...(06.20)
- 【Access高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
 
  学习心得
最新文章
- 【Access高效办公】上一年度累...(10.30)
- Access做的一个《中华经典论语...(10.25)
- Access快速开发平台--加载事...(10.20)
- 【Access有效性规则示例】两种...(10.10)
- EXCEL表格扫描枪数据录入智能处...(10.09)
- Access快速开发平台--多行文...(09.28)
- 关于从Excel导入长文本数据到A...(09.24)
- Access制作的RGB转CMYK...(09.22)
- 关于重装系统后Access开发的软...(09.17)
- Access制作的RGB调色板示例(09.15)
 

 
  
.gif)

 
            