機房收費系統其實真正敲起來也並沒有辣麼難,他前面好些內容跟學生管理系統都是類似的,但是組合查詢就不一樣了,可以算是乙個新知識吧!
下面,我們先來簡單分析一下這個視窗
一.判斷第1行查詢條件是否為空,若不為空且組合關係4為空,查詢結果符合第1行查詢的內容
二.組合關係4不為空,第2行查詢條件不能為空,查詢結果符合第1行和第2行組合查詢的內容
三.組合關係4、5均不為空,第2、3行查詢條件均不能為空,查詢結果符合第1、2、3行組合查詢的內容
備註:若4為空,則2、3、5中控制項的enable屬性均為false
若4不為空,5為空,2中控制項的enable屬性為true,3、5控制項的屬性為false
若4、5均不為空,控制項enable屬性均為true
分析完視窗的功能之後,最重點的來了---**
由於這部分屬於新的內容,**當然也沒有接觸過,所以借鑑了師傅的部落格
在實現查詢這一功能的**我是用的優化過後的**
txtsql = "select * from worklog_info where "
stra = fieldname(combo1.text) & combo4.text & "'" & text1.text & "'"
strb = " " & combo7.text & " " & fieldname(combo2.text) & combo5.text & "'" & text2.text & "'"
strc = " " & combo6.text & " " & fieldname(combo3.text) & combo8.text & "'" & text3.text & "'"
txtsql = txtsql & stra & strb & strc
看上去,**簡單易懂,看上去沒有什麼破綻,但是執行起來問題就來了---查詢結果
每次都是滿足所有查詢條件的,如果查詢條件有為空的現象,查詢結果就會出現好多個
「」(引號),系統就會報錯,那怎麼辦呢?
新增下面**,對查詢條件進行判斷:
如果4為空,只顯示符合第1行查詢條件的結果
如果4不為空,5為空,只顯示符合1、2組合查詢的結果
如果4、5均不為空,顯示1、2、3組合查詢的結果
if combo7.text = "" then
txtsql = txtsql & stra
elseif not combo7.text = "" then
txtsql = txtsql & stra & strb
elseif not combo7.text = "" and combo8.text = "" then
txtsql = txtsql & stra & strb & strc
end if
再此,非常感謝小胖的幫助
在驗收專案的時候,師傅提到了如果欄位名為日期,那麼在要查詢的內容這一欄還要手動輸入日期是不是太麻煩呢?所以我們可以在要查詢內容這個text控制項後再加乙個日期控制項,當我們輸入欄位名之後判斷他是否為日期格式,如果是,就可以直接選擇日期,這樣是不是更完美了呢!得意
機房 組合查詢
前言 在剛剛開始機房的時候,僅僅剛剛把整個工程的窗體控制項佈完,聽一些同學說組合查詢有些難,並且我對他們的話深信不疑。但是你現在不做總會到一點時間你是需要去完成的,想到這些,便開始了探索同學們口中的 難 到底有多 難 邏輯分析 想要功能更快的實現,理清邏輯很關鍵。該動筆時就去拿筆畫,一味地在腦子裡想...
機房那些事兒 配置ODBC問題集錦
這篇文章主要寫配置odbc時候遇到的問題以及解決方案,希望能夠幫到大家 錯誤一 sql server 錯誤 2和sql server 錯誤 17 配置odbc時有這一步,此時需要輸入自己安裝資料庫時設定的賬號和密碼,此時,如果輸入不正確就會報錯sql server 錯誤 2和sql server 錯...
機房 組合查詢概要
機房慢慢搖,總結也是需要寫一寫的,下面介紹一下組合查詢。思路 前三個空為空 第乙個組合框 第二個組合 第二個組合框 第三個組合 查詢 if trim combrelation1.text then 選擇了第乙個組合關係後,第二行不能為空 if trim combfield2.text or trim...