通过更改 Detail.Height 来调整 MS Access 中的表单大小
-
21-12-2019 - |
题
我希望用户能够在表单视图中通过单击按钮来更改表单的高度:
Private Sub btnChangeHeight_Click()
booTall = Not booTall
If booTall Then
lngHeight = 12400 ' (twips)
Else
lngHeight = 1200
End If
Me.Detail.Height = lngHeight
Me.Repaint
Debug.Print Me.Detail.Height
End Sub
高度变化—— Debug.Print
这么说,并且当出现垂直滚动条时 booTall
是 True
. 但表单不会改变其在屏幕上的垂直尺寸。
我也尝试过这个,但没有成功(确保我的按钮位于表单标题上):
Me.Detail.Visible = booTall
该解决方案似乎取决于“表单”和“表单详细信息”部分的属性: 可调整大小, 自动高度, , 也许 可以成长, , ETC。但我摆弄过这些,但没有任何作用。
我知道重叠的控件和其他东西可能会阻止高度调整,因此我将表单缩小到最小布局。我使用的是 Access 版本 2007/2010。
一些附加信息: 我实际上正在努力实现两个子表单,上面的 (A) 和下面的 (B),它们可以独立地折叠到视图之外或展开。这是一个包含大量数据的决策表格。我想如果我折叠(A)或(B)的高度, CanShrink
的财产 Detail
会导致整体形状尺寸发生变化。事实上,我想我几年前就使用 Access 2003 做到了这一点。至于使用最大化...我们将此表单设置为可重复使用,可以打开多个实例。
解决方案
“……在表单视图中通过单击按钮更改表单的高度”
使用表格的 .Move
改变表单大小的方法。此示例将窗体的高度在 4044 和 8000 缇之间切换。
Private Sub btnChangeHeight_Click()
Dim lngHeight As Long
If Me.WindowHeight = 4044 Then
lngHeight = 8000
Else
lngHeight = 4044
End If
Me.Move Me.WindowLeft, Height:=lngHeight
End Sub
其他提示
我遇到了类似的问题,发现即使我隐藏了字段(控件),我也不想看到详细信息高度不会缩小得足够多。我发现如果我移动想要隐藏的控件(因此设置 .Visible 和 .Top 属性),那么 Detail.Height 会减小到我想要的值。就好像即使隐藏的 Access 也拒绝忽略隐藏的控件
不隶属于 StackOverflow