Access VBA入門|If Then Else End Ifを使った条件分岐の基本

この記事では、Access VBAを使用したIf Then Else End IfとElseIfによる条件分岐の基本から応用までを解説します。複数の条件を効率的に扱う方法を学び、プログラミングスキルを向上させましょう。

Access VBAでの条件分岐の重要性

プログラミングにおいて条件分岐は不可欠です。 Access VBAでは、If Then Else End IfとElseIf構文を使用して、特定の条件に基づいて異なる動作を実行します。 これにより、アプリケーションの論理的な流れを制御し、より動的なデータベースを構築できます。
IF文を使用すると「もし~ならば〇を実行し、そうでなければ×を実行する」というような条件判断ができます。
IF文の終わりには必ずEnd Ifが必要です。

条件分岐の基本

この構文は、特定の条件が真(True)の場合と偽(False)の場合に、異なるコードブロックを実行するために使います。
例えば、ユーザーの入力値に応じてメッセージを表示したり、データを更新したりする場面で活用できます。

If 条件式 Then
 条件式が真(True)の場合に実行する処理
Else
 条件式が偽(False)の場合に実行する処理
End If

複数条件分岐の基本:

ElseIfの活用
複数の異なる条件を一つのIfステートメントで評価する場合、ElseIfを使用します。
これにより、コードの読みやすさが保たれ、保守が容易になります。また、パフォーマンスの点でも効率的です。

If 条件式A Then
 条件式Aが真(True)の場合に実行する処理
Else If 条件式B Then
 条件式Bが真(True)の場合に実行する処理
Else If 条件式C Then
 条件式Cが真(True)の場合に実行する処理

Else
 条件式が偽(False)の場合に実行する処理
End If


同じ条件分岐を解説した「Access:IIF関数をクエリで使用する|入れ子で複数条件を設定 - 雇用表の従業員総数フィールドに設定」も参照してください。




● If Then End If の使用例

Else文を使用しなければ「もし~ならば〇を実行する」になります。
If Then End If の使用例

Sub MyIf()
    Dim s As String
    
    s = InputBox("1~9を入力してください", "入力")
    If s = "1" Then
        MsgBox "1が入力されました。"
    End If
End Sub

実行すると下のInput BOXが表示されるので「1」を入力します。
Input BOXが表示されるので「1」を入力

「If s = "1" Then」で真(True)と判定され、MsgBoxが表示されます。
真(True)と判定され、MsgBoxが表示

● If Then Else End If の使用例

「もし~ならば IfとElseの間 を実行し、そうでなければ ElseとEndIfの間 を実行します。
If Then Else End If の使用例

Sub MyIf()
    Dim s As String
    
    s = InputBox("1~9を入力してください", "入力")
    If s = "1" Then
        MsgBox "1が入力されました。"
    Else
        MsgBox "1以外が入力されました。"
    End If
End Sub

実行しInputBoxに「5」を入力します。
InputBoxに「5」を入力

「If s = "1" Then」で偽(False)と判定され、以外のMsgBoxが表示されます。
偽(False)と判定され、以外のMsgBoxが表示

● If Then ElseIf Else End If の使用例

ElseIFを使うといくつでも条件を設定できます。
ただしあまり多すぎるとバグ発生の元になり、デバッグも大変になります。
ElseIFを使うといくつでも条件を設定できる

Sub MyIf()
    Dim s As String
    
    s = InputBox("1~9を入力してください", "入力")
    If s = "1" Then
        MsgBox "1が入力されました。"
    ElseIf s = "2" Then
        MsgBox "2が入力されました。"
    ElseIf s = "3" Then
        MsgBox "3が入力されました。"
    ElseIf s = "4" Then
        MsgBox "4が入力されました。"
    ElseIf s = "5" Then
        MsgBox "5が入力されました。"
    Else
        MsgBox "1~5以外が入力されました。"
    End If
End Sub

実行しInputBoxに「3」を入力します。
InputBoxに「3」を入力

「ElseIf s = "3" Then」で真(True)と判定され、MsgBoxが表示されます。
真(True)と判定されMsgBoxが表示


Copyright(C) FeedSoft