在下初学VB,VB6+Access2000开发一套系统,登陆界面(Form1),使用者通过下拉列表选择自己的名字。
然后在文本框中,输入密码。
正确,则成功打开主窗体(Form2)。
这些功能我已经做完没有问题。然后问题出现:
主窗体上有一个管理按钮。假设下拉列表有“张三”和其他一些用户,张三登陆的时候,主窗体(Form2)上的管理按钮有效。
而其他人登陆的时候,这个管理按钮不可见。
如何实现?也就是,张三的登陆信息存放在什么地方,使得在程序的整个运行过程中都有效,
以便根据登陆者的信息,对窗体和程序做出相应的处理。请各位高手抽一点时间,指点一下,不胜感激!!!下面是登陆按钮的代码,供大家参考
Private Sub cmdOk_Click()
    On Error GoTo Erlogic
    
    If InputCheck = False Then
        Exit Sub
    End If
    
    Call Connect
    Dim strSQL As String
    
    strSQL = "select * from TD_USER where USER_NAME='" & Trim(Me.cboName.Text) & "' "
      
    rst.Open strSQL, con, 1, 3
    
    If Trim(Me.cboName.Text) = Trim(rst(1)) And Trim(Me.txtPwd) = Trim(rst(2)) Then
        Shell App.Path & "\" & "n_menu.exe", vbNormalFocus
        Unload Me
    Else
        MsgBox "パスワードが正しくありません。ご確認の上再入力して下さい", vbOKOnly + vbInformation, "入力エラー"
        Me.txtPwd.Text = ""
        Me.txtPwd.SetFocus
    End If
    rst.Close
    Set rst = Nothing
    Exit Sub
Erlogic:
    MsgBox "ログイン画面でエラーが発生しました"
End Sub

解决方案 »

  1.   

    把变量放进模块中间进行public宣告
      

  2.   

    if form1.text1="张三" then
      command1.visible=true
    else
     command1.voseble=false
    end if
      

  3.   

    她是大姐,不是大哥 呵呵
    Shell App.Path & "\" & "n_menu.exe username ", vbNormalFocus
    '可以从命令行中传参数给 n_menu.exe ,而n_menu.exe通过command$取得命令行参数
      

  4.   

    crycoming(瞎编):能否具体点,我在程序里还是没有实现!拜托了!!!!
      

  5.   

    在程序中添加一个模块 然后在模块里写 PUBLIC A AS STRING 这个A就是用来存张三了 以后在程序的任何地方都可以调用A这个变量了
      

  6.   

    wenhongL(三脚猫):form2打开的时候,form1已经关闭了。
    所以,你的方法是行不通的。if form1.text1="张三" then
      command1.visible=true
    else
     command1.voseble=false
    end if
      

  7.   

    感谢crycoming(瞎编),用他的方法,问题解决!!