MS Access - 隐藏子窗体

时间:2017-02-24 21:20:58

标签: ms-access

我今天有一个棘手的问题 -

任务:

  1. 我在表单上有一个子表单,基于查询
  2. 当我打开表单时,我想默认隐藏列的子集
  3. 我为此创建了一个Public函数:hideRawCols()
  4. 问题:

    1. 使用子表单的OnLoad或OnOpen事件,子表单忽略该函数,在绘制表单/子表单时不隐藏列
    2. 我在调用同一个函数的表单上有一个Option切换,它运行得很好。 [(1)=显示,(2)隐藏],默认值(2)
    3. 示例:

      Public Function hideRawCols()
      
      If Forms![2_4_6 QA Review]!frmRaw.Value = 2 Then
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Item").Properties("ColumnHidden") = True
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Desc").Properties("ColumnHidden") = True
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Mfg").Properties("ColumnHidden") = True
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Mfgid").Properties("ColumnHidden") = True
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Area").Properties("ColumnHidden") = True
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Depart").Properties("ColumnHidden") = True
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Pack").Properties("ColumnHidden") = True
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Uom").Properties("ColumnHidden") = True
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Cost").Properties("ColumnHidden") = True
      Else
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Item").Properties("ColumnHidden") = False
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Desc").Properties("ColumnHidden") = False
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Mfg").Properties("ColumnHidden") = False
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Mfgid").Properties("ColumnHidden") = False
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Area").Properties("ColumnHidden") = False
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Depart").Properties("ColumnHidden") = False
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Pack").Properties("ColumnHidden") = False
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Uom").Properties("ColumnHidden") = False
          Forms![2_4_6 QA Review]![2_4_6 QA Review subform].Form.Controls("Raw_Cost").Properties("ColumnHidden") = False
      End If
      
      
      End Function
      

      我的直觉告诉我加载或打开表单/子表单的时间问题。表格完全绘制后是否可以使用任何事件。眨眼就可以接受了。

      谢谢!

1 个答案:

答案 0 :(得分:0)

我注意到:从父窗体的OnLoad事件调用该函数似乎产生了预期的结果。