1. 程式人生 > >第一次機房收費系統——註冊

第一次機房收費系統——註冊

思考:

因為註冊的時候,需要輸入初始的金額,但是上下機的時候,需要根據上網時間長短來改變學生表中的金額,所以導致最後的結賬很麻煩,最後我將註冊的內容也寫入到充值中,流程圖如下:

流程圖

這裡寫圖片描述

程式碼

Private Sub cmdSave_Click()
    '存檔

    '連線基礎資訊資料庫
    txtSQL = "select *from basicdata_info"
    Set mrc_BData = ExecuteSQL(txtSQL, msgText)


    '判斷是否有基礎資料
    If mrc_BData.EOF Then
        'MsgBox "請在管理員許可權中新增基本資料設定!", vbOKOnly + vbExclamation, "警告"
If Trim(mrc_User.Fields(2)) = "管理員" Then frmBasicDataSet.Show Else MsgBox "請聯絡管理員新增基本資料資訊!", vbOKOnly + vbExclamation, "警告" Exit Sub End If End If '判斷輸入金額是否低於最低金額 If Trim(txtRecharge.Text) < mrc_BData.Fields(5) Then '不能使用trim函式
MsgBox "金額不能低於設定的最小金額", vbOKOnly + vbExclamation, "警告" txtRecharge.Text = "" txtRecharge.SetFocus mrc_BData.Close Exit Sub End If '判斷卡號是否為空 If Trim(txtCardNo.Text) = "" Then txtCardNo.SetFocus txtCardNo.BackColor = vbRed Exit
Sub End If '判斷學號是否為空 If Trim(txtSID.Text) = "" Then MsgBox "學號不能為空,請輸入卡號!", vbOKOnly + vbExclamation, "警告" txtSID.SetFocus Exit Sub End If '判斷姓名是否為空 If Trim(txtName.Text) = "" Then MsgBox "姓名不能為空,請輸入卡號!", vbOKOnly + vbExclamation, "警告" txtName.SetFocus Exit Sub End If '判斷性別是否為空 If Trim(ComboSex.Text) = "" Then MsgBox "性別不能為空,請輸入卡號!", vbOKOnly + vbExclamation, "警告" ComboSex.SetFocus Exit Sub End If '判斷系別是否為空 If Trim(txtDept.Text) = "" Then MsgBox "系別不能為空,請輸入卡號!", vbOKOnly + vbExclamation, "警告" txtDept.SetFocus Exit Sub End If '判斷年級是否為空 If Trim(txtGrade.Text) = "" Then MsgBox "年級不能為空,請輸入卡號!", vbOKOnly + vbExclamation, "警告" txtGrade.SetFocus Exit Sub End If '判斷班級是否為空 If Trim(txtClass.Text) = "" Then MsgBox "班級不能為空,請輸入卡號!", vbOKOnly + vbExclamation, "警告" txtClass.SetFocus Exit Sub End If '判斷型別是否為空 If Trim(comboType.Text) = "" Then MsgBox "型別不能為空,請輸入卡號!", vbOKOnly + vbExclamation, "警告" comboType.SetFocus Exit Sub End If '判斷金額是否為空 If Trim(txtRecharge.Text) = "" Then MsgBox "金額不能為空,請輸入卡號!", vbOKOnly + vbExclamation, "警告" txtRecharge.SetFocus Exit Sub End If '連線資料庫 txtSQL = "select *from student_info " 'where cardno='" & txtCardNo.Text & "'" Set mrc_Stu = ExecuteSQL(txtSQL, msgText) '判斷卡號是否重複 While (mrc_Stu.EOF = False) '判斷是否有重複記錄 If Trim(mrc_Stu.Fields(0)) = Trim(txtCardNo.Text) Then MsgBox "卡號已經存在,請重新輸入卡號!", vbOKOnly + vbExclamation, "警告" txtCardNo.Text = "" txtCardNo.SetFocus Exit Sub Else '移動到下一條記錄 mrc_Stu.MoveNext End If Wend '判斷學號是否重複 While (mrc_Stu.EOF = False) '判斷是否有重複記錄 If Trim(mrc_Stu.Fields(1)) = Trim(txtSID.Text) Then MsgBox "學號已經存在,請重新輸入學號!", vbOKOnly + vbExclamation, "警告" txtSID.Text = "" txtSID.SetFocus Exit Sub Else '移動到下一條記錄 mrc_Stu.MoveNext End If Wend ReDate = Format(Date, "yyyy-mm-dd") '充值日期 ReTime = Format(Now, "hh:mm:ss") '充值時間 mrc_Stu.AddNew mrc_Stu.Fields(0) = Trim(txtCardNo.Text) '卡號 mrc_Stu.Fields(1) = Trim(txtSID.Text) '學號 mrc_Stu.Fields(2) = Trim(txtName.Text) '姓名 mrc_Stu.Fields(3) = Trim(ComboSex.Text) '性別 mrc_Stu.Fields(4) = Trim(txtDept.Text) '系別 mrc_Stu.Fields(5) = Trim(txtGrade.Text) '年級 mrc_Stu.Fields(6) = Trim(txtClass.Text) '班級 mrc_Stu.Fields(7) = Trim(txtRecharge.Text) '金額 mrc_Stu.Fields(8) = Trim(txtExplain.Text) '備註 mrc_Stu.Fields(9) = Trim(UserName) 'UserID mrc_Stu.Fields(10) = Trim(comboState.Text) '狀態 mrc_Stu.Fields(11) = "未結賬" '結賬狀態 mrc_Stu.Fields(12) = Trim(ReDate) '日期 mrc_Stu.Fields(13) = Trim(ReTime) '時間 mrc_Stu.Fields(14) = Trim(comboType.Text) '型別 mrc_Stu.Update '新增到登錄檔中 txtSQL = "select *from recharge_info" Set mrc_RE = ExecuteSQL(txtSQL, msgText) mrc_RE.AddNew mrc_RE.Fields(1) = Trim(txtSID.Text) '學號 mrc_RE.Fields(2) = Trim(txtCardNo.Text) '卡號 mrc_RE.Fields(3) = Trim(txtRecharge.Text) '金額 mrc_RE.Fields(4) = Trim(ReDate) '日期 mrc_RE.Fields(5) = Trim(ReTime) '時間 mrc_RE.Fields(6) = Trim(UserName) 'UserID mrc_RE.Fields(7) = "未結賬" '結賬狀態 mrc_RE.Update mrc_RE.Close mrc_Stu.Close MsgBox "註冊成功!", vbOKOnly + vbExclamation, "警告" txtCardNo.Text = "" txtSID.Text = "" txtName.Text = "" ComboSex.Text = "" txtDept.Text = "" txtGrade.Text = "" txtClass.Text = "" txtRecharge.Text = "" txtExplain.Text = "" comboState.Text = "" End Sub

總結: 因為做到了結賬,發現了很多問題,所以才利用這種方式,之前的方式發現有很多問題。

感謝您的閱讀,如果您有更好的想法,歡迎分享給我!