【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結果
TrueTrueTrue
TrueFalseFalse

Andは、全部満たす必要があると覚えるとわかりやすいです。

実務でよく使う場面

  • 未入力チェック
  • 日付範囲判定
  • 数値チェック
  • ログイン判定

などでかなり使います。

Or・Not演算子の使い方

次によく使うのが、OrNotです。

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のフォーム

開発や入力チェックがかなり作りやすくなります。

コメント

コメントする

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

CAPTCHA

目次