機房收費系統——組合查詢優化(新增DTPicker控制元件)
阿新 • • 發佈:2018-12-15
乾貨
組合查詢窗體中查詢欄位有日期有時間,那這樣我們還用文字框來顯示的話是不是使用者體驗很不好,本著提升使用者體驗的想法把文字框換成DTPicker控制元件。下面看看效果和怎麼實現的。
功能是當點選需要輸入日期時間的查詢條件時,文字框自動轉換為時間控制元件。時間控制元件要使用陣列,利用迴圈語句減少程式碼量。
Private Sub comFields1_Click(Index As Integer) Dim i As Integer '設定時間控制元件 For i = 0 To 2 If comFields1(i).Text = "註冊日期" Or comFields1(i).Text = "登出日期" Then DTPicker1(i).Format = dtpCustom DTPicker1(i).Visible = True txtInquiry1(i).Visible = False Else If comFields1(i).Text = "註冊時間" Or comFields1(i).Text = "登出時間" Then DTPicker1(i).Format = dtpTime DTPicker1(i).Visible = True txtInquiry1(i).Visible = False Else txtInquiry1(i).Visible = True DTPicker1(i).Visible = False End If End If Next i End Sub
再把組合查詢的程式碼做一下小改動,這個功能就徹底實現了。下面放一段程式碼。
If DTPicker1(0).Visible = False Then If Trim(comFields1(0).Text) = "" Or Trim(comOperator1(0).Text) = "" Or Trim(txtInquiry1(0).Text) = "" Then MsgBox "請將第一行內容補充完整!", 48, "警告" Else txtSQL = txtSQL & " " & field(Trim(comFields1(0).Text)) & " " & Trim(comOperator1(0).Text) & "'" & Trim(txtInquiry1(0).Text) &"" End If End If If DTPicker1(0).Visible = True Then If Trim(comFields1(0).Text) = "" Or Trim(comOperator1(0).Text) = "" Or Trim(DTPicker1(0).Value) = "" Then MsgBox "請將第一行內容補充完整!", 48, "警告" Else txtSQL = txtSQL & " " & field(Trim(comFields1(0).Text)) & " " & Trim(comOperator1(0).Text) & "'" & Trim(DTPicker1(0).Value) & " '" End If End If