• 締切済み

データシートフォームでのSellength

Access2010 データシートフォームの先頭のタブ位置(タブストップ0)に フォーカス時に全選択状態にしたいテキストボックスがあり、 Private Sub テキスト_Enter() Me!テキスト.SelStart = 0 Me!テキスト.SelLength = Nz(Len(Me!テキスト.Text)) End Sub のモジュールを入力しています。 普段はモジュール通りに機能するのですが、一つ前のレコードの最後のタブからEnterを押して レコード移動後このテキストボックスにフォーカスが移った場合に限り、全選択にならない事があります。 (このフォームではレコード移動時のモジュールは使用していません) ブレークポイントを入れて途中確認したところ内部上ではSelLengthの値は文字数通りになっているのですが、実際の画面ではおかしいままなので余計に分かりません 一応SendKeys "{F2}"に置き換えると全選択になったのでこれでやり過ごしているのですがどうすれば元のモジュールで正しく動いてもらえるのでしょうか?

みんなの回答

  • chayamati
  • ベストアンサー率41% (260/625)
回答No.2

オプションのクライアントの設定にフィールド移動時の動作がありました。 これは如何ですか

tetsusi
質問者

お礼

ありがとうございます。基本他の所では「最後に移動」になってほしいのでそちらをデフォルトにしています。この箇所だけ特別に全選択にしたいのでSellengthを用いて指定しようとしたのです

すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (260/625)
回答No.1

今晩は selLength未体験です。お答えする資格はないっと思いますが 参考URLはある程度進行しているようですが,未解決です。 経過を見ると、何らかの処理で値が規定値に戻っているようです。 次のコードでも入れますか ------------------------------------------------------------------------------------- Private Sub テキスト_Change() テキスト.SelStart = 0 テキスト.SelLength = 255 End Sub

参考URL:
http://www.accessclub.jp/bbs2/0133/beginter39991.html
tetsusi
質問者

お礼

ありがとうございます Changeでやったところ一文字入れる度に全選択になってしまったのでダメでした

すると、全ての回答が全文表示されます。

関連するQ&A