退卡界面的修改优化
仔细想想退卡界面其实只需要把卡号输入然后点击退卡就好了,不用那么复杂的界面设置,本着简单简洁的原则重新设计了以下界面,主要功能没有变化还是标题栏上的主题退卡。
卡号在输入的过程中会显示相关的卡的信息退卡日期退卡时间等。
其中状态栏会显示当前卡的状态是在使用的还是已经退过的,如果还没有退过点击确定按钮就可以退卡的,退卡成功会弹出相应的对话框提醒。
若卡是退过的点击确定按钮也会弹出对话框提示“此卡已退”。
具体的代码和界面设置如下图:
Option Explicit Dim txtSQL As String Dim mrc As ADODB.Recordset Dim mrcc As ADODB.Recordset Dim msgtext As String Private Sub Command1_Click() If Text1.Text = "" Then MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "警告" Exit Sub End If '建立数据库的链接 txtSQL = "select*from cabcelcard_info " Set mrcc = ExecuteSQL(txtSQL, msgtext) '判断卡是否已退 While (mrcc.EOF = False) If Trim(mrcc.Fields(1)) = Trim(Text1.Text) Then MsgBox "此卡已退!", vbOKOnly + vbExclamation, "警告" Exit Sub Else mrcc.MoveNext End If Wend '在数据库中写入要退的卡的信息 mrcc.AddNew mrcc.Fields(0) = Trim(mrc.Fields(1)) mrcc.Fields(1) = Trim(mrc.Fields(0)) mrcc.Fields(2) = Trim(mrc.Fields(7)) mrcc.Fields(3) = Date mrcc.Fields(4) = Time mrcc.Fields(5) = username mrcc.Fields(6) = "已退卡" mrcc.Update '更改学生信息表中的卡的状态信息 txtSQL = "select*from student_info where cardno='" & Text1.Text & "'" Set mrc = ExecuteSQL(txtSQL, msgtext) mrc.Fields(10) = "已退卡" mrc.Update '退卡成功后弹出相应的对话框 MsgBox "退卡成功!", vbOKOnly + vbExclamation, "警告" '输入框清零 Text1.Text = "" Exit Sub End Sub Private Sub Text1_Change() '连接数据库中的学生信息表 txtSQL = "select*from student_Info" Set mrc = ExecuteSQL(txtSQL, msgtext) '读取学生信息表中的相关信息 While (mrc.EOF = False) If Trim(mrc.Fields(0)) = Trim(Text1.Text) Then '当输入的卡号与数据库中学生卡号相同时 Label4.Caption = mrc.Fields(7) '学生余额显示 '显示当前退卡的相关信息和卡的状态 Label3.Caption = "退卡卡号:" & mrc.Fields(0) & Chr(13) & Chr(13) & "状态:" & mrc.Fields(10) & Chr(13) & Chr(13) & "应退金额:" & mrc.Fields(7) & Chr(13) & Chr(13) & "学号:" & mrc.Fields(1) & Chr(13) & Chr(13) & "姓名:" & mrc.Fields(2) & Chr(13) & Chr(13) & "退卡日期:" & Date & Chr(13) & Chr(13) & "退卡时间:" & Time & Chr(13) & Chr(13) & "操作人员:" & username Exit Sub Else mrc.MoveNext '查询表中的下一条信息 End If Wend End Sub