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

Access快速选定日期范围值 窗体

时 间:2013-07-18 23:50:35
作 者:沈军   ID:2469  城市:东莞
摘 要:在ACCESS应用程序当中我们经常会进行日期范围选定或输入,以达到时期范围的数据统计与分析,本人也不例外,为了方便工作以及方便他人,把我用的这个功能窗体特调出来,供大家学习与参考。
正 文:

 

点击下载此示例Accdb格式       点击下载此示例mdb格式

 

本窗体中所有按钮单击事件均采用统一模块Select CASE 菜单选项方法实现,仅此特别!

Public Function sjClickAll()
    Dim sjCtn As String
    sjCtn = Me.ActiveControl.Name
    Select Case sjCtn
    Case "command117"     '上个月
        Me.开始日期 = CDate(DateAdd("m", -1, Format(Date, "yyyy-mm-1")))
        Me.结束日期 = CDate(DateAdd("m", 0, Format(Date, "yyyy-mm-1")) - 1)
    Case "Command118"     '下个月
        Me.开始日期 = CDate(DateAdd("m", 1, Format(Date, "yyyy-mm-1")))
        Me.结束日期 = CDate(DateAdd("m", 2, Format(Date, "yyyy-mm-1")) - 1)
    Case "Command119"    '当前月
        Me.开始日期 = CDate(DateAdd("m", 0, Format(Date, "yyyy-mm-1")))
        Me.结束日期 = CDate(DateAdd("m", 1, Format(Date, "yyyy-mm-1")) - 1)
    Case "Command120"    '前个月
        Me.开始日期 = CDate(DateAdd("m", -2, Format(Date, "yyyy-mm-1")))
        Me.结束日期 = CDate(DateAdd("m", -1, Format(Date, "yyyy-mm-1")) - 1)
    Case "Command124"    '前年
        Me.SJ年份 = CDate(DateAdd("YYYY", -1, Format(Date, "yyyy-1-1")) - 1)
        SJ年份_AfterUpdate
    Case "Command121"     '去年
        Me.SJ年份 = CDate(DateAdd("YYYY", 0, Format(Date, "yyyy-1-1")) - 1)
        SJ年份_AfterUpdate
    Case "Command122"     '明年
        Me.SJ年份 = CDate(DateAdd("YYYY", 2, Format(Date, "yyyy-1-1")) - 1)
        SJ年份_AfterUpdate
    Case "Command123"     '今年
        Me.SJ年份 = CDate(DateAdd("YYYY", 1, Format(Date, "yyyy-1-1")) - 1)
        SJ年份_AfterUpdate
    Case "Command128"     '上一个半年
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("m", 0, Format(开始日期, "yyyy-1-1")))
        Me.结束日期 = CDate(DateAdd("m", 6, Format(开始日期, "yyyy-1-1")) - 1)
    Case "Command125"    '下一个半年
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("m", 0, Format(开始日期, "yyyy-7-1")))
        Me.结束日期 = CDate(DateAdd("yyyy", 1, Format(开始日期, "yyyy-1-1")) - 1)
    Case "Command126"    '去年上半年
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("m", -12, Format(开始日期, "yyyy-1-1")))
        Me.结束日期 = CDate(DateAdd("m", 6, Format(开始日期, "yyyy-1-1")) - 1)
    Case "Command127"    '去年下半年
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("yyyy", -1, Format(开始日期, "yyyy-7-1")))
        Me.结束日期 = CDate(DateAdd("yyyy", 1, Format(开始日期, "yyyy-1-1")) - 1)
    Case "Command136"    '今年一季度
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("m", 0, Format(开始日期, "yyyy-1-1")))
        Me.结束日期 = CDate(DateAdd("m", 0, Format(开始日期, "yyyy-4-1")) - 1)
    Case "Command133"    '今年二季度
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("m", 0, Format(开始日期, "yyyy-4-1")))
        Me.结束日期 = CDate(DateAdd("m", 0, Format(开始日期, "yyyy-7-1")) - 1)
    Case "Command134"    '今年三季度
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("m", 0, Format(开始日期, "yyyy-7-1")))
        Me.结束日期 = CDate(DateAdd("m", 0, Format(开始日期, "yyyy-10-1")) - 1)
    Case "Command135"    '今年四季度
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("m", 0, Format(开始日期, "yyyy-10-1")))
        Me.结束日期 = CDate(DateAdd("yyyy", 1, Format(开始日期, "yyyy-1-1")) - 1)
    Case "Command140"    '去年一季度
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("yyyy", -1, Format(开始日期, "yyyy-1-1")))
        Me.结束日期 = CDate(DateAdd("y", 0, Format(开始日期, "yyyy-4-1")) - 1)
    Case "Command137"    '去年二季度
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("yyyy", -1, Format(开始日期, "yyyy-4-1")))
        Me.结束日期 = CDate(DateAdd("y", 0, Format(开始日期, "yyyy-7-1")) - 1)
    Case "Command138"    '去年三季度
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("yyyy", -1, Format(开始日期, "yyyy-7-1")))
        Me.结束日期 = CDate(DateAdd("y", 0, Format(开始日期, "yyyy-10-1")) - 1)
    Case "Command139"    '去年四季度
        开始日期 = Date
        Me.开始日期 = CDate(DateAdd("yyyy", -1, Format(开始日期, "yyyy-10-1")))
        Me.结束日期 = CDate(DateAdd("yyyy", 1, Format(开始日期, "yyyy-1-1")) - 1)
    Case "sjCommand141"    '向后快速选定月份
        If IsNull(Me.SJ月份) Then
            Me.SJ月份 = Date
        Else
            Me.SJ月份 = CDate(DateAdd("m", 2, Format(Me.SJ月份, "yyyy-mm-1")) - 1)
        End If
        SJ月份_AfterUpdate
    Case "sjCommand142"    '向前快速选定月份
        If IsNull(Me.SJ月份) Then
            Me.SJ月份 = Date
        Else
            Me.SJ月份 = CDate(DateAdd("m", 0, Format(Me.SJ月份, "yyyy-mm-1")) - 1)
        End If
        SJ月份_AfterUpdate
    Case "Command115"    '后一年
        If IsNull(Me.SJ年份) Then
            Me.SJ年份 = Date
        Else
            Me.SJ年份 = CDate(DateAdd("YYYY", 2, Format(Me.SJ年份, "yyyy-1-1")) - 1)
        End If
        SJ年份_AfterUpdate
    Case "Command116"    '前一年
        If IsNull(Me.SJ年份) Then
            Me.SJ年份 = Date
        Else
            Me.SJ年份 = CDate(DateAdd("YYYY", 0, Format(Me.SJ年份, "yyyy-1-1")) - 1)
        End If
        SJ年份_AfterUpdate
    Case "Command34"
        DoCmd.Close
    Case "Command106"
        '确定代码项目 可自行制作
        
    End Select
End Function






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

常见问答:

技术分类:

相关资源:

专栏作家

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