通过更改Detail.Height调整MS Access中的窗体大小

时间:2014-02-25 17:33:11

标签: ms-access access-vba

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

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时会显示垂直滚动条。 但表单不会在屏幕上更改其垂直尺寸。

我也试过这个,但没有成功(确保我的按钮在Form标题上):

    Me.Detail.Visible = booTall

解决方案似乎取决于“表单和表单详细信息”部分的属性:可调整大小自动高度,可能可以增长等但是我摆弄了那些,没有任何作品。

我理解重叠控件和其他东西可以防止高度调整,所以我将表单缩小到最小的布局。我正在使用Access版本2007/2010。

其他一些信息:我实际上正在努力的是两个子表单,上面的(A)和下面的(B),它们可以独立地折叠出视图或展开。这是一个决策表格,上面有很多数据。我想如果我折叠了(A)或(B)的高度,CanShrink的{​​{1}}属性会导致整体形式维度发生变化。事实上,我想我几年前使用Access 2003做过这样的事情。至于使用Maximize ...我们将此表单设置为可重用,多个实例可以打开。

2 个答案:

答案 0 :(得分:6)

“...点击按钮”

,在表单视图中更改表单的高度

使用表单的.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

答案 1 :(得分:2)

我遇到了类似的问题,发现即使我隐藏了字段(控件),我也不希望看到细节高度不够缩小。我发现如果我移动了我想要隐藏的控件(所以设置.Visible和.Top属性)然后Detail.Height将减少到我想要的。就好像甚至隐藏的Access拒绝忽略隐藏的控件