Accessのフォームでワンクリックでも少なくする為の小ネタ ~カーソル位置を文字の最後にセット~

カーソルが最後の位置に移動される

今回のエントリーはAccessのフォームで比較的良く使う小ネタになります。
Accessのフォームで住所入力支援機能を使った場合、特に感じる事ですが、EnterやTabキーでカーソルを移動するとコントロール全てが選択されて反転されますよね?

カーソルが反転する

でも実際のところ、住所欄などはそのまま最後の文字から番地などを続けて入力したいものです。

カーソルの位置を最後の文字にする

そんな時に使うのが以下の用法です。
内容は非常に簡単で指定のコントロール(今回はテキストボックス[txbAddress])のフォーカス取得後のイベントに以下のコードをセットします。

Private Sub txbAddress_GotFocus()
    Me!txbAddress.SelStart = Len(Me!txbAddress.Value)
End Sub

簡単に説明するとLen関数でテキストボックスに入力された文字数を取得し、その位置にSelStartプロパティでカーソルをセットするというシンプルなものです。

カーソルが最後の位置に移動される

これでカーソルは文字の最後に位置するようになります。
このように地味な処理ですがワンクリックでも作業工程を少なくする事が業務効率を改善するキーワードになります。

今回のサンプルファイルは以下のリンクからダウンロード可能です。