1. 程式人生 > >充值窗體 機房收費系統

充值窗體 機房收費系統

宣告:這個文章上個星期寫已發表結果誤刪了,從回收站沒法還原,只能從新發表了,見諒。

首先我們先對這個窗體進行下分析。

(1)檢測卡號和金錢的輸入

     1.1 首先輸入卡號(檢查輸入卡號是否存在。若不存在,提示沒有該卡號請重新輸入,
                從student表中調去資訊判斷卡號是否存在,若該卡號存在,下一步)      
     1.2 輸入充值金額,
                  從basicdata表中調去資料     充值金額不能小於最小充值金額,

(2)單機確定按鈕 充值成功 文字框(下圖)顯示本次充值的資訊,根據資訊我們可以得知

      2.1  在recharge表中顯示本次的充值記錄,

      2.2 在student表中更新金額總數

(3)文字框顯示充值資訊


程式碼如下:

  1. PrivateSub CmdOK_Click()  
  2.    Dim txtsql AsString
  3.    Dim msgtext AsString
  4.    Dim mrc As adodb.Recordset  
  5.    Dim mrcc As adodb.Recordset  
  6.    Dim mrcc1 As adodb.Recordset  
  7.    Dim Number AsString'獲取學號
  8.    Dim lastcash AsInteger'上次餘額
  9.    Dim leastcash 
    AsInteger'最小金額
  10.    Dim nowcash AsInteger' 最新餘額
  1. '檢查輸入
  2. IfNot Testtxt(CardIdtxt.Text) Then
  3.      MsgBox "請輸入卡號!", vbOKOnly + vbExclamation, "警告!"
  4.      CardIdtxt.SetFocus  
  5.      ExitSub
  6.  EndIf
  7.    IfNot Testtxt(Rechargetxt.Text) Then
  8.      MsgBox "請輸入金額!", vbOKOnly + vbExclamation, "警告!"
  9.      Rechargetxt.SetFocus  
  10.      ExitSub
  11.  EndIf
  12.     IfNot IsNumeric(Rechargetxt.Text) Then
  13.      MsgBox "請輸入數字!", vbOKOnly + vbExclamation, "警告!"
  14.      Rechargetxt.SetFocus  
  15.      ExitSub
  16.   EndIf
  1. '判斷卡號是否註冊
  2.   txtsql = "select * from student_info where cardno= '" & Trim(CardIdtxt.Text) & "' "
  3.   Set mrcc = ExecuteSQL(txtsql, msgtext)  
  4.   If mrcc.EOF Then
  5.      MsgBox "該卡號沒有註冊,請重新輸入!", vbOKOnly + vbExclamation, "警告!"
  6.      CardIdtxt.Text = ""
  7.      CardIdtxt.SetFocus  
  8.      ExitSub
  9.   Else
  10.   Number = Trim(mrcc.Fields(1))  
  11.   lastcash = Val(Trim(CStr(mrcc.Fields(7))))  
  12.   mrcc.Close  
  13. EndIf
  1. '獲取最新金額,與輸入的金額做比較
  2.  txtsql = "select * from BasicData_Info  "
  3.  Set mrcc1 = ExecuteSQL(txtsql, msgtext)  
  4.  mrcc1.MoveLast  
  5.  leastcash = Val(Trim(CStr(mrcc1.Fields(5))))  
  6.  mrcc1.Close  
  7.  If Val(Trim(Rechargetxt.Text)) < leastcash Then
  8.    MsgBox "輸入金額不得小於" & leastcash & "元!", vbOKOnly + vbExclamation, "警告!"
  9.    Rechargetxt.Text = ""
  10.    Rechargetxt.SetFocus  
  11.    ExitSub
  12.  EndIf
  1. '更新recharge表中的資料
  2. txtsql = "select * from ReCharge_info "
  3. Set mrc = ExecuteSQL(txtsql, msgtext)  
  4. mrc.AddNew  
  5. mrc.Fields(1) = Number  
  6. mrc.Fields(2) = Trim(CardIdtxt.Text)  
  7. mrc.Fields(3) = Trim(Rechargetxt.Text)  
  8. mrc.Fields(4) = Format(Date"yyyy-mm-dd")  
  9. mrc.Fields(5) = Time  
  10. mrc.Fields(6) = "Username"
  11. mrc.Fields(7) = "未結賬"
  12. mrc.Update  
  13. mrc.Close  
  1. '更新student表中的最新餘額
  2.  txtsql = "select * from student_info where cardno= '" & Trim(CardIdtxt.Text) & "' "
  3.  Set mrcc = ExecuteSQL(txtsql, msgtext)  
  4.  mrcc.Fields(7).Value = lastcash + Val(Rechargetxt.Text)  
  5.  a = mrcc.Fields(7)  
  6.  mrcc.Update  
  7.  mrcc.Close  
  8. bsp;  
  1. '顯示充值資訊
  2. Showtxt.Text = "充值卡號:" & Trim(CardIdtxt.Text) & vbCrLf _  
  3.                   & "上次餘額 " & lastcash & vbCrLf _  
  4.                   & "最新餘額 " & a & vbCrLf _  
  5.                   & "衝卡日期" & Date & vbCrLf _  
  6.                   & "衝卡時間" & Time & vbCrLf _  
  7.                   & "充值教師" & Username &  
  8.  MsgBox "充值成功!", vbOKOnly + vbExclamation, "警告!"
  9.  CardIdtxt.Text = ""
  10.  Rechargetxt.Text = ""
  11.  Showtxt.Text = ""
  12. Sub