機房收費系統之八(組合查詢)
阿新 • • 發佈:2019-01-09
1.組合查詢:涉及的窗體有:學生基本資訊維護,學生上機統計資訊,操作員工作記錄。
初次見到組合查詢介面,有種似曾相識的感覺。沒錯,我們在學生資訊管理系統裡面見過類似的。也可以說我們已經接觸過組合查詢了。不同的是這次的組合查詢要多一點,相對來講複雜一點。
剛開始的時候,我也是思考了好久,邏輯關係總是搞不懂。於是不停的修正流程圖,不斷修改自己的錯誤。最後總算是弄明白了。
2.流程圖:
3.重要程式碼學習:
3.1 定義一個Field函式,用來使VB程式中的欄位名與資料庫中的列名相對應。
field的定義可以如下所示:(以學生基本資訊維護窗體為例)
3.2 以查詢學生上機記錄為例的組合查詢程式碼:Public Function field( i As String) As String '定義一個函式過程 Select Case i '欄位名與資料庫中的列名相對應 '學生基本資訊維護要用到的欄位 Case "學號" field = "studentno" Case "姓名" field = "studentName" Case "卡號" field = "cardno" Case "金額" field = "cash" Case "系別" field = "department" Case "年級" field = "grade" Case "班級" field = "class" Case "性別" field = "sex" Case "狀態" field = "status" Case "備註" field = "explain" Case "型別" field = "type" Case "日期" field = "date" Case "時間" field = "time" Case "或" field = "or " Case "與" field = "and " End Select End Function
重點語句:StutxtSQL = "select * from Online_Info where " '在student_Info這張表中獲得整行記錄。其中*表示整行記錄,也可以換成你需要查詢的具體記錄。 If Trim(Combo1.Text) = "" Or Trim(Combo2.Text) = "" Or Trim(Text1.Text) = "" Then MsgBox "請將選項內容填寫完整!", vbOKOnly, "提示" Exit Sub Else StutxtSQL = StutxtSQL & " " & field(Combo1.Text) & " " & Combo2.Text & "'" & Trim(Text1.Text) & "'" If Combo7.Text <> "" Then '判斷第一個組合關係是否選中 If Combo3.Text = "" Or Combo4.Text = "" Or Text2.Text = "" Then '如果選中,判斷第二行內容是否填寫完整,且符合要求 MsgBox "請將第二行選項內容填寫完整!", vbOKOnly, "提示" Exit Sub Else StutxtSQL = StutxtSQL & " " & field(Combo7.Text) & " " & field(Combo3.Text) & " " & Combo4.Text & "'" & Trim(Text2.Text) & "'" '將前兩行的條件聯絡起來,完成SQL語句 If Combo8.Text <> "" Then '判斷第二個組合關係是否選中 If Combo5.Text = "" Or Combo6.Text = "" Or Text3.Text = "" Then '如果選中,判斷第二行內容是否填寫完整,且符合要求 MsgBox "請將第三行選項內容填寫完整!", vbOKOnly, "提示" Exit Sub Else StutxtSQL = StutxtSQL & " " & field(Combo8.Text) & " " & field(Combo5.Text) & " " & Trim(Combo6.Text) & "'" & Trim(Text3.Text) & "'" '將三行的條件聯絡起來,完成SQL語句 End If End If End If End If
txtSQL = "select * from 表名稱 where " 此處where後面有個空格
txtSQL = txtSQL & " " & field(組合關係) & " " & field(某行條件中運算子前的內容) & " " & 該行條件中的運算子號 & "'" & 運算子後的內容 & "'"
心得總結:組合查詢其實沒想象的那麼難。困難的地方就是邏輯順序要搞清楚。還有就是對SQL查詢語句不熟悉,不知道如何去使用SQL語句查詢。而這些也正是我們要學習和進步的地方。只有多思考,多練習,才能逐漸對SQL語句熟悉掌握。
感謝您的閱讀!