アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (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に代入させます。
    • good
    • 1
この回答へのお礼

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

お礼日時:2006/02/02 09:07

>カレンダーを用いて入力する際同じ日付を続けて入力できないのはなぜ


一度クリックしてあるカレンダーの同じ日付を再度クリックしてもイベントが発生しないからだと思いますが。

フォームの日付を入力するコントロールに
If IsNull(Me.日付のコントロール名) Then
Me.日付のコントロール名 = Me.カレンダーコントロール名.Value
End If
として未入力で他のコントロールにフォーカスが移ったらカレンダーの値を代入させてはどうでしょうか。

または他の方のいうようにボタンを作り
Me.日付のコントロール名 = Me.カレンダーコントロール名.Value
で代入させる。

この回答への補足

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

補足日時:2006/01/26 17:03
    • good
    • 0

アクセスのカレンダーコントロールは使ったことがありません(^^;


で、回答ではありませんが、「同じ日付を入力」ボタンを一つ追加してはいかがですか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/01/26 17:08

答えにならないかもしれませんが、



私は解決策を見つけられず、非連結でフォーム上に配置し、ボタンで連結しているテキストボックスにデータを入れていました。 
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/01/26 17:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す