• ベストアンサー

アクセスの日付入力について。

アクセスのフォームで日付入力をカレンダーコントロールから入力しようと考えていますが、日付入力フィールドが8種類あります。例えば、A購入日、B修理日、C修理完了日、D保守開始日、E保守終日、、、 などです。これらに1つずつカレンダーコントロールを設けることしか考えがないのですが、他によい方法があると思いますが、教えてください。現在DとEはDateAddで算出し、1つのカレンダーでまかなっています。 例えば、1つのカレンダーを固定して、新規画面を開いたときはその日の日付が表示され、それから加減して入力することは可能でしょうか?よろしくお願いいたします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

フォーム3(私の場合の名前)に ●テキストボックスを2つ貼り付け。 テキスト0 テキスト2 ●カレンダーコントロールを1つ貼り付け Calendar4 ーー アクセスのイベントに Option Compare Database Public a As Object Private Sub Calendar4_Click() MsgBox Forms("フォーム3").Calendar4.Value a.Value = Forms("フォーム3").Calendar4.Value End Sub Private Sub テキスト0_GotFocus() Set a = Nothing Set a = Me!テキスト0 End Sub Private Sub テキスト2_GotFocus() Set a = Nothing Set a = Me!テキスト2 End Sub ーー フォーム3をダブルクリックしてフォーム3を表示する。 テキスト0をマウスでクリック テキスト0にセットしたい日付をカレンダーの(年月)日を選んでクリック テキスト0に日付がセットされる ーー テキスト2をマウスでクリック カレンダーの(年月)日を選んでクリック テキスト2に日付がセットされる -- テキスト0の日付に誤りに気づき変更する場合 テキスト0(または2)をマウスでクリック カレンダーで前と別の訂正後の(年月)日を選んでクリック テキスト0に訂正後の日付がセットされる ーー これでカレンダーコントロール1つで、複数のテキストボックスのうち、マウスで選んだ1つに日付設定 が可能なように思いますが使えませんか。

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

データベースではテーブル設計の原則に 他のフィールドの値から演算で求められるものは格納しないというものがあります >現在DとEはDateAddで算出し >1つのカレンダーを固定して、新規画面を開いたときはその日の日付が表示され、 >それから加減して入力する 演算で求められるような日付は入力する必要がありません (もっと強く言えば、入力してはいけません)

関連するQ&A