第一次机房收费系统之操作员充值

操作流程:

输入考号和充值金额,判断卡号是否存在,然后更新student_info、recharge_info表,添加新记录或改变金额。

使用的数据库表:

student_info(存放学生信息表)
recharge_info(用于存放充值记录)

具体代码:

Private Sub cmdOFF_Click()
    Unload Me
End Sub

Private Sub cmdOK_Click()
    Dim AddCharge As Double  '充值完之后的金额
    Dim OriginalCharge As Double '充值之前的金额
    '对student_info表操作
    Dim mrcstudent As ADODB.Recordset '用于存放记录集
    Dim studentSQL As String '用于存放SQL语句
    Dim studentMsgText As String '用于存放返回信息
    '对recharge_info表操作
    Dim mrcrecharge As ADODB.Recordset '用于存放记录集
    Dim rechargeSQL As String '用于存放SQL语句
    Dim rechargeMsgText As String '用于存放返回信息
    
    studentSQL = "select * from student_info where cardno='" & Trim(txtCID.Text) & "'"
    Set mrcstudent = ExecuteSQL(studentSQL, studentMsgText)
    
    rechargeSQL = "select * from recharge_info"
    Set mrcrecharge = ExecuteSQL(rechargeSQL, rechargeMsgText)
                
    '限制控件不为空
    If txtCID.Text = "" Then
        MsgBox "请输入充值卡号!", vbOKCancel + vbExclamation, "警告"
        txtReCharge.Text = ""
        txtShow.Text = ""
    Else
        If txtReCharge.Text = "" Then
            MsgBox "请输入充值金额!", vbOKCancel + vbExclamation, "警告"
            txtShow.Text = ""
        Else
            If Val(txtReCharge.Text) < 0 Then
                MsgBox "请输入正确的金额!", vbOKCancel + vbCritical, "错误"
            Else
                If mrcstudent.EOF = True Then
                    MsgBox "此卡尚未注册,请仔细检查!", vbOKCancel + vbExclamation, "警告"
                Else
                    OriginalCharge = Val(mrcstudent.Fields(7))
                    AddCharge = Val(mrcstudent.Fields(7)) + Val(txtReCharge.Text)
                    '更改数据表内容
                    mrcstudent.Fields(7) = Trim(AddCharge)
                    mrcstudent.Update
                    '为recharge控件添加新记录
                    mrcrecharge.AddNew
                    mrcrecharge.Fields(1) = Trim(mrcstudent.Fields(1))
                    mrcrecharge.Fields(2) = Trim(mrcstudent.Fields(0))
                    mrcrecharge.Fields(3) = Trim(txtReCharge.Text)
                    mrcrecharge.Fields(4) = Date
                    mrcrecharge.Fields(5) = Time
                    mrcrecharge.Fields(6) = Trim(frmLogin.txtUserName.Text)
                    mrcrecharge.Fields(7) = Trim(mrcstudent.Fields(11))
                    mrcrecharge.Update
                    mrcrecharge.Close
                    txtShow.Text = "充值卡号:" + CStr(txtCID.Text) + vbCrLf + "上次卡内余额:" + CStr(OriginalCharge) + vbCrLf + "充值后的余额:" + CStr(AddCharge) _
                                   + vbCrLf + "充值日期:" + Format(Date, "YYYY/MM/DD") + vbCrLf + "充值时间:" + Format(Time, "hh:mm:ss") + vbCrLf + "充值教师:" + frmLogin.txtUserName.Text
                    mrcstudent.Close
                    MsgBox "已充值成功!", vbOKOnly + vbInformation, "提示"
                End If
            End If
        End If
    End If
End Sub

优化方面:

1.背景图随窗体改变而改变

Dim H As Single '定义窗体高的变量
Dim W As Single '定义窗体高的变量
Private Sub Form_Load()
    H = Me.Height
    W = Me.Width
End Sub

Private Sub Form_Resize()
    Me.Height = H
    Me.Width = W
    Me.PaintPicture Me.Picture, 0, 0, Me.ScaleWidth, Me.ScaleHeight '实现背景图随窗体变大而改变
End Sub

2.禁止粘贴

Private Sub txtCID_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    '不可粘贴
    If Button = 2 Then
        Clipboard.Clear
    End If
End Sub

3.限定字符类型

https://blog.csdn.net/TGB__15__ZYB/article/details/86636625
4.显示框不可输入值

Private Sub txtShow_KeyPress(KeyAscii As Integer)
    KeyAscii = 0 '不可输入值
End Sub

(对于退卡的窗体和充值窗体相同,就是将学生的状态该问未使用,其他的类型,下面的博客中就不多介绍了。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值