例:動的フィールド・リストの表現

この例では、別のフィールドの値に応じて、あるフィールド内のフィールド・リストを変化させる方法を例示します。

ユーザ定義関数 SW_SetLists_Environment は[Environment Specification]フィールドの値を確認し、それに合ったフィールド・リストを[Environment Type]フィールドに割り当てます。

この例では、フィールド・リストがプロジェクト内で定義されていることが想定されています。詳細については、「フィールド・リストのカスタマイズ」を参照してください。

注: ワークフロー・スクリプトを使用して、フィールドに割り当てられるリストを変更、作成するには、Open Test Architecture(OTA)インタフェースを使用する必要があります。

Bug_MoveTo イベント・プロシージャにコードを追加して、ユーザが不具合モジュール内でフォーカスを移動するときに、ユーザ定義関数SW_SetLists_Environment が呼び出されるようにします。

Sub Bug_MoveTo()
        On Error Resume Next
        SW_SetLists_Environment
        PrintError "Bug_MoveTo"
        On Error GoTo 0
End Sub

Bug_FieldChange イベント・プロシージャにコードを追加して、不具合モジュール内でユーザが[Environment Type]フィールドの値を変更するときに、ユーザ定義関数SW_SetLists_Environmentが呼び出されるようにします。

Sub Bug_FieldChange(FieldName)
        On Error Resume Next
        If FieldName = "BG_USER_01" then
            SW_SetLists_Environment
        Else
            ' コードをここに入力します
        End If
        PrintError "Bug_FieldChange"
        On Error GoTo 0
End Sub

ユーザ定義関数 SW_SetLists_Environment は[Environment Specification]フィールド(BG_USER_02)の値を確認し、それに合ったフィールド・リストを[Environment Type]フィールド(BG_USER_01)に割り当てます。

Sub SW_SetLists_Environment()
        Dim listName
        On Error Resume Next
        Select Case Bug_Fields("BG_USER_01").Value
        Case "Browser"
            listName = "Browsers"
        Case "Database Type"
            listName = "Database Type"
        Case "Operating System"
            listName = "Platform"
        Case "Web Server"
            listName = "Web Server"
        Case Else
            listName = "Environment Specification"
        End Select
        Bug_Fields("BG_USER_02").List = Lists(listName)
        PrintError ("Set Environment List")
        On Error GoTo 0
End Sub