【ACCESS VBA】条件によって処理を分岐する方法-その2-

訪問して頂きありがとうございます。まさふくろーです。

この記事では、条件によって処理を分岐する方法-その2-をご紹介します。

条件によって処理を分岐する(Is、Toキーワードを使用する場合)

条件によって処理を分岐する構文

Select Case testexpression
[ Case expressionlist-n ]

     [ statements-n ]

[ Case Else ]

     [ elsestatements ]

End Select

説明
Select Caseステートメントは、testexpressionに指定された式と、Case句を比較し、結果がTrueになればその句を実行します。
なお、Case句に当てはまった場合、それ以降の処理は行われません。
Case句に複数の条件を指定した場合、条件に当てはまる値があれば、以降の条件はチェックしません。
条件式には、Isキーワード、Toキーワードを指定して、数値に関する条件を指定することができます。
文字列を指定した場合は、その文字列と一致したCase句のステートメントが実行されます。
また、条件式には、カンマで区切って複数の条件を指定することができます。この場合、条件はOR条件になります。
カッコ「[ ]」の部分は、省略可能な項目です。
指定項目 必須 説明
testexpression 基本データ型(byte,short,int,long,float,double,char,boolean)のいずれかの値を指定します。
expressionlist-n 条件を指定します。Case句が指定されている場合は、必須です。
statements-n testexpressionの値が、expressionlist-nで指定した条件に当てはまった場合に実行する処理を記述します。
elsestatements testexpressionの値が、Case句で指定したどの条件にも当てはまらなかった場合に実行する処理を記述します。

Select Caseステートメントで使用できるIsキーワードとは

説明
Isキーワードとは、比較演算子と併用して値の範囲を指定できるキーワードです。
主な比較演算子
演算子 意味
= 右辺と左辺が等しい
> 左辺が右辺より大きい
>= 左辺が右辺以上
< 左辺が右辺より小さい
<= 左辺が右辺以下
<> 右辺と左辺が等しくない

Select Caseステートメントで使用できるToキーワードとは

説明
Toキーワードとは、値の範囲を指定できるキーワードです。
Toキーワードを使用する場合は、小さい方の値を To の前に置く必要があります。

サンプルプログラムで使用する関数

InputBox関数

InputBox(prompt, [ title ], [ default ], [ xpos ], [ ypos ], [ helpfile, context ])

説明
InputBox関数は、入力ダイアログ ボックスを表示し、ユーザーがテキストを入力するかボタンをクリックするまで待機し、テキストボックスに入力した文字列を返します。
指定項目 必須 説明
prompt ダイアログボックスにメッセージとして表示する文字列を指定します。
title ダイアログボックスのタイトルバーに表示する文字列を指定します。
default テキストボックスに初期表示したい文字列を指定します。
xpos 画面の左端からダイアログボックスの左端までの水平方向の距離を twip 単位で示す数値式です。 xpos が省略された場合、ダイアログボックスは水平方向の中央寄せで表示されます。
ypos 画面の上部からダイアログボックスの上端までの縦方向の距離を twip 単位で示す数値式です。 ypos が省略された場合、ダイアログボックスは画面の約 3 分 1 下に下がった位置に垂直方向に配置されます。
helpfile

ヘルプボタンが表示されます。
helpfileを指定した場合は、contextも必ず指定します。
context

コンテキストIDを指定します。
contextを指定した場合は、helpfileも必ず指定します。

サンプルプログラム

1 Subプロシージャ「Sample」を作成。
3 InputBox関数の戻り値用変数「ret」(長整数型)を宣言。
5 InputBoxで入力された値を、変数「ret」に代入。
7 変数「ret」の値が、
8 「0」より小さい場合、
9 「マイナス」とメッセージボックスに表示する。
10 「0~9」の間である場合、
11 「0以上10未満」とメッセージボックスに表示する。
12 上記の条件に当てはまらなかった場合、
13 「10以上」とメッセージボックスに表示する。

実行結果

「-1」を入力した場合

「2」を入力した場合

「10」を入力した場合

最後まで読んでいただき、ありがとうございました!