カテゴリー別アーカイブ: Access

AccessのVBAで日付フィールドを簡単に入力する方法

他にやり方あるのかもしれませんが、Accessで日付の入力フィールドを作ったときに、西暦ならば2012/09/07、和暦ならばH24/09/07と入れないとエラーに成ってしまいます。
/を打ったり、Hを打ったりするのが面倒なのです。20120907や240907と入れて日付として格納したい場合、いろいろやってみましたがKeyDouwnがいいみたいですた。
生年月日という日付のフィールドがあった場合、下記の通りです。西暦か和暦かの区別は、西暦時に先頭に.を付けるようにしてみました。

Private Sub 生年月日_KeyDown(KeyCode As Integer, Shift As Integer)
    If (Len(生年月日.Text) = 9 And Left(生年月日.Text, 1) = ".") Then
        生年月日.Text = mID(生年月日.Text, 2, 4) & "/" & mID(生年月日.Text, 6, 2) & "/" & Right(生年月日.Text, 2)
        生年月日.Value = DateValue(生年月日.Text)
    ElseIf (Len(生年月日.Text) = 6 And Left(生年月日.Text, 1) <> ".") Then
        生年月日.Text = "H" & Left(生年月日.Text, 2) & "/" & mID(生年月日.Text, 3, 2) & "/" & Right(生年月日.Text, 2)
        生年月日.Value = DateValue(生年月日.Text)
    End If
End Sub