このページを共有

# Select Case ステートメントと If-Then-Else ステートメントでの標準設定の動作の定義

Select Case ステートメントや If-Then-Else ステートメントでは、標準設定の処理を定義しておかないと、予期しない結果が返される可能性があります。

## ベスト・プラクティス

予期しない結果が返されないようにするには、Select Case や If-Then-Else ステートメントでは、標準設定の動作を必ず定義します。

次の例では、コード内ですでに定義した Select Case ステートメントと If-Then-Else ステートメントでは対応できない状況に適用するために、標準設定の動作が正しく定義されているコードと誤ったコードを紹介します。

誤った方法

このサブルーチンでは、不具合のステータスが Open、New、Reopen のいずれかの場合にのみ `BG_USER_01` フィールドを表示しようとしています。ただし、ステータスが Closed または Fixed の不具合の IsVisible プロパティが True に設定された状態でこのサブルーチンのインスタンスが呼び出されると、ステータスが Closed または Fixed の不具合でもフィールドが表示されてしまいます。このような動作が発生するのは、Closed と Fixed のステータスを処理する Case ステートメントが定義されていないためです。

例:

    Sub Bug_FieldChange(FieldName)
        If FieldName="BG_STATUS" Then
            Select Case Bug_Fields(FieldName).Value
                Case "Open", "New", "Reopen" _
    	     Bug_Fields("BG_USER_01").IsVisible = True
            End Select
        End If
    End Sub

正しい方法

すべての可能性に対処したサブルーチンです。

例:

    Sub Bug_FieldChange(FieldName)
        If FieldName="BG_STATUS" Then
            Select Case Bug_Fields(FieldName).Value
                Case "Open", "New", "Reopen"
                    Bug_Fields("BG_USER_01").IsVisible = True
                Case Else
                    Bug_Fields("BG_USER_01").IsVisible = False
            End Select
        End If
    End Sub

https://admhelp.microfocus.com ALM 8942
検索結果の改善のヒント... ALM ヘルプセンター ALM ヘルプセンター ALM ヘルプ 17.0 すべてローカル・ヘルプセンターの表示オンライン・ヘルプセンターの表示戻るブラウザ履歴で元に戻る進むブラウザ履歴で前に進む検索の強調表示を解除次のトピック次のトピックに移動前のトピック前のトピックに移動現在のトピックを印刷バージョン: