继续我的应用程序开发,我遇到了另一个问题。
在我的MS Access应用程序中,我使用的表单只包含两个控件 - 文本框和命令按钮。此表单的名称为HEADER FORM
。
HEADER FORM
用作各种其他表单的标题部分中的子表单。
下图显示了子窗体及其在主要窗体之一中的用法。
现在,我想要的是当用户点击子表单的Logout按钮时,将发生注销操作(这很好,我能够弄明白)以及在那个时间点打开的所有表单应关闭/卸载。
我尝试使用以下代码无济于事。
Option Compare Database
Private Sub cmdHeaderLogout_Click()
If (loggedIn = 1) Then
loggedIn = 0
DoCmd.Close acForm, Parent.Form
End If
End Sub
当我尝试单击注销按钮时,控件到达上面的DoCmd.Close语句。在给出以下错误消息后执行停止:
运行时错误:2498。您输入的表达式是错误的数据类型 其中一个论点。
并指向Parent.Form
文字。
我无法弄清楚如何引用父表单并卸载它?
答案 0 :(得分:1)
您应该参考当前表单的父级名称,即:
DoCmd.Close acForm, Me.Parent.Name
DoCmd.Close的第二个参数采用字符串。
您还可以遍历表单集合。
FormsCount = Forms.Count - 1
For i = FormsCount To 0 Step -1
If Forms(i).Name <> Me.Name Then
DoCmd.Close acForm, Forms(i).Name
End If
Next