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