在做上下機的時候,發現了乙個很大的問題,那就是上機資訊可以記錄,下機的資訊沒有反應到資料庫裡面。
如何解決此問題?
1.想主鍵。
當你的主鍵只有卡號的時候,他能不能只通過卡號反應到你資料庫中呢?
答案是不能,因為你資料庫中下機的資訊有很多,同乙個卡號可能有多個上下機記錄,怎麼只能通過卡號來確定你的下機呢。
2.主鍵+上機時間+上機日期。
利用主鍵+上機時間+上機日期行不?
txtsqlline = "select * from line_info where cardno='" & txtcardno.text & "' and ondate='" & trim(txtondate.text) & "' and ontime='" & trim(txtontime.text) & "'"
' txtsql = "select * from student_info where cardno='" & trim(txtcardno.text) & "'and status='使用'"'and status='正在上機'"
set mrcline = executesql(txtsqlline, msgtext)
答案:不一定,因為這個要看你的具體**。
就我而言,這種方法不太好,因為vb執行語句過程中有時間問題,他不可能通過乙個時間點把整個語句執行,他只會一條一條的執行。所以一定會有時間延誤。
看見沒,它會有乙個2秒的延誤。
3.我們把主鍵換成卡號+狀態。
利用卡號加狀態就可以了。
'txtsql = "select * from line_info where status=' 正常上機' and cardno = '" & trim(txtcid.text) & "'" '卡號狀態是正常上機的,且等於text框的卡號可以下機。
txtsqlline = "select * from line_info where status='正在上機' and cardno = '" & trim(txtcardno.text) & "'" '卡號狀態是正常上機的,且等於text框的卡號可以下機。
' txtsqlline = "select * from line_info where cardno='" & txtcardno.text & "' and ondate='" & trim(txtondate.text) & "' and ontime='" & trim(txtontime.text) & "'"
' txtsql = "select * from student_info where cardno='" & trim(txtcardno.text) & "'and status='使用'"'and status='正在上機'"
set mrcline = executesql(txtsqlline, msgtext)
' mrcline.addnew
txtclosedate.text = format(date, "yyyy-mm-dd")
txtclosetime.text = format(time, "hh:mm")
mrcline.fields(8) = trim(txtclosedate.text) 'txtclosedate
mrcline.fields(9) = trim(txtclosetime.text) 'txtclosetime
mrcline.fields(10) = trim(txtconsumetime.text)
mrcline.fields(11) = val(trim(txtconsumemoney.text))
mrcline.fields(12) = val(trim(txtcardno.text))
mrcline.fields(13) = "正常下機"
mrcline.fields(14) = trim(vba.environ("computername"))
mrcline.update
mrcline.close
所以,一定要想想主鍵的問題。 第一次機房收費系統 幽夢
經過了分析需求 基本配置。終於開始敲機房了。第一步就是敲模組,我只能按照學生資訊管理系統的模組照葫蘆畫瓢。稍微改改,雖然當時整學生時把模組的 一句一句的查了一遍,但到現在還是不懂。不管怎樣,接著進行吧。於是,正式開始了!0.0 登入 在敲登入窗體時,還是要參考學生資訊管理系統。這第一句 就讓我一頭霧...
第一次機房收費系統總結
1.sub與function的區別 1 sub 過程,不需要返回值 function 函式,可以帶返回值 2 語法 sub subname 引數1,引數2,end sub function functionname 引數1,引數2,functionname 返回值 end function 2.如何...
第一次機房收費系統 總攻
前言 今天終於驗完了機房收費系統,驗完後感覺如釋重負 終於結束了。這次的驗專案相比上次的完善功能相比,更多的是對邏輯 使用者體驗的要求,所以這次的驗證相比上次來說要重要的多 因為後面我們會不斷進行機房收費系統的重構,而第一遍的邏輯若能梳理好,那麼後面不僅會輕鬆,更會少走不必要的彎路。首先我先來總結一...