后台SQL Server数据库分部门费用明细自动编号-邹国梁
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 源码示例


后台SQL Server数据库分部门费用明细自动编号

发表时间:2008/3/4 15:27:47 评论(0) 浏览(7415)  评论 | 加入收藏 | 复制
   
摘 要:后台SQL Server数据库分部门费用明细自动编号,由于ID是主键,记录是按部门ID的大小排列的,用竹笛的自动编号源码的查找最后一条数据(DLast)方法会出现错误,现改用查找本部门最大的费用明细编号(DMax)方法。
正 文:

Private Sub AutoID()
'功能:生成分部门的费用明细自动编号
    Dim YM As String
    Dim YMold As String
    Dim YMID As String
    Dim BM As String
   
    '使fyID文本框有效,写入数据
    Me.fyID.Enabled = True
    Me.fyID.SetFocus
   
    '自动编号格式:部门号+FY+日期+四位编号
    '生成日期编号前缀,格式为FY20070101,即年四位,月两位,日两位
    YM = "FY" & Year(Date) & Format(Month(Date), "00") & Format(Day(Date), "00")
  '生成部门编号前缀,用户名为32050402,部门号为第5-6位,格式为04
    BM = Right(Left(Forms!usysfrmlogin!txtUserName, 6), 2)
    '查找本部门最大的费用明细编号
    YMID = DMax("[fyID]", "dbo_tblfyjs", "[fyID] Like '" & BM & "??????????????'")
    '本部门最大的费用明细编号的日期
    YMold = Right(Left(YMID, 12), 10)

    If YM = YMold Then    '若生成的日期编号前缀与本部门最大的费用明细编号的日期相同,则加1
        Me.fyID = BM & YM & Format(CStr(CInt(Right(YMID, 4)) + 1), "0000")
    Else
        若生成的日期编号前缀与本部门最大的费用明细编号的日期不同,则从0001开始编号
        Me.fyID = BM & YM & "0001"
    End If

End Sub


Access软件网交流QQ群(群号:198465573)
 
 相关文章
自动编号,每个月都重新从0001号开始编号  【老邹  2012/12/11】
高效的自动编号函数  【网行者  2013/1/18】
【Access示例】子窗体按主窗体字段进行自动编号的2种方法示例  【漏蛧尐魚℡  2013/1/31】
如何让access自动编号从1开始排序实现方法  【宏鹏(转载)  2013/7/10】
日期/月份为变量的自动编号(自动续号)函数  【网行者  2013/7/14】
常见问答
技术分类
相关资源
文章搜索
关于作者

邹国梁

文章分类

文章存档

友情链接