Microsoft Access Club >Access一日一見 >このページ >次頁 <前項  サイト内検索


DatePart 関数…



DatePart 関数は、 日付の指定した部分を含むバリアント型 (内部処理形式 Integer の Variant) の値を返します。

基本構文

DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

DatePart 関数の構文は、次の名前付き引数で構成されます。

指定項目 内容
interval 必ず指定します。時間間隔の単位を表す文字列式を指定します。
date 必ず指定します。評価するバリアント型 (内部処理形式 Date の Variant) の値を指定します。
firstdayofweek 省略可能です。週の始まりの曜日を表す定数を指定します。省略すると、日曜日を指定したものとみなされます。
firstweekofyear 省略可能です。年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週とみなされます。
設定値

名前付き引数 interval の設定値は次のとおりです。

設定値 内容
yyyy
q 四半期
m
y 年間通算日
d
w 週日
ww
h
n
s

名前付き引数 firstdayofweek の設定値は次のとおりです。

定数 内容
vbUseSystem 0 NLS API の設定値を使います。
vbSunday 1 (既定値) 日曜
vbMonday 2 月曜
vbTuesday 3 火曜
vbWednesday 4 水曜
vbThursday 5 木曜
vbFriday 6 金曜
vbSaturday 7 土曜

名前付き引数 firstweekofyear の設定値は次のとおりです。

定数 内容
vbUseSystem 0 NLS API の設定値を使います。
vbFirstJan1 1 (既定値) 1 月 1 日を含む週を年度の第 1 週として扱います。
vbFirstFourDays 2 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱います。
vbFirstFullWeek 3 全体が新年度に含まれる最初の週を年度の第 1 週として扱います。

解説

DatePart 関数を使うと、日付を評価し、特定の時間間隔部分を取得できます。たとえば、週日や現在の時刻などを計算できます。

名前付き引数 firstdayofweek は、名前付き引数 interval に週 ("ww") を指定した場合の計算値に影響します。

名前付き引数 date に日付リテラルを指定した場合、指定した年が日付の固定部分となります。ただし、名前付き引数 date をダブル クォーテーション (" ") で囲み、年を省略すると、名前付き引数 date の式が評価されるたびにコードに現在の年が挿入されます。 これを利用すると、異なる年度で使用できるコードを記述することが可能になります。

サンプルプロシージャの作成

Function SampleDatePart()

    On Error GoTo err_SampleDatePart

    Dim daTodayDate As String ' 変数を宣言します。
    Dim strMsg As String
    Dim flg As Boolean

    daTodayDate = InputBox("yyyy/m/d 形式で日付を入力してください。")
    If IsDate(daTodayDate) = False Then MsgBox "日付形式と認識できません。": End

    flg = MsgBox("通年処理の場合は「はい」、" & _
			"年度処理の場合は「いいえ」をクリック。", vbYesNo)

    If flg = True Then
        '通年(1月〜12月)の四半期を求めます。
        strMsg = "第 " & DatePart("q", daTodayDate) & " 四半期に該当します。"
    Else
        '年度(4月〜翌3月)の四半期を求めます。
        Select Case DatePart("q", daTodayDate)
            Case 1: strMsg = "第 4 四半期に該当します。"
            Case 2: strMsg = "第 1 四半期に該当します。"
            Case 3: strMsg = "第 2 四半期に該当します。"
            Case 4: strMsg = "第 3 四半期に該当します。"
        End Select
    End If

    Debug.Print strMsg 'イミディエイト画面に出力します。
    MsgBox strMsg 'メッセージボックスを表示します。

Exit Function

err_SampleDatePart:

    MsgBox "予期せぬエラーが発生しました。" & vbNewLine & _
            "エラー番号: " & Err.Number & vbNewLine & _
            "エラー内容:" & Err.Description
    Exit Function

End Function
プロシージャの実行
  1. このプロシージャを実行すると、下記のようなメッセージを表示します。

  1. 分岐処理のメッセージボックスが表示されます。

  1. 最後の仕上げです。

※Accessヘルプから引用しています。

2003/01/23 

ページの先頭へ 前ページへ戻る


DatePart 関数…


 

-Microsoft Access Club-

年額2,400円でドメインネームサーバーをご用意します。自宅サーバ構築時にご利用下さい。自宅サーバーは応用範囲が広いです。
年額2,400円でドメインネームサーバー。
自社・自宅サーバ構築時にご利用下さい。
やはり、自前サーバーは応用範囲が広いです。