機房收費系統之學生基本資訊維護
阿新 • • 發佈:2018-12-16
前言
該窗體功能是實現查詢學生的資訊,並可給予修改的許可權。其中包含兩個重大部分,一是組合查詢,二是修改;其中修改又涉及到了修改學生資訊窗體,此窗體中取消修改嘗試了很多方法,最後選取比較簡單的方法,這個窗體不難。最重要的莫過於組合查詢:組合查詢我使用的方法是一行一行的查,因為對於我目前的水平也是最容易接受的方法。此方法中需注意一下幾點:
1)漢字轉換為資料庫中的欄位名部分
2)資料庫查詢部分
3)操作符部分
流程
判斷控制元件是否為空----漢字轉換資料庫中的欄位名----連線student_info表依次進行1,2,3行查詢-----修改:MSFlexGrid1控制元件判斷是否選中資料,然後跳轉到修改學生資訊窗體
累贅
問題1:實時錯誤’30006’不能為MSFlexGrid1分配記憶體
原因:缺少一行程式碼:mrc.movenext
問題2:查詢內容不完整
原因:上一篇部落格中提到的無去空格符
問題3:操作符到底有何作用
原因:查詢的條件,比如:在查詢學號時,操作符為"=" 查詢的結果就是你輸入的學號的資訊(此方法確實挺簡單,作為菜鳥的我沒實踐之前還是懵逼狀態的;所以也是送給跟我一樣正處於蒙版狀態的你。
程式碼展示
1)程式碼轉換為資料庫中的欄位名,下面以“卡號,學號,性別“為例說明方法;需注意strcon1要定義
select case cb1 case "卡號" strcon1 = "cardno“ case "學號" strcon1 = " studentno” case "性別' strcon1 = "sex" end select
2)第一行,第二行,第三行資料庫的查詢條件的表達方式,需注意的是where後面的條件是欄位名、操作符、查詢的內容
txtsql = "select * from student_info where " & strcon1 & trim(cb4.text) & " ' " & trim(txtquery.text) & " ' " txtsql = txtsql & " " & strcon2 & " " & strcon4 & " " & trim(cb5.text) & " ' " & trim(txtquery1.text) & " ' " txtsql = txtslq & " " & strcon5 & " " & strcon3 & " " & trim(cb6.text) & " ' " & trim(txtquery2.text) & " ' "
3)當查詢姓名或性別時,操作符只能為" = " 或”<> ",因此可增加條件如下
If cb1.text = " 姓名" or cb1.text = "性別" then
with cb4
.addItem " ="
.addItem " <>"
end with
else
with cb4
.addItem " = "
.addItem " <"
.addItem">"
.addItem "<>"
end with
end if
4)修改部分,此部分沒有用了一個臨時卡號的值,注tmpcardno是臨時卡號,在此處因省略部分的程式碼又with MSFlexGrid1,因此這裡可以這樣書寫程式碼
if .rowsel > 0 then '選中資訊
tmpcardno = trim(.textmatrix(.rowsel,0)
frmmodify.show
end if
總結
多看幫助,少走彎路