退卡是将学生表中卡号信息删除,并将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 "退卡成功", , "提示"