• ベストアンサー

アクセスでフォームにカレンダーを用いて入力する際の困りごと

アクセスでフォームにカレンダーを用いて入力する際、同じ日付を続けて入力できないのはなぜでしょうか。  2006年1月25日を選択したレコードを保存して、 次のレコードも2006年1月25日を選択しようとしても反応しません。違う日付をいったんクリックしてからやると選択できるのですが、大量のデータを処理しようとする際は、かなりのストレスになりそうです。 宜しくお願いします。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

>内容を実現させるには具体的にどういう操作が必要なのでしょうか。 >未入力で他のコントロールにフォーカスが移ったらカレンダーの値を代入 フォームの日付を入力するコントロールが例えばDate1としてカンレンダーコントロールをCalendar1という名前としたた場合。 Date1のプロパティを開きイベントでフォーカス喪失時イベントをコードビルダで開き Private Sub Date1_LostFocus() If IsNull(Me.Date1) Then Me.Date1 = Me.Calendar1.Value End If End Sub でDate1のコントロールにフォーカスが移り何も入力されないで他のコントロールにフォーカスが移るとCalendar1の日付をDate1に代入させます。何か入力すれば代入されません。例えばフォーカスの移るタブ順がCalendar1で次がDate1であればCalendar1から何も入力されないでDate1に移りDate1でも何も入力されなかった場合にCalendar1からDate1に日付を持ってきます。 >他の方のいうようにボタンを作り これはフォーム上にボタンコントロールを一つ作ります。 そのボタンのプロパティを開きクリック時イベントに記述します。(ボタンがCmd1という名前の場合) Private Sub Cmd1_Click() Me.Date1 = Me.Calendar1.Value End Sub とすればボタンを押せばカレンダーから日付をDate1に代入させます。

chessbeauty
質問者

お礼

大変丁寧にありがとうございます。 色々試して見ましたが、思うような成果が得られず、 自分の力量不足を実感しました。 また、何かありましたら宜しくお願いいたします。

その他の回答 (3)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

>カレンダーを用いて入力する際同じ日付を続けて入力できないのはなぜ 一度クリックしてあるカレンダーの同じ日付を再度クリックしてもイベントが発生しないからだと思いますが。 フォームの日付を入力するコントロールに If IsNull(Me.日付のコントロール名) Then Me.日付のコントロール名 = Me.カレンダーコントロール名.Value End If として未入力で他のコントロールにフォーカスが移ったらカレンダーの値を代入させてはどうでしょうか。 または他の方のいうようにボタンを作り Me.日付のコントロール名 = Me.カレンダーコントロール名.Value で代入させる。

chessbeauty
質問者

補足

お恥ずかしい話ですが、回答の 内容を実現させるには具体的に どういう操作が必要なのでしょうか。 プロパティの何かを変える必要があると言うことなのでしょうか。

noname#182251
noname#182251
回答No.2

