- 締切済み
アクセス フォーム単表形式について
いつもお世話になります。 アクセスの単票形式フォームで、テキストボックスに数値を表示させています。タイマーで元データのテーブルを読み込んだ時に、最後に更新したテキストボックスがアクティブになっている(テキストボックス上でカーソルが点滅している)のですが、アクティブを解除する方法はありますでしょうか。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- DexMachina
- ベストアンサー率73% (1287/1744)
> アクティブを解除する方法はありますでしょうか。 直接的な方法はなかったかと思います(私が知らないだけでしたらすみません)。 ご質問のような場合には、「他のコントロールをアクティブにしてやる」のが一般的かと 思います。 これには「SetFocus」を使用します。 Private Sub Form_Timer() '「テキスト1」テキストボックスに、最終更新日を表示 Me!テキスト1 = DLookup("[最終更新日]", "T_編集履歴", "[ID] = " & Me!ID) '「閉じる」コマンドボタンをアクティブにする(=結果的に他はフォーカスを失う) 閉じる.SetFocus End Sub どのコントロールもアクティブにしたくない場合は・・・現時点で、私が思いつくのは、 「レコードの選択」でアクティブなコントロールをなくすことぐらいです。 (直後にDeleteキーを押すとレコードの削除になるので、あまりお勧めはできませんが(汗)) Private Sub Form_Timer() Me!テキスト1 = DLookup("[最終更新日]", "T_編集履歴", "[ID] = " & Me!ID) '「レコードの選択」に相当するコマンドを実行 DoCmd.RunCommand acCmdSelectRecord End Sub この場合、フォーム左端に「レコード セレクタ」が表示されているなら、そこが反転表示に なります。 なお、レコードセレクタは、フォームのプロパティシートの「レコードセレクタ」を「いいえ」に すれば、非表示にできますので、併せて参考まで。