Access VBAのIf文入門|Else・ElseIfの使い方も解説

Access VBAを学び始めると、

  • 条件によって処理を変えたい
  • 未入力ならエラー表示したい
  • 入力値によって保存内容を変更したい

という場面が必ず出てきます。

そこで使うのが、If文です。

If文は、Access VBAの中でも最重要レベルの基本文法です。

この記事では、Access VBA初心者向けにIf文の使い方をやさしく解説します。

目次

Access VBAのIf文とは?

結論からいうと、If文とは、条件によって処理を分ける構文のことです。

例えば、次のような処理で使います。

  • 未入力ならメッセージ表示
  • 売上金額によって処理変更
  • チェックONなら保存実行

If文の基本形

If 条件 Then
 処理
End If

「もし〇〇なら処理する」という意味になります。

If~Thenの基本的な使い方

まずは最も基本的な書き方です。

サンプルコード

Dim score As Integer
score = 80

If score >= 70 Then
 MsgBox "合格です"
End If

コードの目的

点数が70以上なら「合格です」を表示しています。

1行ずつ解説

score = 80

score変数に値を代入することで点数を設定しています。

If score >= 70 Then

If文で条件判定しています。

今回は、80 >= 70なので条件成立です。

そのため、 次のメッセージが表示されます。

Megabox "合格です"

よく使う比較演算子

演算子意味
=等しい
<>等しくない
>より大きい
<より小さい
>=以上
<=以下

実務では毎日のように使います。

Else・ElseIfの使い方

条件が複数ある場合は、

Else
ElseIf

を使います。

Elseのサンプル

If score >= 70 Then
 MsgBox "合格"
Else
 MsgBox "不合格"
End If

条件に一致しない場合にElse側が実行されます。

ElseIfのサンプル

If score >= 90 Then
 MsgBox "S評価"
ElseIf score >= 70 Then
 MsgBox "A評価"
Else
 MsgBox "B評価"
End If

このように複数条件を分岐できます。

実務で非常によく使う

例えば、 次のような処理で頻繁に使います。

  • 売上ランク判定
  • 入力チェック
  • 権限制御
  • ステータス管理

実務でよく使うIf文のパターン

実務ではフォーム入力チェックが特に多いです。

未入力チェック

If Nz(Me!社員名, "") = "" Then
 MsgBox "社員名を入力してください"
 Exit Sub
End If

コードの目的

社員名が未入力ならメッセージ表示しています。

Nz関数も重要

AccessではNull対策が非常に重要です。

実務では、Nz()をかなり頻繁に使います。

チェックボックス判定

If Me!完了 = True Then
 MsgBox "完了済みです"
End If

こういった処理も非常によく使います。

実務での注意点とまとめ

Access VBAのIf文は、最重要レベルの基本文法といえます。

構文用途
If Then条件一致時の処理
Elseそれ以外
ElseIf複数条件

If文を理解できると、Access VBAで作れる業務システムの幅がかなり広がります。

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次