做到结账这的时候,第一眼是看到了一个不错的控件,但是,我不知道是什么?
通过查询知道了,它是SSTab,一个不错的控件。(在查询时,花费了一些时间,所以,我想写这样一篇关于SSTab控件的博客,以至于大家不会再在这个上面浪费不是很有价值的时间了。)
下面简单介绍一下如何添加:
一、右击”工具箱“——“部件“,添加控件Microsoft Tabbed Dialog Control 6.0
SSTab的图标如下图中的蓝线部分:
右击SSTab,选中属性,设置tab的个数,以及名称,如下:
控件的基本使用情况如上。
我对”结账“的思考
结账看似有六部分,其本质,包含退出,也就三类:1、购卡、充值、退卡、临时用户等四个tab,都是有关数据库的查询。2、汇总是对数据的简单加减,和显示。3、退出。
第一类:查询,以”购卡“为例: Private Sub ComboUser_Click()
txtsql = "select * from User_Info where userID='" & ComboUser.Text & "'"
Set mrc = ExecuteSQL(txtsql, msgtext)
ComboName.Text = mrc.Fields(3)
mrc.Close
'购卡
txtsql = "select * from student_Info where UserID='" & ComboUser.Text & "'"
Set mrc = ExecuteSQL(txtsql, msgtext)
With myflexgridCard
.Rows = 2
Do While mrc.EOF = False
'.Redraw = False
.CellAlignment = 4
.TextMatrix(.Rows - 1, 0) = mrc.Fields(1)
.TextMatrix(.Rows - 1, 1) = mrc.Fields(0)
.TextMatrix(.Rows - 1, 2) = mrc.Fields(12)
.TextMatrix(.Rows - 1, 3) = mrc.Fields(13)
.Rows = .Rows + 1
mrc.MoveNext
DoEvents
Loop
.Rows = .Rows - 1
txtSellNumber.Text = Int(.Rows - 1) '售卡张数
End With
mrc.Close
end sub
Private Sub Form_Load()
With myflexgridCard
.Rows = 2
.CellAlignment = 4
.TextMatrix(0, 0) = "学号"
.TextMatrix(0, 1) = "卡号"
.TextMatrix(0, 2) = "日期"
.TextMatrix(0, 3) = "时间"
End With
end sub
第二类:汇总
1、汇总中的”购卡张数“即”购卡“中显示的行数,同理可以得到退卡张数。代码如下:
txtSellNumber.Text = Int(.Rows - 1) '售卡张数
当然,这行代码是写在,显示”购卡“信息的代码当中。(见上面”购卡“代码)
2、总售卡数:
txtAllNumber.Text = txtSellNumber.Text - txtRefundNumber.Text '简单的减法
3、充值金额:即”购卡“中所有金额的和。退卡金额、临时金额同理。
s = .TextMatrix(.Rows - 1, 2) + s '充值金额
即把所有的cash相加。
4、应收金额 应收金额=充值金额(”临时金额“是”充值金额“的一部分)-退卡金额
txtShouldMoney.Text=txtRecharge.Text-txtRefundMoney.Text '应收金额
第三类:退出(这个充分体现了,对SSTab的使用)
这虽然是简单的几行代码,但是,在开始我对SSTab控件,一无所知的情况下,我是没有想到的,通过查师哥师姐的博客,才勉强找到。
Private Sub SSTab1_Click(PreviousTab As Integer)
Select Case SSTab1.Tab
Case 5 '退出
Unload Me
End Select
End Sub