Exemple : validation d’un champ

Cet exemple montre comment valider la valeur d’un seul champ. Par exemple, le segment de code suivant montre comment vous pouvez vous assurer qu’un utilisateur d’un groupe spécifique ne peut pas diminuer la priorité d’un défaut.

Dans cet exemple, si l’utilisateur fait partie du groupe QATester et que le champ BG_PRIORITY est modifié, la nouvelle valeur du champ BG_PRIORITY ne peut être inférieure à la valeur actuelle.

Cet exemple suppose que dans la liste des champs Priorité du projet, les priorités les plus faibles viennent en premier lorsque les valeurs sont triées par ordre croissant. Par exemple, la liste répond à cette exigence si les éléments sont les suivants : 1-Bas, 2-Moyen, 3-Haut.

Ajoutez le code à la procédure événementielle Bug_FieldCanChange afin qu’elle soit déclenchée lorsque l’utilisateur tente de modifier la valeur d’un champ de défaut.

Function Bug_FieldCanChange(FieldName, NewValue)
        ' Initialize the function's return value 
	' to avoid unpredictable behavior.
        Bug_FieldCanChange = True 
        On Error Resume Next
        If User.IsInGroup("QATester") and FieldName ="BG_PRIORITY" _
	 Then
            If NewValue < Bug_Fields("BG_PRIORITY").Value then
                Bug_FieldCanChange = False
                msgbox "You do not have permission to lower " _
		 & "defect priority."
            Else
                Bug_FieldCanChange = True
            End If
        Else
            ' Enter your code here.
        End If
        PrintError "Bug_FieldCanChange"
        On Error GoTo 0
End Function