• 締切済み

アクセス フォーム単表形式について

いつもお世話になります。 アクセスの単票形式フォームで、テキストボックスに数値を表示させています。タイマーで元データのテーブルを読み込んだ時に、最後に更新したテキストボックスがアクティブになっている(テキストボックス上でカーソルが点滅している)のですが、アクティブを解除する方法はありますでしょうか。

この投稿のマルチメディアは削除されているためご覧いただけません。

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> アクティブを解除する方法はありますでしょうか。 直接的な方法はなかったかと思います(私が知らないだけでしたらすみません)。 ご質問のような場合には、「他のコントロールをアクティブにしてやる」のが一般的かと 思います。 これには「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 この場合、フォーム左端に「レコード セレクタ」が表示されているなら、そこが反転表示に なります。 なお、レコードセレクタは、フォームのプロパティシートの「レコードセレクタ」を「いいえ」に すれば、非表示にできますので、併せて参考まで。

関連するQ&A

専門家に質問してみよう