窗体1 FrmLoginPrivate Sub Form_Load()
If Adodc1.Recordset.RecordCount > 0 Then
......
Else
Unload Me
FrmAddUser.Show
End If
End Sub窗体2 FrmAddUserPrivate Sub Form_Unload(Cancel As Integer)
FrmUser.Adodc1.Refresh
If FrmUser.Adodc1.Recordset.RecordCount > 0 Then
Unload Me
FrmLogin.Show
Else
End
End If
End SubPrivate Sub Command2_Click()
Unload Me
End Sub以上程序运行正常,但如果FrmLogin.Show点FrmLogin.Show的关闭程序并没有真正结束,请问是怎么回事?谢谢。PS:FrmLogin不能添加Form_Unload的End,因为这是登陆窗口,还要调用别的窗体.

解决方案 »

  1.   

    Private Sub Command2_Click()
    End
    End Sub
      

  2.   

    在FrmLogin窗体或FrmLogin窗体的Unload事件中用如下代码:Private Sub Form_Unload(Cancel As Integer)
        End
    End Sub
      

  3.   

    楼上朋友 看清楚代码在回复OK?
    以上代码Form_Unload里End了怎么show其它窗口?两个窗口检测If Adodc1.Recordset.RecordCount > 0 Then然后show出响应窗口的.
      

  4.   

    Unload Me
    FrmLogin.Show顺序颠倒下不可以么?先FrmLogin.Show,后Unload Me?
      

  5.   

    一样的结果,我这个也试过了FrmLogin为登录窗口 如果数据库有用户则输入名称密码关闭自身弹出FrmMain窗口~~~无问题
    FrmLogin为登录窗口 如果数据库无用户则关闭自身弹出FrmAddUser添加用户窗口~~~无问题
    FrmAddUser为添加用户窗口 如果数据库无用户点关闭则关闭自身~~~无问题
    FrmAddUser为添加用户窗口 如果数据库有用户点关闭则关闭自身弹出FrmLogin登录窗口~~~无问题FrmAddUser为添加用户窗口 如果数据库有用户点command2或关闭则关闭自身弹出FrmLogin登录窗口~~~现在点击FrmLogin登录窗口的关闭FrmLogin窗体~窗体是关闭了但我的程序并没有真正结束
      

  6.   

    楼主想结束程序还是退出FrmLogin窗体和FrmAddUser窗体,显示其他窗体?在你提问的说明中无法看出。
    你此段话“现在点击FrmLogin登录窗口的关闭FrmLogin窗体~窗体是关闭了但我的程序并没有真正结束”该如何理解。我的理解就是“点击FrmLogin登录窗口的关闭”应结束“我的程序”。
    那么我给出的代码就是完成次目的。
      

  7.   

    在FrmLogin窗体的代码中增加如下代码,保证FrmLogin窗体始终在桌面显示:Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Cancel = -1
    End Sub
      

  8.   

    For i = 0 To Forms.Count - 1
            Unload Forms(i)
        Next i