★Microsoft Access★ at TECH
[2ch|▼Menu]
627:デフォルトの名無しさん
08/06/06 01:31:48
>>626
フォームだよな?>入力項目
なら、フォームの日付の入力項目に更新前・更新後イベント作って、VBAで下記のコード入れればOK。
「日付の入力項目」って所は適宜フォームのテキストボックスの名前に変えること。

' 更新前イベントでチェック
Private Sub 日付の入力項目_BeforeUpdate(Cancel As Integer)
If Not (IsDate(日付の入力項目)) And Not (Len(日付の入力項目) = 6 And IsNumeric(日付の入力項目)) Then
' 日付形式でも、6桁の数値でもない場合、エラーを表示して更新を中止
MsgBox "日付に変換できません。", vbOKOnly + vbExclamation, "エラー"
Cancel = True
End If
End Sub

' 更新後イベントで変換
Private Sub 日付の入力項目_AfterUpdate()
If IsDate(日付の入力項目) Then

' 日付形式だったら、yy/mm/ddの形式に変換する
日付の入力項目 = Format(DateValue(日付の入力項目), "yy/mm/dd")
ElseIf Len(日付の入力項目) = 6 And IsNumeric(日付の入力項目) Then

' 6桁の数値だったら、「1桁目から2桁/3桁目から2桁/5桁目から2桁」 に変換する
日付の入力項目 = Mid(日付の入力項目, 1, 2) & "/" & Mid(日付の入力項目, 3, 2) & "/" & Mid(日付の入力項目, 5, 2)
End If
End Sub





次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4968日前に更新/205 KB
担当:undef