1. 程式人生 > >機房收費系統——組合查詢優化(新增DTPicker控制元件)

機房收費系統——組合查詢優化(新增DTPicker控制元件)

乾貨

組合查詢窗體中查詢欄位有日期有時間,那這樣我們還用文字框來顯示的話是不是使用者體驗很不好,本著提升使用者體驗的想法把文字框換成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