我有一个包含以下内容的组合框
2017-2018
2018-2019
2019-2020
我想要发生的是它必须根据特定的日期范围在组合框上显示正确的数据。例如:
如果日期范围是2018年3月30日之间的2017年6月1日
然后组合框应显示2017-2018
如果日期范围是2018年6月1日2019年3月30日之间
然后组合框应显示2018-2019
我该如何做这种方法?为此使用数据库更好还是硬编码?
答案 0 :(得分:1)
试试这个:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dtDate As Date
Date.TryParse(TextBox1.Text, dtDate)
ComboBox1.SelectedItem = DoDate(dtDate)
End Sub
Private Function DoDate(ByVal dtInputDate As Date) As String
Dim intYear As Integer = dtInputDate.Year
If dtInputDate >= New Date(intYear, 6, 1) And dtInputDate <= New Date(intYear, 12, 31) Then
Return CStr(intYear) & "-" & CStr(intYear + 1)
ElseIf dtInputDate >= New Date(intYear, 1, 1) And dtInputDate <= New Date(intYear, 3, 30) Then
Return CStr(intYear - 1) & "-" & CStr(intYear)
Else
MsgBox("ERROR: Date must be between 1 Jan and 30 Mar, or 1 June to 31 Dec.")
Return ""
End If
End Function