|
求各位网友老师帮我解决问题.
我有一张表为订单明细,当日序号为(Key),要求自动编号,编号是由一个字符+年月日+三位流水号(1~999)组成,正常的情况下编号是从小到大编号,现我要求从大到小编号,由于实际操作过程中有断号的现象(删除),为了充分利用资源,希望可以补号之功能,自已写了一段代码,出现一些\问题,求教,谢谢
附件:
代码如下:
Private Sub 模号_BeforeUpdate(Cancel As Integer)
On Error Resume Next
Dim maxid As Integer
Dim K As String
Dim I As Integer
Dim C As Double
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT Val(Right([当日序号],3)) AS 序号, Mid([当日序号],2,5) AS 条件 FROM 订单明细 " _
& "WHERE (((Mid([当日序号],2,5))=Mid(Format(Date(),'yymmdd'),2,5))) " _
& "ORDER BY Val(Right([当日序号],3)) DESC")
If rs.RecordCount <= 0 Then
K = "B" & Mid(Format(Date, "yymmdd"), 2, 5) & "999"
Me![当日序号] = K
Exit Sub
Else
maxid = 999
rs.MoveFirst
For I = 0 To rs.RecordCount
MsgBox rs(0)
If (maxid - I) = rs(0) Then
rs.MoveNext
Else
Me![当日序号] = "B" & Mid(Format(Date, "yymmdd"), 2, 5) & Format(maxid - I, "000")
Exit For
End If
Next
End If
Set rs = Nothing
End Sub
问题:
当记录为空时,可以,当输入第二笔记录不行,如果第二笔手输入一个断号又可以,可能是循环语句出了问题,但找不出问题点,求赐教.[:45] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|