如何更改控制高度而不溢出其他控件

时间:2013-12-15 14:44:51

标签: vba ms-access ms-access-2007 access-vba

我有一个20个文本框相互平行的访问表单,我使用多选列表框向他们添加数据,问题是他们在我的表单上有一个很大的空间,我不想要所有这些我只是需要非空的字段所以我想通过只显示非空的字段来减少一些空间,并通过将它们彼此关闭并使其高度等于零来隐藏所有其他字段

 If Len(Me.Text0.Value & vbNullString) = 0 Then
 Me.Text0.Height = 0
 else
 Me.Text0.Height = 100
 End if

,所以当我更新任何这些字段时,它的高度从零变为特定高度,但在这种情况下,如果我有多个字段不为空,它们互相溢出,我无法看到每个字段的数据,任何建议??

1 个答案:

答案 0 :(得分:2)

如果这是一份报告,我会说使用Report.CanShrink属性......

但是,在表单上,您需要遍历可折叠的ListBox es并根据需要折叠它们,然后在ListBox - 折叠循环中,循环浏览所有后续ListBox es并从Height中扣除已折叠列表框的Top,并从表单部分{{1]中扣除已折叠列表框的Height }}

在执行所有操作时关闭屏幕更新(Height ...代码... DoCmd.Echo False)可能会有所帮助。