#146 レコードの内容をヒントテキストとして表示するには? フォーム、VBA

通常、フォームのテキストボックスの"ヒントテキスト"プロパティには、そのデータの説明や入力方法、注意事項に関する情報を設定しておくことが多いと思います。

しかし、フォームのイベントプロシージャを利用すると、レコードの内容をヒントテキストとして表示させることができます。レコードの内容ですので、固定されたメッセージではなく、レコードごとに異なる情報を表示させることができるのです。

それには、フォームの"レコード移動時"イベントプロシージャを次のようにします。

ここでは、テキストボックス「在庫数」の数値をチェックし、もし在庫がなければ「次回入荷予定日」をヒントテキストとして画面表示します。「次回入荷予定日」のデータは、フォームのレコードソースに含まれるフィールドで、テキストボックスとしてはフォームに配置されていません。そのため、"[ ]"で囲むことによって、レコードソースのフィールド名を参照していることを指し示しています。
Private Sub Form_Current()

  If Me!在庫数 = 0 Then
    Me!在庫数.ControlTipText = "次回入荷予定は " & _
                                Format$([次回入荷予定], "yyyy年m月d日です")
  Else
    Me!在庫数.ControlTipText = ""
  End If

End Sub

実行画面例
※この例では、あらかじめ「次回入荷予定」フィールドに 2000/09/05 という日付データが入力されています。

※このような例では、あからじめフォームに「次回入荷予定日」のテキストボックスを配置しておけば済むでしょう。しかし、画面のレイアウト上、テキストボックスを配置するスペースがなかったり、ふだんはあまり見ないデータであったり、あるいは表形式フォームで複数行のテキストデータが表示できないような場合には、とても便利な方法だと思います。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved