OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

access日付チェックの方法

  • 困ってます
  • 質問No.205729
  • 閲覧数928
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 47% (767/1609)

出来合いの簡易なaccessVBAのプログラムを使用しています。日付が「平成14年1月25日」の形がフォームの標準形なのですが、誤って「01月25日」と入れると入力されたものがおかしくなってしまいます。
そこで、フォームで「01月25日」や「11月05日」のような数値を入れて次のフォームに移ろうとするとメッセージを出すか勝手に修正するかの方法をとりたいのですが、VBAの超初心者にも簡単な方法を教えていただけないでしょうか。

#「フォーム」とは文字・数値を入力するボックスのこと。(正式名称がすぐに思い出せず。(-_-; )
#社内では、他のプログラムではほとんど「2001/01/25」のように「0」が入るので間違いやすい。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル6

ベストアンサー率 50% (6/12)

Accessのフォーム上のテキストボックスでは、書式および定型入力で簡単に入力形式を設定できます。ご質問の対応方法として、該当するテキストボックスのプロパティシートの「書式」の項に「ggge\年m月d日」と記載することで上記のように「01月25日」や「11月05日」を入力しても「平成14年1月25日」の形式に自動変換されます。
これは、年、月、日にテキストボックスを分けた場合も同様です。
ちなみに、日付formatにおいて、y、m、dの1文字は1桁の場合には1文字に2桁の場合には2文字に表示されます。
但し、これらはユーザー側の認識を容易にするもので、データベース上は基準日付(何時だったかは忘れました)からのシリアル値を持っているだけに過ぎないため、事後の処理(他のシステムとのデータ交換等)においては、共通のフォーマットを使用することで対応できます。
補足コメント
s-holmes

お礼率 47% (767/1609)

#補足としては、入力すると2つのテーブルに書き込まれるようで、「01月」のように入れても「伝票テーブル」の日付は問題なく、「伝票明細」のみテーブルの日付がおかしく(例 2001年が2025年になるなど)なるようです。

その部分のコードは下記となっているようです。

Private Sub 伝票日付_AfterUpdate()
On Error Resume Next
Dim strSQL As String
strSQL = "update T伝票明細 set 日付 = #" & 伝票日付 _
& "#,月度 = " & Format(伝票日付, "yyyymm") & " where 伝票番号 = " & 伝票番号
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
End Sub
投稿日時 - 2002-01-28 06:36:01
お礼コメント
s-holmes

お礼率 47% (767/1609)

その後、コードを素人ながらに調べたところ、「明細伝票」への更新の際のSQLの「02/02/25」の形を「2002/02/25」の形式に変更したら正常になりました。

#良い勉強の機会になりました。
投稿日時 - 2002-01-28 07:22:08
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル9

ベストアンサー率 28% (16/56)

1.お使いのMicrosoftAccessのバージョンは? 2.その作者は、そのプログラムのカスタマイズを許可していますか? 3.mdbファイルですか? 4.[年][月][日]は、それぞれ独立した3つのテキストボックス(フォームとは呼びません)になっていますか? 5.(上記4で独立していない場合)  年月日を1つのテキストボックスに入力するとき、元号や年月日などのテキストも入力していますか? ...続きを読む
1.お使いのMicrosoftAccessのバージョンは?
2.その作者は、そのプログラムのカスタマイズを許可していますか?
3.mdbファイルですか?
4.[年][月][日]は、それぞれ独立した3つのテキストボックス(フォームとは呼びません)になっていますか?
5.(上記4で独立していない場合)
 年月日を1つのテキストボックスに入力するとき、元号や年月日などのテキストも入力していますか?
6.(上記5で入力していない場合)
 入力しなくても年月日の文字が出てきますか?
 元号は表示されますか?
 入力は西暦ですか和暦ですか?
以上について、補足をお願いします。
補足コメント
s-holmes

お礼率 47% (767/1609)

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

>1.お使いのMicrosoftAccessのバージョンは?

access2000です。

>2.その作者は、そのプログラムのカスタマイズを許可していますか?

書籍の付録で、自由にいじることができます。

>3.mdbファイルですか?

mdbファイルです。

>4.[年][月][日]は、それぞれ独立した3つのテキストボックス(フォームとは呼びません)になっていますか?

まとめて一つのテキストボックスとなっています。

>5.(上記4で独立していない場合)
>年月日を1つのテキストボックスに入力するとき、元号や年月日などのテキストも入力していますか?

初期数値を変更したい時のみ、変更して使います。

>6.(上記5で入力していない場合)
>入力しなくても年月日の文字が出てきますか?

でて来ます。

>元号は表示されますか?

自動的に表示されます。

>入力は西暦ですか和暦ですか?

和暦です。

#補足としては、入力すると2つのテーブルに書き込まれるようで、「01月」のように入れても「伝票テーブル」の日付は問題なく、「伝票明細」のみテーブルの日付がおかしく(例 2001年が2025年になるなど)なるようです。
投稿日時 - 2002-01-27 13:57:42
お礼コメント
s-holmes

お礼率 47% (767/1609)

その後、コードを素人ながらに調べたところ、「明細伝票」への更新の際のSQLの「02/02/25」の形を「2002/02/25」の形式に変更したら正常になりました。

#良い勉強の機会になりました。
投稿日時 - 2002-01-28 07:22:25
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