VB+Access开发的登录程序

作者在 2010-06-09 13:45:58 发布以下内容

学VB就到这来了,感觉这好!呵呵,
经过几天的学习,总结一下,做点东西,当是自己的作业吧!请大家帮忙完善一下!
才学,所以写的不是很规矩,也很烦杂。

内容:
       做个登陆程序,以VB+Access。
功能:
      1、验证。验证用户名的正确与否、密码与用户名符合与否
      2、人性化设计。
            ①、输入用户名后,无论是鼠标移动到密码框,还是按“Tab”键到密码框,都搜索用户名的存在与否,但不报错
            ②、输入密码后,选者状态在“确定”按钮上。
            ③、确定后检验,用户名为空时,光标停在用户名框,密码空停密码输入框。
控件:
      TextBox、CommandButton、PictureBox、Timer、ADO


程序内容:
①:控件
     2     TextBox
     2     CommandButton
     1     PictureBox
     1     Timer

②:程序
       'form1程序
Private Sub Command1_Click()
   Unload Me
End Sub

Private Sub Command2_Click()
   Dim ConStr As String
   If text_user.Text = "" Then
      MsgBox "请输入用户名!", vbOKOnly + vbExclamation, "登陆错误"
      text_user.SetFocus
      Exit Sub
   End If
    
   Set cn = New ADODB.Connection
   Set rs = New ADODB.Recordset
   ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb"
   cn.Open ConStr
   cn.CursorLocation = adUseServer
   rs.Open "Select * from dbuser", cn, adOpenKeyset, adLockPessimistic
   If rs.RecordCount > 0 Then
      If text_user.Text <> "" Then
         Set rs1 = New ADODB.Recordset
         Dim TextUserName
         TextUserName = Left(text_user.Text, 4)
         rs1.Open "Select * From dbuser Where User_nb= '" & TextUserName & "'", cn, adOpenKeyset, adLockPessimistic
         If rs1.RecordCount > 0 Then
            text_user.Text = Left(text_user.Text, 4) & rs1.Fields("user_zhuwu")
            Text_password.SetFocus
            If Text_password <> "" Then
               If rs1.Fields("User_Nb") = TextUserName And rs1.Fields("User_password") = Text_password.Text Then
                  Form3.Show
                  Unload Me
               Else
                  MsgBox "密码错误!", vbExclamation + vbOKCancel, "登陆错误"
                  text_user.Text = ""
                  Text_password = ""
                  text_user.SetFocus
               End If
            Else
               MsgBox "请输入密码!", vbExclamation + vbOKCancel, "登陆错误"
            End If
         Else
            MsgBox "沒有用戶信息,請確定!", vbExclamation + vbOKCancel, "登陆错误"
            text_user.Text = ""
            Text_password = ""
            text_user.SetFocus
            Exit Sub
         End If
         rs.Close
      End If
   End If
End Sub

Private Sub Text_password_LostFocus()
   If text_user.Text = "" Then
      text_user.SetFocus
   Else
      If Text_password.Text <> "" Then
         Command2.SetFocus
      End If
   End If
End Sub

Private Sub Text_password_Validate(Cancel As Boolean)
   If text_user.Text = "" Then
      text_user.SetFocus
   Else
      If Text_password.Text = "" Then
         Text_password.SetFocus
      Else
         Command2.SetFocus
      End If
   End If
End Sub

Private Sub text_user_LostFocus()
   If text_user.Text <> "" Then
      Dim ConStr As String
      Set cn = New ADODB.Connection
      Set rs2 = New ADODB.Recordset
      ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb"
      cn.Open ConStr
      cn.CursorLocation = adUseServer
      rs2.Open "Select * From dbuser Where User_nb= '" & TextUserName & "'", cn, adOpenKeyset, adLockPessimistic
      If rs2.RecordCount > 0 Then
         text_user.Text = text_user & rs2.Fields("user_zhuwu")
         Text_password.SetFocus
         rs2.Close
      Else
         text_user.Text = text_user.Text
         Text_password.SetFocus
         Exit Sub
      End If
   Else
      text_user.SetFocus
   End If
End Sub

Private Sub text_user_Validate(Cancel As Boolean)
Dim ConStr As String
Set cn = New ADODB.Connection
   ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb"
   cn.Open ConStr
   cn.CursorLocation = adUseServer
   Dim TextUserName
   TextUserName = Left(text_user.Text, 4)
   If text_user.Text <> "" Then
      Set rs3 = New ADODB.Recordset
      rs3.Open "Select * From dbuser Where User_nb= '" & TextUserName & "'", cn, adOpenKeyset, adLockPessimistic
      If rs3.RecordCount > 0 Then
         text_user.Text = Left(text_user.Text, 4) & rs3.Fields("user_zhuwu")
         Text_password.SetFocus
         rs3.Close
      Else
         text_user.Text = Left(text_user.Text, 4)
         Text_password.SetFocus
         Exit Sub
      End If
   End If
  
End Sub

'form2程序
Private Sub Form_Load()
  Me.Show
  Me.Timer1.Interval = 3000
  Me.Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
   Form1.Show
   Unload Me
End Sub

 

默认分类 | 阅读 582 次
文章评论,共0条
游客请输入验证码