修改密码
修改密码流程为旧(新)密码是否输入,旧密码是否正确,修改密码并退出当前登录,注意密码的输入不能是特殊字符之类的,然后旧密码不能与新密码一致,限制一下输入长度,就可以了,重点是搞一搞怎么让他修改完了退出当前系统,然后进入登录界面重新登录,其实也挺简单的,加一段代码:
Dim frm As Form
For Each frm In Forms
If frm.Name<> "Login" Then
Unload frm
Login.Show
End If
Next
我的登录窗体名称为“Login”,很简单,就不用解释了吧。将代码放到修改密码后的位置,就可以在修改完密码以后直接退出系统然后直接到登录窗口了。
限制文本框输入内容为数字
其实一开始的时候我是这样限制的
If KeyAscii < 48 Or KeyAscii > 57Then
KeyAscii = 0
End If
但是问题出现了,此时输入了以后无论是回车还是退格或者其他,都不能运行,只能输入数字,连回删都不行,所以有了第二种优化,跟这个类似,如下
If KeyAscii = 8 Then Exit Sub
Select Case KeyAscii
Case 48 To 57, 8, 13
Case Else
KeyAscii = 0
End Select
这样就可以用了
限制文本框的输入长度
讲文本框的maxlenght属性修改为想要的长度就可以了,想要最大输入多少,就限制为多少
让Combo 显示一个默认项
首先修改 combo的 style属性为2,然后对窗体加载事件中添加如下代码
Combo1.Text = Combo1.List(0)
因为我是代码添加的combo下拉选项,所以这里面肯定是有第一项的,第一项默认为0,如果想要显示的是第二项就将0改为1就可以了,以此类推
输入的时候就判断卡号是否可用
对输入框添加KeyUp事件,即可即时显示卡号是否可用。
Private Sub cardno_KeyUp(KeyCode As Integer, Shift As Integer)If Keyascii = 8 Then Exit Sub
Select Case Keyascii
Case 48 To 57, 8, 13
Case Else
Keyascii = 0
End Select
Dim txtSQL, MsgText As String
Dim mrc As ADODB.Recordset
txtSQL = "select * from student_Info where cardno='" & Trim(cardno.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF Then
Label1.Caption = "卡号可以使用"
Else
Label1.Caption = "卡号不可用"
End If
End Sub
文本框的换行显示
按照下面这个代码的格式写就行
Text1.Text = "abc" & vbCrLf & "123"
比如我要显示如下内容
姓名:甲乙丙
性别:男
就可以这样写
Text1.Text = "姓名:" & “甲乙丙”
Text1.Text = Text1.Text & vbCrLf & “性别:” & “男”
暂时就先放上来这些,总结一下,其实对于控件的优化也不难,网上都有,而且机房里面有很多都是重复的,(不过可以增加自己的熟练度),我只是把这些东西收集整理了一下而已。