目次
1. やりたいことと現在のコード
2. 環境
3. エラー
4. 調査
5. 原因と最終的なコード
6. 参考
7. 最後に
1.やりたいことと現在のコード
If文で「条件1または2のときAを行う」
ということをしたいです。
例だと「ファミチキかななチキのときは「チキン」と出力する」…をしたいです。
If sListFood = "ファミチキ" Or "ななチキ" Then
Response.Write("チキン")
End If
2.環境
- windows10 バージョン21H2
- ASP
3.エラー
以下のエラーが発生します。
[エラーが発生した時間] コード: 番号:800A000D 概要:型が一致しません。: '[string: "ななチキ"]' 詳細: ソース: 種別:Microsoft VBScript 実行時エラー
'ななチキで引っかかる
If sListFood = "ファミチキ" Or "ななチキ" Then
Response.Write("チキン")
End If
4.調査
各項目について切り分けて確認します。
'問題なし
If sListFood = "ファミチキ" Then
Response.Write("チキン")
End If
If sListFood = "ななチキ" Then
Response.Write("チキン")
End If
'後の項目(今回だとななチキ)がエラーになる
If sListFood = "ファミチキ" Or "ななチキ" Then
Response.Write("チキン")
End If
5.原因と最終的なコード
条件を記述する際に、sListFood=
を省略していたためエラーが発生していました。
記述を追加することでエラーが解消されました。
'ななチキの前にも「sListFood =」を記述する
If sListFood = "ファミチキ" Or sListFood = "ななチキ" Then
Response.Write("チキン")
End If
6.参考
7.最後に
VBScriptや同じエラーが出た方は試してみてください。解決のヒントになれば嬉しいです。
読んでいただき、ありがとうございました。