【Access VBA】論理演算子とは?And・Or・Notの使い方を解説

Access VBAを学び始めると、
- 複数条件を判定したい
- 「かつ」「または」を使いたい
- If文をもっと便利にしたい
という場面が出てきます。
そこで使うのが、論理演算子です。
論理演算子はフォーム入力チェックやデータ判定では必須レベルです。
この記事では、Access VBA初心者向けに論理演算子の基本をやさしく解説します。
目次
Access VBAの論理演算子とは?
結論からいうと、論理演算子とは、複数の条件を組み合わせるための機能のことです。
例えば、
- 社員名が入力済み
- 部署も入力済み
の両方を確認したい場合があります。
その時に論理演算子を使います。
よく使う論理演算子
| 演算子 | 意味 |
|---|---|
| And | かつ |
| Or | または |
| Not | ではない |
実務ではIf文と組み合わせて使うことが非常に多いです。
And演算子の使い方
最も使用頻度が高いのが、Andです。
Andとは?
「両方とも条件成立ならTrue」という意味です。
サンプルコード
If score >= 70 And score <= 100 Then
MsgBox "合格範囲です"
End Ifコードの目的
点数が70以上かつ100以下ならメッセージ表示しています。
動きのイメージ
| 条件1 | 条件2 | 結果 |
|---|---|---|
| True | True | True |
| True | False | False |
Andは、全部満たす必要があると覚えるとわかりやすいです。
実務でよく使う場面
- 未入力チェック
- 日付範囲判定
- 数値チェック
- ログイン判定
などでかなり使います。
Or・Not演算子の使い方
次によく使うのが、OrとNotです。
Orとは?
「どちらか1つでも成立ならTrue」です。
Orのサンプル
If score < 0 Or score > 100 Then
MsgBox "点数が不正です"
End Ifこれは、
- 0未満
- 100超え
のどちらかならエラー表示しています。
Notとは?
条件を反転する演算子です。
Notのサンプル
If Not IsNull(Me!社員名) Then
MsgBox "入力済みです"
End Ifこれは、Nullではないという意味になります。
実務ではNull判定でかなり使います。
実務でよく使う論理演算子のパターン
実務ではフォーム入力チェックが特に多いです。
未入力チェック
If Nz(Me!社員名, "") = "" Or Nz(Me!部署, "") = "" Then
MsgBox "未入力項目があります"
Exit Sub
End Ifコードの目的
社員名または部署が未入力ならエラー表示しています。
AndとOrの違いに注意
初心者がかなり混乱しやすいポイントです。
| 演算子 | 意味 |
|---|---|
| And | 全部必要 |
| Or | どれか1つでOK |
実務では条件ミスでバグになることが非常に多いです。
カッコで見やすくする
条件が長い場合は、
If (A = 1 And B = 2) Or C = 3 Thenのようにカッコを使うとわかりやすくなります。
実務での注意点とまとめ
Access VBAの論理演算子は、条件分岐で必須の基本機能です。
| 演算子 | 意味 |
|---|---|
| And | 全部必要 |
| Or | どれか1つ |
| Not | 反転 |
論理演算子を理解できると、Access VBAのフォーム
開発や入力チェックがかなり作りやすくなります。
コメント