该窗体功能:注册新账号,或激活已注销的账号。
步骤:
1,输入卡号后,在该卡号文本框的KeyPress事件中首先判断该卡号是否为已有卡号。
通过查找学生信息表中该卡号的信息,若有则表示该卡号存在;接下来判断该卡号信息的使用状态,若为“使用”,则提示信息并退出;若为“未使用”(表明该卡号被注销),则提示注册成功,并将该卡号的信息显示到该界面的各个框中,然后把该卡号的使用状态改为“使用”。最后提示该卡号余额不足需要充值(因为该卡号注销时卡内余额已为0,所以必定不足)。
2,若学生信息表中没有该卡号的信息,则按步骤将各个选项填满,并存盘。
3,在存盘时要判断该卡的充值金额是否不足,若低于基本数据中的最少金额则提示其充值。
4,注册成功要对最新余额表的余额进行更新。
5,当不想注册时可清空你输入的信息或退出该界面。
该窗体代码:
Option Explicit
Dim LeastMoney As Single'不可键入
Private Sub cboSex_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End SubPrivate Sub cboState_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub'清空
Private Sub cmdClear_Click()
txtCardNo.Text = ""
txtNumber.Text = ""
cboSex.Text = ""
txtGrade.Text = ""
txtRechargeMoney.Text = ""
txtName.Text = ""
txtDepartment.Text = ""
txtClass.Text = ""
txtRechargeMoney.Text = ""
txtDescription.Text = ""
txtCardNo.SetFocus
End Sub
'退出
Private Sub cmdExit_Click()
Unload Me
End Sub'判断是否注册后又注销
Private Sub cmdFind_Click()
Dim strSQL As String
Dim MsgString As String
Dim mrs As ADODB.Recordset
Dim mrss As ADODB.Recordset
strSQL = "select * from Studentinfo where Cardno='" & Trim(txtCardNo.Text) & "'"
Set mrs = ExecuteSQL(strSQL, MsgString)
If mrs.EOF = False Then
If Trim(CStr(mrs.Fields(9))) = "使用" Then
MsgBox "此卡号已注册,请重新输入!", vbExclamation + vbOKOnly, "警告"
txtCardNo.Text = ""
txtCardNo.SetFocus
mrs.Close
Exit Sub
Else
txtCardNo.Text = Trim(mrs.Fields(0))
txtNumber.Text = Trim(mrs.Fields(1))
txtName.Text = Trim(mrs.Fields(2))
cboSex.Text = Trim(mrs.Fields(3))
txtDepartment.Text = Trim(mrs.Fields(4))
txtGrade.Text = Trim(mrs.Fields(5))
txtClass.Text = Trim(mrs.Fields(6))
txtRechargeMoney.Text = Trim(mrs.Fields(8))
cboState.Text = "使用"
txtDescription.Text = Trim(mrs.Fields(10))
mrs.Fields(9).Value = "使用"
mrs.Update
'获得最少金额
strSQL = "select * from Basicdata"
Set mrss = ExecuteSQL(strSQL, MsgString)
LeastMoney = Trim(mrss.Fields(4))
mrss.CloseIf Val(Trim(CStr(mrs.Fields(8)))) < LeastMoney Then
MsgBox "余额不足!请充值!", vbExclamation + vbOKOnly, "警告"
End If
mrs.Close
MsgBox "注册成功", vbInformation + vbOKOnly, "警告"
Exit SubEnd If
End If
End Sub'存盘
Private Sub cmdSave_Click()
Dim strSQL As String
Dim MsgString As String
Dim mrs As ADODB.Recordset
Dim mrss As ADODB.Recordset
Dim Temp(0 To 15) As String
'获得最少金额
strSQL = "select * from Basicdata"
Set mrs = ExecuteSQL(strSQL, MsgString)
LeastMoney = Trim(mrs.Fields(4))
mrs.CloseIf Trim(txtCardNo.Text) = "" Then
MsgBox "卡号不能为空!", vbExclamation + vbOKOnly, "警告!"
txtCardNo.SetFocus
txtCardNo.Text = ""
Exit Sub
End If
If Trim(txtRechargeMoney.Text) = "" Then
MsgBox "充值金额不能为空!", vbExclamation + vbOKOnly, "警告"
txtRechargeMoney.Text = ""
txtRechargeMoney.SetFocus
Exit Sub
Else
If Val(Trim(txtRechargeMoney.Text)) < Val(Trim(LeastMoney)) Then
MsgBox "最少充值金额为" & LeastMoney & "元!", vbExclamation + vbOKOnly, "警告"
txtRechargeMoney.Text = ""
txtRechargeMoney.SetFocus
Exit Sub
End If
End IfIf Trim(txtNumber.Text) = "" Then
MsgBox "学号不能为空!", vbExclamation + vbOKOnly, "警告"
txtNumber.Text = ""
txtNumber.SetFocus
Exit Sub
End If
If Trim(txtName.Text) = "" Then
MsgBox "姓名不能为空!", vbExclamation + vbOKOnly, "警告"
txtName.Text = ""
txtName.SetFocus
Exit Sub
End IfIf Trim(cboSex.Text) = "" Then
MsgBox "性别不能为空!", vbExclamation + vbOKOnly, "警告"
cboSex.SetFocus
Exit Sub
End If
If Trim(txtDepartment.Text) = "" Then
MsgBox "系别不能为空!", vbExclamation + vbOKOnly, "警告"
txtDepartment.Text = ""
txtDepartment.SetFocus
Exit Sub
End IfIf Trim(txtGrade.Text) = "" Then
MsgBox "年级不能为空!", vbExclamation + vbOKOnly, "警告"
txtGrade.Text = ""
txtGrade.SetFocus
Exit Sub
End If
If Trim(txtClass.Text) = "" Then
MsgBox "班级不能为空!", vbExclamation + vbOKOnly, "警告"
txtClass.Text = ""
txtClass.SetFocus
Exit Sub
End If
If Trim(cboState.Text) = "" Then
MsgBox "状态不能为空!", vbExclamation + vbOKOnly, "警告"
cboState.SetFocus
Exit Sub
End If
If Trim(txtDescription.Text) = "" Then txtDescription.Text = "无"
strSQL = "select * from Studentinfo"
Set mrs = ExecuteSQL(strSQL, MsgString)
mrs.AddNew
mrs.Fields(0) = Trim(txtCardNo.Text)
mrs.Fields(1) = Trim(txtNumber.Text)
mrs.Fields(2) = Trim(txtName.Text)
mrs.Fields(3) = Trim(cboSex.Text)
mrs.Fields(4) = Trim(txtDepartment.Text)
mrs.Fields(5) = Trim(txtGrade.Text)
mrs.Fields(6) = Trim(txtClass.Text)
mrs.Fields(7) = "固定类型"
mrs.Fields(8) = Trim(txtRechargeMoney.Text)
mrs.Fields(9) = "使用"
mrs.Fields(10) = Trim(txtDescription.Text)
mrs.Fields(11) = Trim(strName)
mrs.Fields(12) = Date
mrs.Fields(13) = Time
mrs.Fields(14) = "未结账"
mrs.Update
strSQL = "select * from LastBalance"
Set mrss = ExecuteSQL(strSQL, MsgString)
mrss.AddNew
mrss.Fields(0) = Trim(mrs.Fields(0))
mrss.Fields(1) = Trim(mrs.Fields(1))
mrss.Fields(2) = Trim(mrs.Fields(8))
mrss.Update
mrss.Close
mrs.Close
MsgBox "注册成功!", vbInformation + vbOKOnly, "注册成功"
Call cmdClear_Click
End Sub
Private Sub txtCardNo_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Call cmdFind_Click
Exit Sub
End If
End Sub

被折叠的 条评论
为什么被折叠?



