Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 如何在不溢出其他控件的情况下更改控件高度_Ms Access_Ms Access 2007_Vba - Fatal编程技术网

Ms access 如何在不溢出其他控件的情况下更改控件高度

Ms access 如何在不溢出其他控件的情况下更改控件高度,ms-access,ms-access-2007,vba,Ms Access,Ms Access 2007,Vba,我有一个访问表单,其中20个文本框相互平行,我使用多选列表框向其中添加数据,问题是他们在我的表单上有很大的空间,我不想要所有的,我只需要不为空的字段,所以我想通过只显示不为空的字段来减少一些空间,并隐藏所有其他字段,将它们彼此靠近,使其高度等于零 If Len(Me.Text0.Value & vbNullString) = 0 Then Me.Text0.Height = 0 else Me.Text0.Height = 100 End if ,因此,当我更新这些字段时,其

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

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

,因此,当我更新这些字段时,其高度会从零变为特定高度,但在这种情况下,如果有多个字段不是空的,它们会互相溢出,并且我看不到每个字段的数据,有什么建议吗???

如果这是一个报告,我会说使用
报告。CanShrink
属性

但是,在表单上,您需要循环通过可折叠的
列表框
并根据需要折叠它们,然后在
列表框
-折叠循环中,循环通过所有后续的
列表框
并从
顶部
中扣除折叠列表框的
高度,并从表单部分的
高度
中扣除折叠列表框的
高度


在执行所有这些操作时关闭屏幕更新(
DoCmd.Echo False
…code…
DoCmd.Echo True
)可能会有所帮助。

这并不能回答您的问题,因此我将其添加为注释,但您是否考虑过使用选项卡控件?在数据输入控件过多的表单中,使用Tab控件可以保持整洁。