【问题标题】:How do I hide/unhide a subform based on the input from two comboboxes?如何根据来自两个组合框的输入隐藏/取消隐藏子表单?
【发布时间】:2021-08-04 22:56:26
【问题描述】:

我有一个名为 TrainingsSU 的主窗体 在其中我调用子表单 qry_TrainingSU (从同名查询构建) 我进行了设置,以便记录根据主窗体中的两个组合框自动填充子窗体。

但我需要做的是隐藏子表单,并且仅在填充两个组合框并加载记录时才显示它。

这是当前的 VBA(我什至不是新手)

Private Sub cbo_EmployeeLookup_AfterUpdate()

    Me!qry_TrainingsSU.Requery
    
    If Me.cbo_EmployeeLookup.Value = "" Then
        Forms!qry_TrainingsSU.Visible = False
    Else
        Forms!qry_TrainingsSU = True
    End If
        
End Sub

Private Sub cbo_TrainingName_AfterUpdate()
     
     Me!qry_TrainingsSU.Requery
     
     If Me.cbo_TrainingName.Value = "" Then
        Forms!qry_TrainingsSU = False
    Else
        Forms!qry_TrainingsSU.Visible = True
    End If
    
End Sub

我在另一个答案中找到了此代码的一般形式,这里:MS Access: Hide and Unhide subform based on drop down in Main Form 但是代码似乎对我不起作用。

当前子表单设置为可见:否 所以根本什么都没有出现。 如果我改变它,它不会消失,空的子表单仍然可见。 这不是问题,除非我需要将此表单用于另一个查询,并希望在第二个子表单准备好使用时将它们分层。

稍后将使用此表单将 UPDATE SET 推送到基于不同子表单的表中。

代码是否有明显错误,或者我错过了某处的设置?

【问题讨论】:

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


    【解决方案1】:

    你可以试试这个:

    Private Sub updateStates()
    
        Me!qry_TrainingsSU.Form.Requery    
    
        If (Me.cbo_EmployeeLookup.Value <> "" AND Me.cbo_TrainingName.Value <> "") Then
          Me!qry_TrainingsSU.Visible = True
        Else
          Me!qry_TrainingsSU.Visible = False
        End If
           
    End Sub
    
    Private Sub cbo_EmployeeLookup_AfterUpdate()
        updateStates
    End Sub
    
    Private Sub cbo_TrainingName_AfterUpdate()    
        updateStates    
    End Sub
    

    Forms!qry_TrainingsSU 搜索作为主表单打开的表单,而不是子表单。

    【讨论】:

    • 这确实让表单从不可见变为可见,这很棒,我希望只有在两个框都更新后才能改变状态,并且在任一框更新后这样做.我尝试堆叠 Ifs,但无济于事,但至少这样我可以取得进展,所以谢谢。
    • 我已经修改了代码以满足您的需求。
    • 谢谢你,先生,随着它的出现,我正在学习如何做到这一点(你应该看到我的前几个问题......但它与我理解的 python 和 SQL 有很大不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    相关资源
    最近更新 更多