【问题标题】:Access parent and other open forms from a subform从子表单访问父表单和其他打开的表单
【发布时间】:2012-10-26 06:07:31
【问题描述】:

在继续我的应用程序开发过程中,我遇到了另一个有趣的问题。

在我的 MS Access 应用程序中,我使用的表单只包含两个控件 - 一个文本框和一个命令按钮。此表单名为HEADER FORM。

HEADER FORM 用作各种其他表单标题部分的子表单。

下图显示了子窗体及其在主窗体之一中的使用。

现在,我想要的是,当用户单击子表单的注销按钮时,将发生注销操作(这很好,我能够弄清楚)以及当时打开的所有表单应关闭/卸载。

我尝试使用以下代码无济于事。

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 文本。

我不知道如何引用父表单并卸载它?

【问题讨论】:

    标签: forms ms-access vba ms-access-2010 subforms


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 1970-01-01
      相关资源
      最近更新 更多