1

これは、ユーザーが選択した日付が 14 日以上前か過去かを確認するためのコードです。

If (dtpDate.Value > DateTime.Today.AddDays(14)) Then
    frmBookErr.SetError(dtpDate, "You cannot book more than two weeks in advance.")
Else
    frmBookErr.SetError(dtpDate, "")
End If
If (dtpDate.Value < DateTime.Today) Then
    frmBookErr.SetError(dtpDate, "You cannot book a room for the past.")
Else
    frmBookErr.SetError(dtpDate, "")
End If

動作しますが、14 日以上先の日付を選択すると、2 番目の IF が過去かどうかをチェックして空白にするため、エラー メッセージは表示されません。

ユーザーが入力したテキストボックスの後ろに別のテキストボックスを作成し、それに2番目のエラーメッセージを表示する以外に、これを回避する別の方法は考えられません。

誰か明るいアイデアを持っていますか?ありがとう :)

4

2 に答える 2

8

これを試して

If (dtpDate.Value > DateTime.Today.AddDays(14)) Then
    frmBookErr.SetError(dtpDate, "You cannot book more than two weeks in advance.")
Else If (dtpDate.Value < DateTime.Today) Then
    frmBookErr.SetError(dtpDate, "You cannot book a room for the past.")
Else
    frmBookErr.SetError(dtpDate, "")
End If
于 2009-10-29T18:48:11.737 に答える
1

あなたはとても近いです!チェックをelse ifブロックに入れるだけです。

If (dtpDate.Value > DateTime.Today.AddDays(14)) Then
    frmBookErr.SetError(dtpDate, "You cannot book more than two weeks in advance.")
Else If (dtpDate.Value < DateTime.Today) Then
    frmBookErr.SetError(dtpDate, "You cannot book a room for the past.")
Else
    frmBookErr.SetError(dtpDate, "")
End If
于 2009-10-29T18:50:27.737 に答える