小弟我要用VB写一个登录窗体要怎么写啊!!要关联ACCESS数据库的,用户认证这样,

解决方案 »

  1.   

    Public conCustomer As Connection
    Public rst As Recordset
    Private Sub Command1_Click()
    If Combo1.Text = "" Then
    MsgBox "请选择用户", vbYes, "消息"
    Exit Sub
    Else
    Call Connect
    rst.open "select * from login where cName='" & Trim(Combo1.Text) & "' and cPass='" & Trim(Text1.Text) & "'", conCustomer
    If Not rst.EOF Then
    '写上你要做的事件
    Unload Me
    Else
    MsgBox "密码错误!", vbYes, "消息"
    End If
    End If
    End Sub
    Public Sub Connect()
    Set conCustomer = New Connection
    Set rst = New Recordset
    BaseName = App.Path & "\db1.mdb"
    With conCustomer
        .Provider = "sqloledb"
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & BaseName & ";Mode=ReadWrite|Share Deny None;Persist Security Info=False"
        .open
    End With
    End Sub
      

  2.   

    给你个例子吧,是我写的,乱七八糟的,人懒,图省事用得是ado控件,不过很简单的,相信你能看懂,建议你连接access的时候用ADO对象Option ExplicitPrivate Sub cmdexit_Click()
       Unload Me
    End SubPrivate Sub cmdlogin_Click()
       If dcobUsername.Text = "" Then
          MsgBox "用户名不能为空!", vbOKOnly, "错误"
          dcobUsername.Text = ""
          dcobUsername.SetFocus
          Exit Sub
       Else
       End If
       If txtPassword.Text = "" Then
          MsgBox "密码不能为空!", vbOKOnly, "错误"
          txtPassword.Text = ""
          txtPassword.SetFocus
          Exit Sub
       Else
       End If
       
       Adodc1.Recordset.MoveFirst
       Adodc1.Recordset.Find "username='" & Trim(dcobUsername.Text) & "' "
       If Adodc1.Recordset.EOF Then
          MsgBox "您输入的用户名无效", vbOKOnly, "错误"
          dcobUsername.Text = ""
          txtPassword.Text = ""
          dcobUsername.SetFocus
          Exit Sub
       Else
          If Adodc1.Recordset.Fields("password") <> Trim(txtPassword.Text) Then
             MsgBox "您输入的密码无效", vbOKOnly, "错误"
             txtPassword.Text = ""
             txtPassword.SetFocus
             Exit Sub
          Else
             If Adodc1.Recordset.Fields("competence") = 0 Then
                usercompetence = 0
             Else
                usercompetence = 1
             End If
          End If
       End If
       frmMain.Show 1
    End SubPrivate Sub dcobUsername_KeyPress(KeyAscii As Integer)
       If KeyAscii = 13 Then
          txtPassword.SetFocus
       End If
    End Sub
    Private Sub Form_Load()
       Adodc1.Visible = False
       dcobUsername.Text = "system"
    End SubPrivate Sub txtPassword_KeyPress(KeyAscii As Integer)
       If KeyAscii = 13 Then
       Call cmdlogin_Click
       End If
    End Sub