我希望用户能够在表单视图中通过单击按钮来更改表单的高度:

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 这么说,并且当出现垂直滚动条时 booTallTrue. 但表单不会改变其在屏幕上的垂直尺寸。

我也尝试过这个,但没有成功(确保我的按钮位于表单标题上):

    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 也拒绝忽略隐藏的控件

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top