• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • Accessフォームで日付入力

    【Access2013 VBA】 日付のフィールドをフォームから入力スル場合に そのフィールドにカーソルを移動した時、普通は、右端に四角い日付入力用のマークが出て、それをクリックするとカレンダーが表示され、そこから選択することが可能ですが、 このマークが出るフィールドと出ないフィールドがあります。 何故なのかよく分かりません。 その設定方法などがあるのであれば、教えて頂きたいです。 画面の設定方法、そして、VBAでもやり方があるのであれば・・・ よろしくお願いします。

  • アクセスでの日付入力

    ACCESSで手間のかかる日付入力を出来るだけ簡単に入力できたらと考えています。 カレンダーコントロールを使用すると、日付入力のテキストボックスの数分カレンダーコントロールが必要になってしまうので、出来れば今日の日付を常に表示してボタンを使って前後の日付に変更出来るようにしたいと思っているのですが。 もしくは、コンボボックスのように矢印をクリックすると、カレンダーが出てくるのでも良いのですが。 何か良い方法があれば教えて下さい。

  • アクセスのカレンダーからの日付入力について。

    アクセスで、入力画面Aの中に、カレンダーのみのフォームBを開き、日付をクリックするとAの日付のところに代入され、カレンダーフォームBは閉じるようにするにはどうしたらよいでしょうか?Aの中にカレンダーを置けばよいのでしょうが、置くスペースがないのでボタンでBを開いて処理しようと思っています。よろしくお願いいたします。

  • Accessで日付から曜日を自動で入力させる

    表題の通りですが、Accessで以下のような事は可能でしょうか? 1.フィールド1に日付を入力(例;2002/5/17) 2.フィールド2に日付・曜日を自動的に入力   (例;5月17日(金)) 入力作業は基本的に、入力用のフォームをつくって そこで行っています。

  • アクセスでカレンダーコントロールによる日付入力について。

    現在、アクセスのカレンダーコントロールをクリックすると別の入力画面を開き、その日付がその画面の依頼日に挿入されるようにしてあります。それとは別に、カレンダーの日付が例えば7/3だとしたら、他の画面A、B、Cを別コントロールで開くときも依頼日のところに7/3と挿入することは可能でしょうか?カレンダークリックの上記の操作を同時にするのは無理でしょうか?よろしくお願いします。

  • Accessでボタンを押すと今日の日付を入力

    Access 2002で、フォーム内のボタンを押すとあるフィールドに今日の日付を入力させたいのですがどのように書けばいいでしょうか。 例) テーブル:顧客情報 フィールド名:購入日 よろしくお願いします。

  • アクセスの日付表示について。

    いつもお世話になります。 アクセスでシステム作成中ですが、質問です。 「依頼日」の翌日が「報告日」と設定してあるのですが、休日をはさんだり、何らかの理由で報告日が翌日ではなくなることがあります。「報告日」のコントロールソースはDateAdd(“d”,1,[依頼日])で計算による日付の表示ですが、手入力でいつでも変更することはできないでしょうか?よろしくお願いいたします。

  • ACCESS DTPickerコントロールで日付のみ入力

     DTPickerコントロールをフォームに配置して、日付を入力しているのですが、テーブルには自動的に時間も一緒に入力されてしまいます。これを日付のみの入力にできないでしょうか? DTPickerにはCustomFormatでyyy/MM/ddとしております。  入力に使用しているテーブルの日付フィールドの書式は「日付(S)」を使用しています。データシートビューで確認すると、普通に「2006/06/23」というふうに表示されていますが、カーソルを置くと「2006/06/23 8:30:31」と表示されます。  Between A and B で抽出の際にどうもこの時刻の部分にひっかかるのか、Bの1日前までしか抽出してくれません。  きっと単純なことだとは思うのですが、どうしても解らず質問させていただきました。 何卒、よろしくお願いします。

  • Access 日付で期間を求める式

    Access2010でフィールドのある日付から今日までの期間を求める式作ってます。 コントロールソースに  =DateDiff("d",[最終問合せ日],Date())  の式を入れてますが、 どうしてでもエラーが出ます。いつの間にか、DateDiff("\d",[最終問合せ日],Date())と\が入ります。 何がちがいますか? ちなみに、最終問合せ日のフィールドには、{2014/01/29}単純な日付が入力してあります。 教えてください。よろしくお願い致します。

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

     アクセス2000を使用しています。フォームで日付(受付日)を 入力する際に、○年○月○日のそれぞれをコンボボックスで選択 できるようにと考えています。でも私が思いつく方法だと、保存先 のテーブルには「受付年度」、「受付月」、「受付日」の3つの フィールドができてしまいます。そのテーブルで内容を確認する こともあるので、見た目にはあまりよくありません。  これを何とか、フォームでは3つのテキストボックスに分かれて いても、保存先では「受付年月日」としてひとつにまとめて 表示させることはできるでしょうか? 方法があれば教えてください。 説明がわかりにくい場合は、質問をお願いします。

専門家に質問してみよう