2016-05-03 48 views
0

私は300以上のコントロールを持つアンバウンドフォームを使用して、注文時のラインアイテムから(再コードセット経由で)データを引き出し、異なる製品を数えて計算します。このフォームで1,2,3などの幅を持つ複数の商品を数えることができます。ユーザーが簡単に見ることができるようにテキストボックスの値を設定するときは、変更された値の背景色をvbGreenに設定するようにVBAでプログラミングされています変化したこと。複雑なMSアクセスフォームコントロールは背景色を変更しません

マイボックスは、ボックスをクリックしたときに緑色の背景にのみ表示されるただし値で満たされている

If Double20 <> 0 Then 
    Me.Double20.Value = Double20 
    Me.Double20.BackColor = VbGreen 
End If 

Double20で、はい、私がチェックするために、変数名を変更してみました(カウントを保持する変数紛争の場合)

すべてのアイデア?

編集:私はまた、明示的に

Forms![DWO Creator Form]![Double20].BackColor = vbRed 

を参照しようと、それはあなたのすべてのテキストボックスが透明な背景を持っている赤(しかし、それだけでクリックした後)

+0

は、あなたの最初の段落にいくつかの句読点を使用してください、それがするのは難しい本当にです読む。 ---フォーム上のコントロールと同じ名前の変数を持つべきではありません。それは混乱の確実な方法です。 – Andre

+0

私は変数の名前を変更しましたが、問題は解決しませんでした。 – CCG121

+0

If/ThenブロックにForm.Refreshを追加してみてください。場合によっては、フォームがなくてもリフレッシュされないことがあります。 –

答えて

2

にそれを変更します。

あなたはどちらかは、デザインビューでは「ノーマル」に設定し、または.BackColorを設定するとき

Me.Double20.BackStyle = 1 

を追加する必要があります。振り返ってみると

、これは明らかにされている必要があります - 彼らはフォーカスが透明な背景の正確な動作です持っている唯一の彼らの背景色を示すコントロール...

+0

ありがとうございましたこれまでにフォームでこの問題が発生したことはありませんでした。フォームに記入した最初のテキストボックスを変更したとは思わない – CCG121

関連する問題