質問するログイン新規登録
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

3214閲覧

VB.NETのIFステートメント

Taichijava

総合スコア12

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2019/03/17 01:15

編集2019/03/17 01:30

0

0

Public Class Form1 Dim StandardPrice As String = "3,600" Private Sub initProc(sender As Object, e As EventArgs) Handles MyBase.Load lblStandardPrice.Text = StandardPrice End Sub Private Sub Recalc(sender As Object, e As EventArgs) Handles rbNone.CheckedChanged, rbStudent.CheckedChanged, rbHolder.CheckedChanged Dim SalesPrice As Integer If rbNone.Checked Then SalesPrice = CInt(StandardPrice) ElseIf rbStudent.Checked Then SalesPrice = CInt(StandardPrice) * 0.9 Else SalesPrice = CInt(StandardPrice) End If lblSalesPrice.Text = SslesPrice + "円" End Sub End Class ```![イメージ説明](4836c55f7b7251f59ae728aa8ca81a8d.jpeg)### 前提・実現したいこと VB.NETで上記の画像のプログラムを作っています。 ### 発生している問題・エラーメッセージ 'ElseIf' の前には、対応する 'If' または 'ElseIf' を指定しなければなりません。 'Else' の前には、対応する 'If' または 'ElseIf' を指定しなければなりません。 'ステートメントの終わりを指定してください。 'EndIf' の前には、対応する 'If' または 'ElseIf' を指定しなければなりません。 'lblSalesPrice' は宣言されていません。アクセスできない保護レベルになっています。 'SslesPrice' は宣言されていません。アクセスできない保護レベルになっています。 ### 該当のソースコード ### 試したこと If ... Then... ElseIf ... Then... Else... EndIf と入力したつもりなのですがエラーになります。 また、Dim StandardPrice As String = "3,600" とDim SalesPrice As Integerと定義したのですが、不具合が起こっているようです。 さらに、ステートメントの終わりを指定してください。もなぜなのかわかりません。 初歩的なミスなのだと思いますが宜しくお願い致します。 ### 補足情報(FW/ツールのバージョンなど) 開発ソフトはVisulaStudio2017を使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/03/17 01:26

このままではコードが見づらいので、質門を編集し、<code>ボタンで、出てくる’’’の枠の中にコードを貼り付けてください
Taichijava

2019/03/17 01:32

質問を修正してみました。ご指摘ありがとうございました。
guest

回答1

0

ベストアンサー

If...Then...Else ステートメント
こちらにあるように、複数行での記述と1行での記述に文法上の違いがあります。

VB.NET

1If rbNone.Checked Then 2 SalesPrice = CInt(StandardPrice) 3ElseIf rbStudent.Checked Then 4 SalesPrice = CInt(StandardPrice) * 0.9 5Else 6 SalesPrice = CInt(StandardPrice) 7End If

このように記述してください。

他のエラーについて

・'lblSalesPrice' は宣言されていません。アクセスできない保護レベルになっています。
lblSalesPriceは多分ラベルコントロールだと思いますが、この名前になっていますか?

・'SslesPrice' は宣言されていません。アクセスできない保護レベルになっています。
SalesPriceの打ち間違えではないですか?

投稿2019/03/17 01:30

編集2019/03/17 01:41
YAmaGNZ

総合スコア10679

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Taichijava

2019/03/17 01:35

ご回答ありがとうございます。おかげさまでIF関連のエラーについてはなくなりました。
Taichijava

2019/03/17 02:01

ご指摘いただいたところを確認したところ正常に実行できました。大変勉強になりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問