Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求助自动编号问题

fengdong  发表于:2014-10-19 20:13:06  
复制

现在的代码是自动加一,但年份不能自动变化,我想改成到新一年时按新年份从00001开始,请问能实现吗?怎么改?

Private Sub Command29_Click()
On Error GoTo Err_Command29_Click
    Dim rst As Recordset, courseID As Long, TmpStr As String


    Set rst = CurrentDb.OpenRecordset("SELECT Ã÷ϸ.D-òé±àoÅ FROM Ã÷ϸ ORDER BY Ã÷ϸ.D-òé±àoÅ DESC;")
    
    If Not rst.EOF Then
        'èç1ûóDèÎoμǼ£¬óÃ×îoóμÄêy×Ö£«1×÷ÎaDÂμÄ¿Î3ì±àoÅ
        rst.MoveFirst
        If IsNull(Me![D-òé±àoÅ]) Then
            'èç1ûÏÖÔú′°ìåéÏûóD±àoží¼óèë
            courseID = rst!D-òé±àoÅ + 1
            Me![D-òé±àoÅ] = courseID
        Else
            'èç1ûòÑóD¿é′ó±àoží3öÏÖìáê¾
            MsgBox "ÄúûóDè¨ÏT2ù×÷£¬" & Chr(13) & "2»Äü×Ô¶ˉDT¸Ä£¡", vbOKOnly, "×¢òa"
        End If
    Else
        'èç1ûûóD¼Ç¼¾íóñ¾ÄêÄê·Y¡á1000000£«1×÷±àoÅ
        TmpStr = Format(Date, "yyyy")
        courseID = Val(TmpStr) * 1000000 + 1
        Me![D-òé±àoÅ] = courseID
    End If


    rst.Close
    
Exit_Command29_Click:
    Exit Sub


Err_Command29_Click:
    MsgBox Err.Description
    Resume Exit_Command29_Click
    
End Sub

 

Top
竹笛 发表于:2014-10-19 23:05:53

提供一个示例供参考:

按年-月-顺序号 自动生成编号
单击下载:自动编号例子



fengdong 发表于:2014-10-20 13:20:59
谢谢!

总记录:2篇  页次:1/1 9 1 :