設為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 4103|回復: 6
打印 上一主題 下一主題

[模塊/函數(shù)] 【Access小品】周而復始 -- 獲取每月各周日期范圍示例

[復制鏈接]
跳轉到指定樓層
1#
發(fā)表于 2015-4-27 12:24:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  最近有版友問到統(tǒng)計每月中各周的數(shù)據(jù)問題,這個問題的解決要點是如何獲得每月中各周的日期范圍。而獲得各周的日期范圍的難點,又在于第一周和最后一周可能不是完整的七天。時間的流逝是周而復始的,但由于以月度和周兩個時間度量來計算,就可能造成某一種時間度量(周)在另一種度量(月)的約束下不一定周而復始。注意這里說的不能周而復始的前提是因為另一種度量的約束,也就是說沒有這種約束,依然是周而復始的。

  前面我們討論周在月中不完全能周而復始的原因并不重要,就本問題而言最重要的是觀察到第一周和最后一周可能不是完整的七天。有了這個對問題的觀察,我們也就有了解決問題的思考方向,由此入手也就不難解決問題。在本示例中主要采用一個自定義的函數(shù)來處理問題,這個自定義函數(shù)大體可以按如下代碼編寫:

Public Function WeekDateArr(ByVal y As Integer, ByVal m As Integer) As Variant
    '功能:返回當前月度中各周的日期范圍
    '參數(shù):y -- 年度, m -- 月度
    Dim monthday0 As Date, monthday1 As Date
    Dim weekday0 As Date, weekday1 As Date
    Dim Arr() As String
    Dim i As Integer

    monthday0 = DateSerial(y, m, 1)
    monthday1 = DateSerial(y, m + 1, 0)

    '第一周日期范圍
    weekday0 = monthday0
    weekday1 = DateAdd("d", 7 - Weekday(weekday0, vbMonday), weekday0)
    ReDim Preserve Arr(1, 0)
    Arr(0, 0) = weekday0
    Arr(1, 0) = weekday1
    i = 0

    Do While weekday1 < monthday1
        weekday0 = DateAdd("d", 1, weekday1)
        weekday1 = DateAdd("d", 6, weekday0)
        If weekday1 > monthday1 Then weekday1 = monthday1
        i = i + 1
        ReDim Preserve Arr(1, i)
        Arr(0, i) = weekday0
        Arr(1, i) = weekday1
    Loop

    WeekDateArr = Arr
End Function


示例:

視圖:





本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x

評分

參與人數(shù) 2經(jīng)驗 +42 金錢 +30 V幣 +5 收起 理由
tmtony + 12
5988143 + 30 + 30 + 5 (技術)原創(chuàng)精品課程、錄像、代碼、教程(.

查看全部評分

本帖被以下淘專輯推薦:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享分享 分享淘帖1 訂閱訂閱
2#
發(fā)表于 2015-4-27 13:07:03 | 只看該作者
看看這個就是todaynew 老師幫助做的!用處非常大

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
3#
發(fā)表于 2015-4-27 13:20:43 | 只看該作者
老漢的作品一往如故的收藏中~

點擊這里給我發(fā)消息

4#
發(fā)表于 2015-4-27 14:28:08 | 只看該作者
收藏了!
回復

使用道具 舉報

5#
發(fā)表于 2016-3-24 12:01:21 | 只看該作者
收藏學習
回復

使用道具 舉報

6#
發(fā)表于 2016-8-20 15:15:51 | 只看該作者
已經(jīng)下載學習,謝謝
7#
發(fā)表于 2019-10-2 18:11:20 | 只看該作者
謝謝分享!。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-17 00:45 , Processed in 0.101938 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表