FormatとMonth関数の組み合わせに注意する
 Month関数とFormat関数を組み合わせて使用すると、正しい結果を返さない
現象が発生します。
 例えば、下記のような場合です。

Format$(Month(#4/1/2001#), "mmmm")

 上記のステートメントでは、AprilではなくJanuaryを返します。
 Month関数は日付を整数に変換し、Format関数は、引数として日付シリアル値
を指定しますが、日付シリアル値ではなく整数を受け取るため正しい結果を得る
ことができません。

 これは、 Accessの仕様によるものですが、このような現象を回避するための例
を、次にあげます。

 月のみを返すには、Month関数を使用せずにFormat関数のみを使用します。
 Month関数が必要な場合は、Choose関数を使用して月を返します。

●サンプル●

Sub Sample()

    MsgBox Format$(Month(#4/1/2001#), "mmmm")
    
    MsgBox Format(#4/1/2001#, "mmmm")

    MsgBox Choose(Month(#4/1/2001#), "January", "February", _
            "March", "April", "May", "June", "July", _
            "August", "September", "October", _
            "November", "December")
End Sub

Access97/2000



戻る


Excel Word Access VBA! モーグ