退卡是将学生表中卡号信息删除,并将status列改为不使用。 

退卡逻辑思路如下:

问题及重点代码: 
1.vbCrLf=Chr(13) & Chr(10) 回车+换行符 
2.文本框多行显示: 
Multiline = True 意思是可决定一个控件可以接受多行文本

判断卡号

 If Trim(txtCardNo.Text) = "" Then
            MsgBox "卡号为空,请输入卡号", , "提示"
            txtCardNo.SetFocus
            Exit Sub
        End If

判断该卡号是否下机

txtSQL1 = "select * from OnLine_info where cardno='" & Trim(txtCardNo.Text) & "'"
            Set mrc1 = ExecuteSQL(txtSQL1, Msgtext1)
            If mrc1.EOF = False Then
                MsgBox "该卡号没有下机,请下机后退卡", , "提示"
                txtCardNo.Text = ""
                txtCardNo.SetFocus
                Exit Sub
            End If

添加 一行cancelcard 表

txtSQL2 = "select * from cancelcard_info"
          Set mrc2 = ExecuteSQL(txtSQL2, Msgtext2)
            With mrc2
             mrc2.AddNew
             .Fields(0) = Trim(mrc.Fields(1))
             .Fields(1) = Trim(mrc.Fields(0))
             .Fields(2) = Trim(mrc.Fields(7))
             .Fields(3) = Date
             .Fields(4) = Time
             .Fields(5) = Trim(mrcOnwork.Fields(0))
             .Fields(6) = "不使用"
             .Fields(7) = "未结账"
             
            mrc.Update
            mrc2.Update
          End With

显示该卡号信息

 a = Val(mrc2.Fields(1))
          b = Val(mrc2.Fields(2))
          c = mrc2.Fields(3)
          d = Val(mrc2.Fields(4))
          e = Val(mrc2.Fields(5))
          
            Text3.Text = "退卡卡号:" & a & vbCrLf & "应退金额:" & b & vbCrLf & "退卡日期:" & c & vbCrLf & "退卡时间:" & Format(Now(), "HH:mm:ss")
          txtRecharge.Text = b
          
          txtSQL3 = "delete from student_info where cardno='" & Trim(txtCardNo.Text) & "'"
             Set mrc3 = ExecuteSQL(txtSQL3, Msgtext3)
          
          MsgBox "退卡成功", , "提示"

 

posted on 2019-07-30 09:10  Tzk-  阅读(78)  评论(0)    收藏  举报