• ベストアンサー

Access:トグルボタンのフォントカラー変更について

Option Compare Database Private Sub トグル1_BeforeUpdate(Cancel As Integer) If トグル1 = -1 Then Me.トグル1.ForeColor = 10855845 Else     Me.トグル1.ForeColor = 0 End If End Sub Access2007を使用しています。 トグルボタンをクリックした場合、ボタンのフォントカラーを変えたく、上記のようにプログラムを組みました。 結果は動きました。 しかし、ボタンが一つだけなら良いのですが、複数ある場合、すべてのボタンに同じプログラムを設定しないと動きません。同じようなプログラムを複数組むのは無駄な気がしたので、以下のようなプログラムを作ってみました。 Option Compare Database Dim Text As String Private Sub トグル1_BeforeUpdate(Cancel As Integer) Text="トグル1" Call Test End Sub Sub Test() If Me.ActiveControl = -1 Then Me.Text.ForeColor = 10855845 Else Me.Text.ForeColor = 0 End If End sub 結果は動きませんでした。どうやら Me.Text.ForeColor = Me.トグル1.ForeColor と読んで欲しいところを Me.Text.ForeColor ="Me.Text.ForeColor" と読んでいるようです。 やはり、一つ一つに先頭のに記載したプログラムを入れていくしかないのでしょうか? ご教授の程、おねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

Accessは手元にない(どこにもない)のでなんですが、、 Controlsプロパティを使って。 '--------------------------------- Sub Test() If Me.Controls(Text) = -1 Then Me.Controls(Text).ForeColor = 10855845 Else Me.Controls(Text).ForeColor = 0 End If End Sub '----------------------------------- 外しましたらご容赦願います。  

Prytwen
質問者

お礼

速い!そしてグレイト!!最高ですw 手元にないのに組めるとは…凄いですw ありがとうございましたw

その他の回答 (1)

回答No.2

これでどうかな? Me.CONTROL(Text).ForeColor

Prytwen
質問者

お礼

動きました! 簡素かつストレートな回答、素晴らしいですw ありがとうございましたw