アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセスのフォームの上にテキストボックスがあり、
書式はyyyy/mm/dd(aaa)になっています。

日付型の値を入力した際は問題ないのですが
例えば、20130720と入力したら、

このフィールドに入力した値が正しくありません。
例えば、数値型のフィールドに文字列を入力しました。

となります。

なので、

Private Sub 日付_BeforeUpdate(Cancel As Integer)

If Len(Me.ActiveControl.Value) = 8 Then
Me.ActiveControl.Value = Format(Me.ActiveControl.Value, "yyyy/mm/dd")
End If

End Sub

としてみたのですが、

更新前処理イベントが発動する前に、

「このフィールドに入力した値が正しくありません。
例えば、数値型のフィールドに文字列を入力しました。」

のエラーが出てしまうようです。

20130720の形の日付を入れても自動で日付型に変換するの方法はありますか?

A 回答 (1件)

>更新前処理イベントが発動する前に、


このAccess君のチェックをかい潜るすべは知りません。

コントロールのデータタブ→定型入力に、0000/00/00;0;_
書式が自動的に変わってしまうので再度、yyyy/mm/dd(aaa)
にもどす。
で近いことは出来ます。
参考になりそうなところ
http://hatenachips.blog34.fc2.com/blog-entry-304 …

もしくは、更新前処理ではなく変更時イベントで
Private Sub 日付_Change()
If Len(Me.ActiveControl.Text) = 8 And IsDate(Format(Me.ActiveControl.Text, "0000/00/00")) Then
Me.ActiveControl.Value = CDate(Format(Me.ActiveControl.Text, "0000/00/00"))
End If
End Sub
とかでも?
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2013/08/03 09:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A