
No.5ベストアンサー
- 回答日時:
条件のパターンと言うか組み合わせにもよりますね。
まぁ、私は2件以上の条件になればSELECT文を使用していますが…
以下簡単に、よく使われるであろうパターンを幾つか記述します。
以下の組み合わせで、大半のものは出来ると思います。多分…
例3や例4で記述している「Select Case True」と言う記述は、
通常の記述とは逆にCaseの条件式がTrueであるかという判定をします。
これは何かと使用に便利なので覚えておくといいかもしれませんね。
参考程度の如何でしょうか。
例1:「Aが1の時or2の時or3の時ならば…」
Select Case A
Case 1
Case 2
Case 3
End Select
例2:「Aが1の時orBが1の時orCが1の時ならば…」
Select Case 1
Case A
Case B
Case C
End Select
例3:「Aが1or2の時またはBが1or2の時ならば」
Select Case True
Case A = 1, A = 2
Case B = 1, B = 2
End Select
例4:「Aが1でさらに、Bが1の時or2の時or3の時ならば」
Select Case True
Case (A = 1) and (B = 1)
Case (A = 1) and (B = 2)
Case (A = 1) and (B = 3)
End Select
と言う風に、毎度(A = 1)を書くのもどうかと思うので
If A = 1 Then
Select Case B
Case 1
Case 2
Case 3
End Select
End If
とする方法もありますね。
No.4
- 回答日時:
case 文は1つの条件式に対して評価を行うので、一度だけ評価される条件式を書くだけでOKです。
Select Case 条件式
Case "A"
Aの時の処理
Case "B"
Bの時の処理
End Select
これをIf文で書くと
条件式を何度も書かなければならないので、コードも煩雑になりますし、当然処理も遅くなります。
可能な限りCase文使うことをお勧めします。
If文を使うメリットとして、複数の条件式に対して評価をする場合に有効だと思います。
If 条件式A Then
条件式Aの時の処理
ElseIf 条件式B Then
条件式Bの時の処理
End If
それと、記憶が定かではないのですが、Case文では不等号の評価ができなかった気がするので、その際はIF文を使用したほうがよいと思います。
No.3
- 回答日時:
「結構なパターンで」とのことですので
条件式に対する、分岐点が多数あると言うことなのかな?
条件に対して、「AかBか」とか「onかoffか」と言った
二者択一のような場合でしらば、ifでよいのでしょうが
Aの時~
Bの時~
Cの時~
といった感じでしたらば、caseでしょうね
後から見た場合に、その方が分岐条件が理解しやすい気がします。
No.2
- 回答日時:
私もASPを少しかじってますが・・・
私ならCaseでの分岐をおすすめします。
あとあとのメンテナンスを考えるとIfのネスト構造より
Caseで条件を明記した方がいいと思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- JavaScript 条件に該当した時のみ定数を宣言する事はできますか 8 2023/03/15 05:55
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- C言語・C++・C# c言語 1 2022/11/09 13:05
- C言語・C++・C# C言語 3 2022/11/09 13:27
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- その他(データベース) 「1004:アプリケーション定義またはオブジェクト定義のエラー」への解消方法に関して 1 2023/07/09 11:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スイッチが二台あり、別々のア...
-
エクセルに張り付けた写真のフ...
-
phpのファイルがブラウザで開か...
-
ffftpでファイル取得が0バイト...
-
onedrive にexcelファイルをア...
-
VBAでPDFを作成する際、同じ名...
-
Accessのトグルボタンでサブフ...
-
高校1年生情報の問題について。
-
vba 空のデータをSplitする時の...
-
Windowsで複数のファイルを同じ...
-
バッチファイル IF文の書き方に...
-
エクセルマクロについて
-
【VB.NET】for each文からのINS...
-
VB.NET Excelを読み込んでDataT...
-
【VB.NET】App.configにファイ...
-
Excelにて、シート間で、データ...
-
マイクロソフトのビルゲイツさ...
-
VB.NETでMSComm が追加できず?
-
SPO2測定
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[ASP]If~Else If~End If 対 Case
-
MoveNextの処理速度は?
-
Excel VBA マクロ処理 リンク先...
-
トランザクションとは何のこと...
-
awkで、空欄箇所を埋めたい
-
JDBCでのトランザクション・排...
-
トランザクション管理について
-
COBOLのPtoPとは?
-
リフレッシュ処理の意味を教え...
-
Fortran77でデータベース処理っ...
-
プログラムの規模を表す単位「k...
-
ubuntuで デイスク/deb/loopと...
-
パソコンでインターネット接続...
-
ステップ数について
-
hdmiはパラレル?シリアル?
-
ライン数とステップ数の違いに...
-
最大スタックサイズを大きくす...
-
gccでスタックサイズを変更する...
-
VB.netでDLLを読み込んで実行す...
-
printf / sprintf のスタック消...
おすすめ情報