Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

自动生成当天日期的订单编号显示在组合框

时 间:2016-08-07 09:22:21
作 者:KevinFan   ID:47553  城市:东莞
摘 要:自动生成当天日期的订单编号显示在组合框
正 文:

昨天有个网友在微信群内问窗体订单编号组合框中显示当天订单编号的问题,他的订单编号是按yyyymmddXX这种格式的(XX代表序号),如2016080601。其实这个问题很简单,将组合框行来源读取订单表的订单编号,设置好查询条件即可:

Select tbl订单资料.ID, tbl订单资料.订单编号 FROM tbl订单资料 Where (((Left([订单编号],8))=Format(Date(),"yyyymmdd"))) orDER BY tbl订单资料.订单编号;


但是网友说这个不是他想要的,他想要的是订单编号下拉菜单自动显示当天前10笔编号,不管有无订单。这样方便切换编号,不用每次都输入。我觉得这样做有问题,如果没有订单,那这些订单编号是无法打开对应资料的,或者订单编号超过10个,那么也显示前10,不是完整显示了。真要这样做,这个问题对应大神也就是一两分钟的事情,本着学习的态度,我试着写VBA代码,自动生成当天的订单编号,代码如下:

Private Sub Form_Load()
    '关闭操作提示
    DoCmd.SetWarnings False
    '删除表内全部内容
    DoCmd.RunSQL "Delete * From [tbl订单资料] "
    '定义变量,n是订单编号的序号
    Dim n As Integer
    For n = 1 To 10
    '将n作为序号写入表【tbl订单资料】的ID字段中
    DoCmd.RunSQL "Insert INTO tbl订单资料 (ID) VALUES (" & n & ") "
    '根据系统当前日期自动生成订单编号,如2016080101,如果要3位序号,改为Format(n, "000")即可
    DoCmd.RunSQL "Update tbl订单资料 Set 订单编号=" & Format(Date, "yyyymmdd") & Format(n, "00") & "  Where ID=" & n & ""
    Next
End Sub


以上是我对循环和Format函数的练习,因为实际上应该没几个人会有这样“不合理”的要求。

附   件:

点击下载此附件



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助