アクセスのカレンダーコントロールは使ったことがありません(^^; で、回答ではありませんが、「同じ日付を入力」ボタンを一つ追加してはいかがですか?

chessbeauty
質問者

お礼

早速の回答ありがとうございます。

noname#60992
noname#60992
回答No.1

答えにならないかもしれませんが、 私は解決策を見つけられず、非連結でフォーム上に配置し、ボタンで連結しているテキストボックスにデータを入れていました。 

chessbeauty
質問者

お礼

早速の回答ありがとうございます。

関連するQ&A

  • アクセス2003のカレンダー使用について教えてください。

    アクセス2003のカレンダー使用について教えてください。 選択クエリがレコードソースの帳票フォームがあります。日付を入力して、その日付のレコードのみ抽出するようにいているのですが、これをカレンダーの日付と連動させて、そのフォームを開いたら自動でその日付のレコードのみ抽出できるようにしたいです。マクロを使って(値代入)ためしてみたのですが、うまくできませんでした。カレンダーはメインフォーム上にあり、別フォームでは簡単に値代入できています。ただ、選択クエリのように、抽出条件のところには代入は無理なのでしょうか?どなたかよろしくお願いいたします。。。

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

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

  • アクセス2007のフォーム

    アクセス2007のフォームで、日付入力する項目のプロパティ―シートのデータタブの既定値の式ビルダで、先月の最終日にカレンダーを開いた時の日付が設定される様にするにはどうしたらいいですか? 例えば今日の日付が2009年11月10日ならば、カレンダーを開くと2009年10月31日が選択されている様にしたいです。 誰か教えて下さい。よろしくお願いします。

  • アクセスのフォームでカレンダーをクリックすると別画面の新規レコードがすぐに開くようにするには?

    こんばんは。いつも大変お世話になってます。 アクセスのメインメニューフォームでカレンダーをクリックすると別画面(検体別入力画面)の新規レコードがすぐに開くようにするにはどうしたらよいのでしょうか?(おかげさまで、カレンダーの日付は新規レコードの依頼日というコントロールに代入できるようにはなりました。) また、カレンダーの日付をクリックしたらその日の新規レコードが開いて、そのフォーム内にはその日のレコードのみが表示されるようにしたいのですが、どのようにしたらよいのでしょうか?よろしくお願いします。

  • アクセスのフォーム入力について

    アクセス初心者です。操作方法でどうしてもわからないところがあり、知識を分けていただけたら嬉しいです。 仕事で、フォームを使って新規データ入力を行うことがとても多いのです。新しいレコードにデータを入力する際に、最終レコードのデータが初期値として入力されているようにすることは可能でしょうか? 日付などの共通のデータが、新しいレコードの初期値として予め入っていればとても助かります。新レコード入力の際に、常に最終レコード(一つ前に入力したデータ)の値を入れておく方法があれば、ご伝授をお願いいたします。

  • アクセスのフォームに入力時の印刷

    アクセスのフォームからデータを入力した時に一枚一枚印刷する必要が大量にあるのですが、「印刷」 - 「ページ範囲」で「選択したレコード」を選択して印刷するより簡単な方法はありますか。

  • カレンダーフォームの操作についてヘルプIII

    カレンダーフォームの操作についてご指導をお願いします。 Access2007 カレンダーコントロール12.0 やりたいこと 開いたカレンダーコントロールフォーム「フォーム名:カレンダーマスター」の任意の日付にコメントを入力、リアルタイム日付表示状態でメモ確認カレンダーとして使いたい。 やったことと「不具合」 「カレンダーマスター」をデザインビューで開いて「プロパティーシート」その他タブの「ヒントテキスト」行に記入する。しかし、起動時にはカレンダーが本日の日付になていましたが、将来の日付を選択してヒントテキストを入力後にフォーム「カレンダーマスター」へ戻すと、本日の日付に戻らず入力した日付表示で本日の日付に戻りません。入力操作(カレンダーマスター → コメント入力日を選択 → デザインビュー → ヒントテキスト入力 → フォームに戻す) おねがい フォーム「カレンダーマスター」を開いた状態でコメントの入力が可能な方法かあればアドバイスをお願いします。可能でなければデザインビューで開いて「ヒントテキスト」行に記入してフォーム「カレンダーマスター」に戻した時に、本日の日付に戻せる方法を教えて下さい。 アドバイスをお願いします。

  • アクセス2007で

    アクセス2007で、クエリで検索条件を"~年~月~日から~年~月~日"までとし、それぞれ開始月、終了月を入力するとその間のデータが表示される様にしたのですが、この年月日を入力する際に、フォームに日付を入力する時の様にカレンダーが表示され、カレンダーの日を選択すれば入力できる様にできませんか? 誰か教えて下さい。よろしくお願いします。

  • アクセス フォームで同じ日にちを自動で入力させるには

    こんばんは。 アクセスで次のようなテーブルを作りました。 日   コード   工数(分) 5/2   12345    30 5/2   15555    20 5/2   13456    50 5/3   13545    100 このデータをフォームから入力させたいのですが、 同じ日付を何度も入力させるのが大変なので、 5/2  コード 工数     コード 工数 1度入力しただけで、次のレコードにも同じ日付が入るようにしたいのです。 また、5/2を一つのレコード。 5/3を次のレコードと認識してくれ、画面が切り替わるようにしたいのですが、アクセスではどのようにすれば良いのでしょうか。 (コードは月により変化します。) 宜しくお願い致します。

  • Accessフォームの日付選択カレンダーとイベント

    いつも楽しく勉強させていただいております。 環境はWin7でAccess(Office 365)です。 フォームでコントロールソースが日付時刻型のテキストボックスに値を設定する際に 日付選択カレンダーを使いたいのですが、そうするとテキストボックスの更新前イベントが 検知できなくて困っています。 この項目は契約の有効開始日なので、これを変更すると他の項目にすでに設定された値を クリアする必要があるのでその警告のワーニングを出したいのです。 日付選択カレンダーの機能をオフにすると更新前イベントは検知できます。 しかし他のフォームでは日付選択カレンダーを使っているのでそろえたいのです。 日付選択カレンダーと更新前イベントは両立しないのでしょうか。 何か方法よいはありませんか。