下記の通り、入力したデータ(今回は日付)を条件式に反映したいです。
Visual Studio 2019。
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '処理する日付をセット Dim 伝票日付 = DateTime.Now Me.伝票日付.Text = Date.Now Me.KeyPreview = True AddHandler Me.伝票日付.Enter, AddressOf TextBoxes_Enter End Sub
処理を起動した際に「伝票日付」に今日の日付が入ります。
次に、
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim 伝票日付 As Date 伝票日付 = Date.Parse(伝票日付) Dim 基準日1 As New DateTime(2019, 9, 30) If A.Checked = True Then If 伝票日付 <= 基準日1 Then 表示項目.Text = "S4" End If If 伝票日付 > 基準日1 Then 表示項目.Text = "S5" End If End If If B.Checked = True Then If 伝票日付 <= 基準日1 Then 表示項目.Text = "Q4" ElseIf 伝票日付 > 基準日1 Then 表示項目.Text = "Q5" End If End If End Sub
「GroupBox」はAとBの二つで構成しています。
「基準日1」は2019年9月30日で固定です。
「A」をチェックしてボタンをクリックすると、「表示項目」には「S5」が表示されます。「B」の場合は「Q5」です。
ところが「伝票日付」に別の日付(例えば2000年10月1日)を入力しても、「S4」や「Q4」とは表示されません。
どのようにすればよろしいでしょうか。
YAmaGNZさん、再度の回答ありがとうございます。
で、変数名を「伝票日付」から「a伝票日付」に変更したところエラーメッセージが出ました。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim abc As Date abc = Date.Parse(abc) Dim 基準日1 As New DateTime(2019, 9, 30) If 営業部門.Checked = True Then If abc <= 基準日1 Then 表示項目.Text = "S4" End If If abc > 基準日1 Then 表示項目.Text = "S5" End If End If If 管理部門.Checked = True Then If abc <= 基準日1 Then 表示項目.Text = "Q4" ElseIf abc > 基準日1 Then 表示項目.Text = "Q5" End If End If End Sub
すみません、以下の部分はいったん削除します。
ここから、
エラーメッセージは、「BC30311」で、「型’MaskedTextBox’の値を’String'に変換できません。」というものでした。
「伝票日付」はTextBoxではなく、MaskedTextBoxでした。「Date.Parse(伝票日付)」ではDate型に変換できないということでしょうか。
ここまで。
回答2件
あなたの回答
tips
プレビュー