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 = 80score変数に値を代入することで点数を設定しています。
If score >= 70 ThenIf文で条件判定しています。
今回は、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()をかなり頻繁に使います。
あわせて読みたい


【Access VBA】Null判定の基本|IsNullとNzの使い分け
「Accessでフォームの未入力データを登録させたくない。」 このように思ったことはありませんか? AccessではIsNull関数やNz関数を使うことでNull判定や対策を簡単に行…
チェックボックス判定
If Me!完了 = True Then
MsgBox "完了済みです"
End Ifこういった処理も非常によく使います。
実務での注意点とまとめ
Access VBAのIf文は、最重要レベルの基本文法といえます。
| 構文 | 用途 |
|---|---|
| If Then | 条件一致時の処理 |
| Else | それ以外 |
| ElseIf | 複数条件 |
If文を理解できると、Access VBAで作れる業務システムの幅がかなり広がります。
コメント