|
Access2003を使用しています。
先日、オートナンバーの飛び抜けで質問をさせていただきました。
その時にDMax関数を教えて頂き、ちょっとやってみたのですが、どうもうまく動作しないため、ご相談させていただきました。
データ入力用のフォーム上に、いくつかのコンボボックスが配置されており、そのフォームの一部に連番表示用のテキストボックスを配置しました。
フォーム未入力時(開いた時)には、連番用テキストボックスに値は入りません。
いくつかのコンボボックスの内、「件名」というコンボボックスをクリックすると、入力が開始されたと認識させようと、以下の構文を書きました。
Private Sub 件名_Click()
If (Me.NewRecord) Then Me.連番 = Nz(DMax("連番", "テーブル"), 0) + 1
End Sub
ところが、このコンボボックスをクリックした時に、連番のテキストボックスに値が入らず、同じフォーム上にある、カレンダーコントロール用のテキストボックスをダブルクリックして、カレンダーを表示させたときにのみ連番が入力されます。
フォームを開いて、最初にカレンダーコントロールをダブルクリックしても連番が入力されないことから、機能はしているのだと考えています。
フォーカス取得時や変更時に同じイベントを発生させても同様でした。
どうも、別のフォーム(ここではカレンダー)がアクティブになると連番が入力されるようなのですが、これを件名のコンボボックスをクリックしたときに連番が入るようにできるのでしょうか?
ちなみに、そのコンボボックスは別テーブルからデータを表示してリストからしか値が入らないようにしています。
Access初心者なので、分かりづらい文章で申し訳ありませんが、よろしくお願いいたします。
|
|