目录
一、选择了用户名直接显示真实姓名
Private Sub cboOpUserID_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim msgtext As String
'连接用户表
txtSQL = "select * from user_info where userid ='" & Val(cboOpUserID.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, msgtext)
cboOpRealName.Clear '清空姓名要选择的内容
cboOpRealName.AddItem mrc.Fields(3) '限制能选择的真实姓名,只有正确的那一个
cboOpRealName.Text = mrc.Fields(3) '显示真实姓名
mrc.Close
End Sub
其实选择了真实姓名直接显示用户名也是一样的哦
二、SSTab控件的添加
工程—→部件—→Microsoft Tabbed Dialog Control 6.0 —→添加SSTab控件
三、汇总数据内容的计算
(1)、计算方法:
售卡张数:未结账的销售卡的总张数。
从Student_info表里查询,限制执行创建的操作员
退卡张数:未结账的退卡的总张数。
从Cancel_info表里查询,限制执行退卡的操作员
充值金额:未结账的注册卡时的钱和充值的钱。
我是先从在注册卡时,会添加一条记录到充值表中,然后直接从ReChargeCard_info表总查充值的总钱数,限制执行的操作员
退卡金额:为结账的退卡的前
我是直接从Cancel_info表里查的,限制执行的操作员。
临时用户的消费:我删掉了,觉得存在bug
应收金额:充值金额-退卡金额
(2)、代码
Dim i As Integer
Dim ReChargeSum As Single '定义充值金额
Dim j As Integer
Dim BackCardMoneySum As Single '定义退卡金额
'连接student_info表
StxtSQL = "select * from student_info where userid ='" & Trim(cboOpUserID.Text) & "' and ischeck='未结账'"
Set Smrc = ExecuteSQL(StxtSQL, Smsgtext)
'连接recharge_info表
RtxtSQL = "select * from recharge_info where userid='" & Trim(cboOpUserID.Text) & "' and status='未结账'"
Set Rmrc = ExecuteSQL(RtxtSQL, Rmsgtext)
'连接cancelcard_info表
CtxtSQL = "select * from cancelcard_info where userid='" & Trim(cboOpUserID.Text) & "' and status='未结账' "
Set Cmrc = ExecuteSQL(CtxtSQL, Cmsgtext)
'计算售卡张数
txtSellCardSum.Text = Smrc.RecordCount
'计算退卡张数
txtBackCardSum.Text = Cmrc.RecordCount
'计算总售卡张数
txtSellCardActual.Text = Smrc.RecordCount - Cmrc.RecordCount
'计算充值金额
For i = 0 To Rmrc.RecordCount - 1
ReChargeSum = ReChargeSum + Val(Rmrc.Fields(3))
Rmrc.MoveNext
Next i
txtRecharge.Text = ReChargeSum
'计算退卡金额
For j = 0 To Cmrc.RecordCount - 1
BackCardMoneySum = BackCardMoneySum + Val(Cmrc.Fields(2))
Cmrc.MoveNext
Next j
txtBackCardMoney.Text = BackCardMoneySum
'计算应收金额
txtCollectMoney.Text = txtRecharge.Text - txtBackCardMoney.Text
四、结账——单击结账按钮的事件
我没有在这里往日账单插入数据,我觉得这个是结一个操作员的帐,而日账单是结今天所有用户和操作员的帐,所以没有在日账单插入数据,那么只需要更改结账状态,下面是我的代码
Private Sub cmdAccount_Click()
Dim Smrc, Rmrc, Cmrc As ADODB.Recordset
Dim StxtSQL, RtxtSQL, CtxtSQL, Smsgtext, Rmsgtext, Cmsgtext As String
If Not Testtxt(cboOpUserID.Text) Then
MsgBox "请先选择操作员后结账!", vbOKOnly + vbExclamation, "提示"
Exit Sub
End If
'更新student_Info表的更新状态
StxtSQL = "update student_Info set Ischeck ='已结账' where userid= '" & cboOpUserID & "'"
Call ExecuteSQL(StxtSQL, Smsgtext)
'更新recharge_Info表的更新状态
RtxtSQL = "update recharge_Info set status ='已结账' where userid= '" & cboOpUserID & "'"
Call ExecuteSQL(RtxtSQL, Rmsgtext)
'更新cancelcard_Info表的更新状态
CtxtSQL = "update cancelcard_Info set status ='已结账' where userid= '" & cboOpUserID & "'"
Call ExecuteSQL(CtxtSQL, Cmsgtext)
MsgBox "结账成功!", vbOKOnly + vbExclamation, "提示"
End Sub