例:フィールドの検証
この例では、単一フィールド値を検証する方法を例示します。たとえば、次のコード・セグメントは、特定グループに属すユーザが不具合の優先度を下げられないようする方法を示します。
この例では、ユーザが QATester グループに属していて、[BG_PRIORITY]フィールドを変更する場合、[BG_PRIORITY]フィールドの新しい値を現在の値よりも下げることはできません。
この例では、プロジェクトの[優先度]フィールド・リストが、値を昇順にソートしたときに小さい優先度が先頭になることを前提としています。たとえば、次の要素であれば、リストはこの要件を満たします。1 - 低い、2 - 普通、3 - 高い
Bug_FieldCanChange イベント・プロシージャにコードを追加して、ユーザが不具合のフィールド値を変更しようとするとトリガされるようにします。
Function Bug_FieldCanChange(FieldName, NewValue)
' 関数の戻り値を初期化して、
' 予期しない動作を防ぎます。
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 "不具合の優先度" _
& "を下げるアクセス許可がありません。"
Else
Bug_FieldCanChange = True
End If
Else
' コードをここに入力します
End If
PrintError "Bug_FieldCanChange"
On Error GoTo 0
End Function

