流程图
Private Sub cmdok_Click()
Dim mrc As adodb.Recordset
Dim txtsql As String
Dim msgtext As String
Dim a As String
Dim c As Date
'判断是否输入卡号
If testtxt(txtcardno.Text) = False Then
MsgBox "请输入卡号!", 0 + 48, 提示
txtcardno.SetFocus
Exit Sub
End If
'判断是否输入充值金额
If testtxt(txtaddmoney.Text) = False Then
MsgBox "请输入充值金额!", 0 + 48, 提示
txtaddmoney.SetFocus
Exit Sub
End If
'查询卡号是否存在
txtsql = "select * from card_info where cardno='" & Trim(txtcardno.Text) & "' and status='使用'"
Set mrc = ExecuteSQL(txtsql, msgtext)
If mrc.EOF = True And mrc.BOF = True Then
MsgBox "此卡号不存在或已不再使用!", 0 + 48, 提示
txtcardno.Text = ""
txtcardno.SetFocus
Exit Sub
End If
'判断充值金额是否大于最低充值金额
If txtaddmoney.Text >= 5 Then
'添加到充值表
txtsql = "insert into recharge_info(cardno,addmoney,userid) values('" & Trim(txtcardno.Text) & "','" & Trim _
(txtaddmoney.Text) & "','" & username & "')"
Set mrc = ExecuteSQL(txtsql, msgtext)
txtsql = "select * from card_info where cardno='" & Trim(txtcardno.Text) & "'"
Set mrc = ExecuteSQL(txtsql, msgtext)
a = mrc!cash
b = Val(mrc!cash) + Val(txtaddmoney.Text)
'更新card表中的余额
txtsql = "update card_info set cash= '" & b & "'where cardno='" & Trim(txtcardno.Text) & "'"
Set mrc = ExecuteSQL(txtsql, msgtext)
'文本框中的内容
txtcomment.Text = "充值卡号:" & txtcardno.Text & Chr(13) & Chr(10) & "上次卡内余额:" & a & vbCrLf & "现在卡内的余额:" _
& b & vbCrLf & "充值日期:" & Now() & vbCrLf & "充值老师:" & username
MsgBox "充值成功!", 0 + 48, 提示
Else
MsgBox "单次充值金额不能低于5元!", 0 + 48, 提示
txtaddmoney.Text = ""
txtaddmoney.SetFocus
End If
End Sub
小知识点
VB中文本框如何强制换行
1.把文本框的multiline属性改为True(可以在属性窗口中修改,也可以通过代码来实现)
Text1.MultiLine = True
2. & vbcrlf & 或者使用 & CHR(13) & CHR(10) 或者+ vbCrLf +
它最早的用途是在打印机。
chr(13)是回车符,将打印头移至行首
chr(10)是换行符,走纸一行。
WINDOWS延续了这种方法。