こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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" と読んでいるようです。

やはり、一つ一つに先頭のに記載したプログラムを入れていくしかないのでしょうか?
ご教授の程、おねがいします。

投稿日時 - 2009-05-15 16:04:19

QNo.4960929

暇なときに回答ください

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

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
'-----------------------------------

外しましたらご容赦願います。
 

投稿日時 - 2009-05-15 16:29:55

お礼

速い!そしてグレイト!!最高ですw

手元にないのに組めるとは…凄いですw
ありがとうございましたw

投稿日時 - 2009-05-15 16:36:05

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

投稿日時 - 2009-05-15 16:30:50

お礼

動きました!
簡素かつストレートな回答、素晴らしいですw

ありがとうございましたw

投稿日時 - 2009-05-15 16:37:28

あなたにオススメの質問