私は次のように4つのフィールドを持っています:
• calStartDate = Control for the start Date Calendar (drop downs for Day, Month and Year)
• ddlTime = Start time drop down
• calEndDate = Control for the End Date Calendar (drop downs for Day, Month and Year)
• ddlTime2 = End time drop down
これで、次の値を DB に保存することができました。
• STARTDATETIME = “2/24/2012 6:30:00 AM”
• ENDDATETIME = “2/24/2013 6:30:00 AM”
次のコードのように;
Dim EndDateTime As DateTime
Dim StartDateTime As DateTime
If chkbxAccAppBasedOnTimeInterval.Checked = True Then
Dim StartDate As System.DateTime? = calStartDate.CurrentDate
If StartDate.HasValue Then
StartDateTime = StartDate.Value.AddMinutes(CType(ddlTime.SelectedValue, Double))
EditRelTbl.STARTDATETIME = StartDateTime
End If
Dim EndDate As System.DateTime? = calEndDate.CurrentDate
If EndDate.HasValue Then
EndDateTime = EndDate.Value.AddMinutes(CType(ddlTime2.SelectedValue, Double))
EditRelTbl.ENDDATETIME = EndDateTime
End If
If EndDateTime > StartDateTime Then
DisplayAlert("End date time, must be less than Start Date and time", "Warning")
EndDateTime = StartDateTime
End If
Else
EditRelTbl.STARTDATETIME = Nothing
EditRelTbl.ENDDATETIME = Nothing
End If
問題は、STARTDATETIME が ENDDATETIME より大きくなければならず、End dateTime が Start DateTime よりも大きい場合は、コードで実行しようとしたように、End datetime を Start DateTime として埋める必要があることです。
If EndDateTime > StartDateTime Then
DisplayAlert("End time must be greater than Start time", "Warning")
EndDateTime = StartDateTime
End If
しかし、これは私が望むチェックをチェックしていません。チェックの実行方法、または私が間違っている場所を教えてもらえますか。
注:「EditRelTbl」は、終了/開始日時の値を保存しているテーブルです。