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/0/vba/16.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 FormFooter Visible属性-相应的比例表格高度_Ms Access_Vba - Fatal编程技术网

Ms access FormFooter Visible属性-相应的比例表格高度

Ms access FormFooter Visible属性-相应的比例表格高度,ms-access,vba,Ms Access,Vba,当尝试切换FormFooter的visible属性时,如何确保当页脚切换为visible=Yes时,页脚会从表单底部延伸,而不是延伸到表单的详细信息部分 我已尝试将所有部分的CanGrow属性设置为yes。我甚至尝试将Details部分的height属性更新为页脚部分可见时高度所占的额外比例。这两个都不起作用,而且似乎没有一个可以通过VBA调整的整体形状高度属性 我想在弹出式窗体中隐藏一部分控件,这些控件只有在用户单击按钮时才会显示。希望在foot部分执行此操作,然后只需使用命令按钮切换Form

当尝试切换FormFooter的
visible
属性时,如何确保当页脚切换为visible=Yes时,页脚会从表单底部延伸,而不是延伸到表单的详细信息部分

我已尝试将所有部分的
CanGrow
属性设置为yes。我甚至尝试将Details部分的
height
属性更新为页脚部分可见时高度所占的额外比例。这两个都不起作用,而且似乎没有一个可以通过VBA调整的整体形状高度属性


我想在弹出式窗体中隐藏一部分控件,这些控件只有在用户单击按钮时才会显示。希望在foot部分执行此操作,然后只需使用命令按钮切换FormFooter的
可见属性,但是,如果不侵入详细信息部分或在详细信息部分添加滚动条,则似乎无法做到这一点。

我认为,当您使
表单页脚
可见时,您应该避免破坏表单的
详细信息
区域。我知道的唯一方法是将表单的
窗口高度
增加容纳页脚所需的量(
FormFooter.Height

但是,
WindowHeight
属性是只读的,因此不能直接更改。相反,您可以使用表单的
Move
方法来调整表单的大小。调整窗体大小会间接更改
WindowHeight
属性值

在Access 2007中进行测试时,此VBA程序达到了我认为您想要的效果。对于我的弹出式窗体,它没有引起任何明显的显示闪烁,这是一个惊喜

Private Sub cmdToggleFooter\u Click()
昏暗的灯光和长时间的灯光一样暗
如果Me.FormFooter.Visible=True,则
'将窗口高度减少FormFooter.Height
lngWindowHeight=Me.WindowHeight-Me.FormFooter.Height
其他的
'将WindowHeight增加FormFooter.Height
lngWindowHeight=Me.WindowHeight+Me.FormFooter.Height
如果结束
'调整窗体的窗口大小
Me.向左移动:=Me.WindowLeft,高度:=lngWindowHeight
'切换FormFooter。可见
Me.FormFooter.Visible=不是Me.FormFooter.Visible
端接头

我认为,当您使
表单页脚可见时,您希望避免分解表单的
详细信息
区域。我知道的唯一方法是将表单的
窗口高度
增加容纳页脚所需的量(
FormFooter.Height

但是,
WindowHeight
属性是只读的,因此不能直接更改。相反,您可以使用表单的
Move
方法来调整表单的大小。调整窗体大小会间接更改
WindowHeight
属性值

在Access 2007中进行测试时,此VBA程序达到了我认为您想要的效果。对于我的弹出式窗体,它没有引起任何明显的显示闪烁,这是一个惊喜

Private Sub cmdToggleFooter\u Click()
昏暗的灯光和长时间的灯光一样暗
如果Me.FormFooter.Visible=True,则
'将窗口高度减少FormFooter.Height
lngWindowHeight=Me.WindowHeight-Me.FormFooter.Height
其他的
'将WindowHeight增加FormFooter.Height
lngWindowHeight=Me.WindowHeight+Me.FormFooter.Height
如果结束
'调整窗体的窗口大小
Me.向左移动:=Me.WindowLeft,高度:=lngWindowHeight
'切换FormFooter。可见
Me.FormFooter.Visible=不是Me.FormFooter.Visible
端接头

在设计时使页脚可见,以便在加载表单时页脚可见(最糟糕的情况是非常短暂)。然后在表单加载中放置一个FormFooter.Visible=false。

在设计时使页脚可见,以便在加载表单时它可见(最坏情况下是非常短暂的)。然后将FormFooter.Visible=false放入表单加载中。

好主意,但不幸的是事情发生了(当我通过命令按钮过程唤醒可见的页脚时,细节部分被挤压)。好主意,但不幸的是事情发生了(当我通过命令按钮过程唤醒可见的页脚时,细节部分被挤压).效果很好!非常感谢。关于滚动条:我只是说,虽然用户仍然可以使用将出现的滚动条访问页脚占据的详细信息部分,但我更希望窗口能够在不需要滚动条的情况下调整大小。这对我来说很有意义,谢谢。对不起,我昨天没碰它。顺便说一句,您可以概括该过程并将其存储在标准模块中,以便方便地为其他表单实现该功能
切换页脚(ByRef frm作为表单)
,然后将过程主体中的
Me.
替换为
frm.
。然后,您的命令按钮单击事件可能是
ToggleFooter Me
我自己可能会使用它,所以感谢您提出这个问题。:-)在某些情况下,
Me.Move
是否不起作用?我试图使用它将此表单放置在更靠近屏幕顶部的位置,方法是将
Me.Move Left:=WindowLeft,top:=1
放在表单的打开事件中。我已经关闭了窗体的autocenter属性,但窗体仍然在屏幕中央打开。请从VBA检查窗体的
Moveable
属性。效果非常好!非常感谢。关于滚动条:我只是说,虽然用户仍然可以使用将出现的滚动条访问页脚占据的详细信息部分,但我更希望窗口能够在不需要滚动条的情况下调整大小。这对我来说很有意义,谢谢。对不起,我昨天没碰它。顺便说一句,您可以概括该过程并将其存储在标准模块中,以便方便地为其他表单实现该功能<代码>切换页脚(ByRef frm作为表单)