2016-05-25 2 views
1

Je n'arrive pas à changer la couleur de mon champ quand ils contiennent certains mots. Comme les règles de formatage ne fonctionnent pas, j'ai essayé d'écrire du code.MS Access 2013 Changer BackColor de Field s'il contient une chaîne

Voici ce que j'ai:

Private Sub txtStatus_Exit(Cancel As Integer) 
Select Case Me.Status 
     Case "Verkauft" 
     txtStatus.BackColor = vbRed 
End Select 
End Sub 

Le nom du champ est txtStatus, en fait il est un champ de combinaison avec menu déroulant. Qu'est-ce que je fais de mal? J'ai essayé sever Actiontypes mais il ne fonctionnera pas :(

+0

Avez-vous essayé quelque chose comme: 'Si instr (txtStatus.value, "Verkauft") <> 0 puis txtStatus.BackColor = vbRed' – Wouter

+0

ok cela a fonctionné pour le moment ... ma forme sont des tables continous. .. il # s maintenant changer la couleur pour toutes les tables quand il vérifie si c'est "Verkauft" Existe-t-il un moyen de coder qu'il devrait seulement cha nge le champ actuel – idunnowhatimdoin

+0

Non. C'est ce que sont les _Format Conditions_. – Gustav

Répondre

1

Vous devez éviter les champs de combo par tous les moyens. Ils comme vous l'avez déjà vu.

vous causer que des ennuis La valeur réelle est probablement un certain nombre, ainsi :

Private Sub txtStatus_Exit(Cancel As Integer) 

    Dim Status As Long 

    Status = Me!txtStatus.Value 
    ' Study value 
    Debug.Print "Status:", Status 

    Select Case Status 
     Case 3 ' adjust to the value matching Verkauft. 
      Me!txtStatus.BackColor = vbRed 
     Case Else 
      Me!txtStatus.BackColor = vbWhite 
    End Select 

End Sub 
+0

Je vais essayer cela en une seconde. En fait, je ne vois que le texte derrière tout est défini comme le nombre – idunnowhatimdoin