【AccessVBA】特定の文字が入力されているフィールドの文字色を変更

Accessで見積書を改良しているのですが、基本、空欄は全部削除してデータに保存するようにコードを書いていたので、何点か単価見積をする時に区切りとして空欄をレコードに入れて印刷したいなという意見が出たんですが、そういうプログラムにしていなかったので、コードを追加しました。

このコードはレポート印刷時、『特定の文字が入力されているフィールドの文字の色を変更』しますので、例えば、『注意という文字が入力されたレコードは赤文字で表示する』など一部のレコードの色だけ変更したい場合に使用することができます。

特定の文字が入力されているフィールドの文字色を変更

ではさっそく、特定の文字が入力されているフォールドの文字色を変更をしてみましょう。特定の文字が入力されているフォールドの文字色を変更する場合のコードは以下のようになります。

特定の文字が入力されているフィールドの文字色を変更するコード
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)

If Me.商品名.Value = "空欄" Then

Me.商品名.ForeColor = 16777215’『16777215』は白

Else

Me.商品名.ForeColor = 0’『0』は黒

End If

解説

この例の場合は『商品名』というフィールドに『空欄』という文字が記入された場合、文字の色を白(『16777215』)にして印刷した時に表示しない(見えない)ようにしています。
そして、商品名の部分に『空欄』以外の文字が入力されている場合は黒(『0』)を表示するようにしています。

コードを記述する部分は、デザインビューにして、『詳細』タブをクリック。右側に表示される『プロパティシート』→『詳細』→『イベント』→『フォーマット時』に書き込みます。

言葉だけではわかりずらいので、それでは、実際にやってみましょう!

先ほど、『空欄』という文字を白(見えなくする)ようにコードを書いて設定しましたので、この場合は下のように表示されます。

『空欄』という文字の部分が白くなっているので表示されていませんよね。

こうすると、一行あけているように見えますよね。

アイデア次第で可能性が広がります。

私はAccessで便利によりよく使っていければいいなと思っています。

色をほかの色に変えたい時は、下のサイトさんのカラー表を参考にするといいと思います。

カラー番号の部分をコードに当てはめれば使えます。

文字の色ではなく、背景部分の色を変える場合はこちらのサイトさんを参考にするといいと思います。

特定の文字が入力されているフィールドの背景色を変更が詳しくコードが載っていますので、ここでは省略します。

カテゴリー:
関連記事