剛開始接觸組合查詢的時候,腦子裡一團漿糊,因為邏輯關係沒有理清楚,理清楚以後問題也就不大了
① 在7、8為空的時候,進行第一行查詢,且1、4、a不能為空
② 在7不為空,8為空的時候的時候,進行第
一、二行組合查詢,且1、4、a和2、5、b不能為空
③ 在7、8不為空的時候,三行組合查詢,且所有項不能為空
ps:在7為空的時候,第二行往下的選項,都不能進行操作(同理,8也是)
**如下:
private sub cmdok_click()
txtsql = "select * from line_info where "
'第一行查詢
if trim(combo1.text = "") then
msgbox "請輸入欄位名", vbokcancel + vbexclamation, "提示"
combo1.setfocus
exit sub
elseif trim(combo4.text = "") then
msgbox "請輸入操作符", vbokcancel + vbexclamation, "提示"
combo4.setfocus
exit sub
elseif trim(txt1.text = "") then
msgbox "請輸入要查詢的內容", vbokcancel + vbexclamation, "提示"
txt1.setfocus
exit sub
else
txtsql = txtsql & " " & filedname(combo1.text) & " " & combo4.text & "'" & trim(txt1.text) & "'"
'第二行查詢
if trim(combo7.text) <> "" then
if trim(combo2.text = "") then
msgbox "請輸入欄位名", vbokcancel + vbexclamation, "提示"
combo2.setfocus
exit sub
elseif trim(combo5.text = "") then
msgbox "請輸入操作符", vbokcancel + vbexclamation, "提示"
combo5.setfocus
exit sub
elseif trim(txt2.text = "") then
msgbox "請輸入要查詢的內容", vbokcancel + vbexclamation, "提示"
txt2.setfocus
exit sub
else
txtsql = txtsql & " " & filedname(combo7.text) & " " & filedname(combo2.text) & " " & combo5.text & "'" & trim(txt2.text) & "'"
'第三行查詢
if trim(combo8.text) <> "" then
if trim(combo3.text = "") then
msgbox "請輸入欄位名", vbokcancel + vbexclamation, "提示"
combo3.setfocus
exit sub
elseif trim(combo6.text = "") then
msgbox "請輸入操作符", vbokcancel + vbexclamation, "提示"
combo6.setfocus
exit sub
elseif trim(txt3.text = "") then
msgbox "請輸入要查詢的內容", vbokcancel + vbexclamation, "提示"
txt3.setfocus
exit sub
else
txtsql = txtsql & " " & trim(filedname(combo8.text)) & " " & trim(filedname(combo3.text)) & " " & trim(combo6.text) & "'" & trim(txt3.text) & "'"
end if
end if
end if
end if
end if
set mrc = executesql(txtsql, msgtext)
if mrc.eof = true then
msgbox "該條件的資料不存在"
txtinquirycontent.clear
combo1.text = ""
combo2.text = ""
combo3.text = ""
combo4.text = ""
combo5.text = ""
combo6.text = ""
combo7.text = ""
combo8.text = ""
txt1.text = ""
txt2.text = ""
txt3.text = ""
else
with txtinquirycontent
.rows = 2 'rows:行
.cellalignment = 1 'cellalingment:排列
.colwidth(0) = 1400 'width:寬度
.colwidth(1) = 1400
.colwidth(2) = 1400
.colwidth(3) = 1400
.colwidth(4) = 1400
.colwidth(5) = 1400
.colwidth(6) = 1400
.colwidth(7) = 1400
.colwidth(8) = 1400
.textmatrix(0, 0) = "卡號"
.textmatrix(0, 1) = "姓名"
.textmatrix(0, 2) = "上機日期"
.textmatrix(0, 3) = "上機時間"
.textmatrix(0, 4) = "下機日期"
.textmatrix(0, 5) = "下機時間"
.textmatrix(0, 6) = "消費金額"
.textmatrix(0, 7) = "餘額"
.textmatrix(0, 8) = "備註"
do while not mrc.eof
.rows = .rows + 1
.cellalignment = 1
.colwidth(0) = 1400
.colwidth(1) = 1400
.colwidth(2) = 1400
.colwidth(3) = 1400
.colwidth(4) = 1400
.colwidth(5) = 1400
.colwidth(6) = 1400
.colwidth(7) = 1400
.colwidth(8) = 1400
.textmatrix(.rows - 2, 0) = mrc!cardno 'mrc.fields(1)
.textmatrix(.rows - 2, 1) = mrc!studentname 'fields(3)
.textmatrix(.rows - 2, 2) = mrc!ondate 'mrc.fields(6)
.textmatrix(.rows - 2, 3) = mrc!ontime 'mrc.fields(7)
.textmatrix(.rows - 2, 4) = mrc!offdate & "" 'mrc.fields(8) & ""
.textmatrix(.rows - 2, 5) = mrc!offtime & "" 'mrc.fields(9) & ""
.textmatrix(.rows - 2, 6) = mrc!consume & "" 'mrc.fields(11) & ""
.textmatrix(.rows - 2, 7) = mrc!cash & "" 'mrc.fields(12) & ""
.textmatrix(.rows - 2, 8) = mrc!status & "" 'mrc.fields(13) & ""
mrc.movenext
loop
end with
mrc.close
end if
end sub
機房管理系統前期分析
今天,為期十天的機房管理系統初步完成.做了一些測試.感覺還是不錯.說實話,做這個東西感觸很多.接下來要好好總結一下.其他人也都做完了基本.還有幾個同學三天前就做完了.做的這麼快?為什麼?前期分析 第一次自己做大的系統.前期分析了一下.雖然不像是專業的需求分析.但是還是很有意思.一 需求業務流程.業務...
機房收費系統 組合查詢
機房收費系統在磕磕絆絆中過來了,這期間遇到問題,解決問題,最後收穫的特別多,在敲得過程中,不斷的學習新知識,應該說組合查詢是收費系統的乙個小難點了吧,起初我是真的不知道該從 下手,總是有種剪不斷理還亂的感覺,分析分析就繞進去了,我總是把問題想的很複雜,其實只要一句 語句,一切都解決了,根本用不到好多...
機房收費系統 組合查詢
關於組合查詢,真的是乙個令人頭疼的東西,但是當自己突然間的做出來時,卻莫名的有種貌似又不是很難得感覺。昨天弄了整整一下午,今天的下午終於在除錯了兩個小時做出來了。首先是查到了一些關於組合查詢的部落格,有乙個共同的特點就是都要獲得使用者所選的欄位名並轉化成資料庫表中的欄位名,這樣實現了人機共同語言的轉...