ACCESS VBA Select Caseで条件分岐する方法

Select Caseで条件分岐する方法

ACCESS VBAでは条件分岐をよく利用します。
条件分岐に利用する構文で最もよく利用されるのがIf文ですが、それ以外にSelect Caseも使えると便利です。

今回は、ACCESS VBAでSelect Caseで条件分岐する方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSをもっと使いこなしたい方向けにACCESSの関数をご紹介していきます。

Select Caseの構文

Select Caseステートメントは条件分岐を記述するためのものです。
以下の構文で利用します。

Select Caseの後に記述した判定する数式や変数の値に応じて複数に分岐させることが可能です。
Case以降はいくつでも分岐させることが可能です。

If文との使い分け

Select Caseと同様に条件分岐に利用する構文にIf文があります。
If 文とSelect Caseはどのように使い分ければよいでしょうか。

まず基本的に、どちらを使っても同じ処理は作成可能です。
If文を使って先ほどのように複数に分岐する処理を記述すると以下のようになります。

If文の場合は判定結果が複数に分岐する処理は若干分かりにくくなります。
Select Caseではすべてのパターンを並列に扱いますが、If … ElseIfでは最初の条件に合致しなかった場合に次の条件判定に移るので条件に考慮が必要です。

そのため、同一判定条件で結果が複数に分かれる場合はSelect Case、判定するたびに条件が異なるような複雑な分岐がある場合はIf文と使い分けるとよいでしょう。

Select Caseを使ったプロシージャの例

最後に、Select Caseを使ったVBAのプロシージャの例を示します。
以下は、フォームの詳細セクションをロックして編集不可にするプロシージャです。

フォームには様々なコントロールがありますので、コントロールの種類によって処理内容を変えないといけません。
そこで、Select Caseを使ってコントロールタイプを判別しながら、フォームの詳細セクションにあるすべてのコントロールにロック処理をしています。

以上、Select Caseで条件分岐する方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。