#656 | テキストボックスの末尾の改行コードを保持するには? | フォーム、VBA | |
「メモ型(長いテキスト型)」のフィールドと連結されたようなテキストボックスに長い文章を入力したとき、その文章の末尾に空の行、つまり改行コードだけの行がいくつかある場合、Accessの特性として編集確定後にはそれらは無視されて保存されます。 たとえば下図のような状態になります。編集途中と確定後のカーソル位置に着目してください。上図はカーソルの前に空行がありますが、確定後はそれが消えています。 そのようなとき、文章の末尾の改行コードも含めて、入力内容をそのままフィールドに保存させる方法です。 それには、そのテキストボックス(ここでは”備考”)の「AfterUpdate/更新後処理」イベントプロシージャに次のようなコードを記述します。 Private Sub 備考_AfterUpdate() '[備考]の更新後処理 Me!備考 = Me!備考.Text End Sub 「Value」プロパティには確定した入力内容が保持されています。一方、「Text」プロパティには確定前の実際の入力内容(=末尾の改行コードも含んだもの)が保持されています。Accessでは何もしなければ更新後処理のあとに末尾の改行コードが消されてしまうので、その前に意図的に末尾の改行コードも含めた値をValueプロパティに移すことで、その対策を行っています。 実行例: |
|||
|
Copyright © T'sWare All rights reserved |