你的编程基础还不够扎实,随便写了一个,应该是你需要的,你看看,希望对你有点帮助。
我认为如果是多窗体的数据库编程,使用模块比较合理,这样省去了在各个窗体都需要编写数据库连接的代码,另外各窗体间需要的数据可以在模块中定义,在窗体直接调用即可。
添加一个模块Module1,模块中编写数据库连接代码,定义窗体间调用的数据变量:
程序代码:
FORM1窗体的程序:
程序代码:
Form2窗体的代码:
程序代码:
由于你的数据库结构不清楚,没有调试,估计应该问题不大。
	
	
			我认为如果是多窗体的数据库编程,使用模块比较合理,这样省去了在各个窗体都需要编写数据库连接的代码,另外各窗体间需要的数据可以在模块中定义,在窗体直接调用即可。
添加一个模块Module1,模块中编写数据库连接代码,定义窗体间调用的数据变量:
程序代码:Public conn As New ADODB.Connection, RS As New ADODB.Recordset Public Uname As String, Pclass As String Sub KKK(conn) conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False" End Sub
FORM1窗体的程序:
程序代码:Dim J As Integer
Private Sub Command1_Click()
Dim ZFC As String    '过程级变量
If Text1.Text = "" Then    '检测用户是否输入用户名
    MsgBox "你没有输入用户名,请输入!"
    Exit Sub    '如果没有输入,退出当前过程,等待用户输入
End If
If Text2.Text = "" Then    '检测用户是否输入用户密码
    MsgBox "你没有输入用户密码,请输入!"
    Exit Sub    '如果没有输入,退出当前过程,等待用户输入
End If
    Call KKK(conn)    '调用模块中的数据库连接
    RS.Open "Select * From admin Where username='" & Text1.Text & "'", conn, 2, 2
    If Not RS.EOF Then   '首先检测用户名是否正确
        If RS!password = Text2.Text Then   '再检测用户密码是否正确
        Uname = RS!Name    '取出用户名称存储在模块级变量Uname中
        Pclass = RS!Class    '取出用户权限存储在模块级变量Pclass中
        ZFC = "登录成功"
        Else    '如果用户密码不正确
        ZFC = "密码不正确"
        J = J + 1
        End If
    Else    '如果用户名不正确
        ZFC = "用户名不正确"
        J = J + 1
    End If
    RS.Close
    Set RS = Nothing
    conn.Close
    Set conn = Nothing
    If J >= 3 Then
    MsgBox "你已经连续三次登录不成功,不能继续登录了!"
    End
    End If
    If ZFC = "登录成功" Then
        Unload Me
        Form2.Show
    ElseIf ZFC = "密码不正确" Then
        MsgBox "你输入的用户密码不正确,请重新输入!"
        Text2.Text = ""   '清除Text2内容
        Text2.SetFocus    '光标到Text2,以便重新输入
    ElseIf ZFC = "用户名不正确" Then
        MsgBox "你输入的用户名不存在,请重新输入!"
        Text1.Text = ""   '清除Text1内容
        Text2.Text = ""   '清除Text2内容
        Text1.SetFocus    '光标到Text1,以便重新输入
    End If
End Sub
Private Sub Form_Load()
        Text1.Text = ""
        Text2.Text = ""
End SubForm2窗体的代码:
程序代码:Private Sub Form_Load() Label1.Caption = "": Label2.Caption = "" '方法一:直接显示用户名称与权限 Label1.Caption = Uname Label2.Caption = Pclass ' Uname变量与 Pclass变量是模块级变量,这里直接调用即可 '------------------------------------- '方法二:使用数据库显示用户名称与权限 Call KKK(conn) '调用模块中的数据库连接 RS.Open "Select * From admin Where name='" & Uname & "' And Class='" & Pclass & "'", conn, 2, 2 Label1.Caption = RS!Name Label2.Caption = RS!Class RS.Close Set RS = Nothing conn.Close Set conn = Nothing End Sub
由于你的数据库结构不清楚,没有调试,估计应该问题不大。
[此贴子已经被作者于2016-10-11 14:01编辑过]

请不要选我!!!



											
	    

	


