如何调整访问表单的大小以适合屏幕

时间:2018-11-15 17:46:51

标签: vba ms-access access-vba ms-access-2016

因此,我最近从Access 2003升级到Access 2016,当然,我讨厌不得不处理2016年无法更改的令人讨厌的白色背景。最大化表格/报表并不是我们的选择,因为我们经常这样做将在任何给定时间使用多种表单/报告,并且需要能够查看和更改它们才能完成工作。

我想出了一个我认为是非常聪明的解决方案,我创建了一个空的背景表单,但它具有深灰色背景,使您的眼睛更轻松。当您打开新表单或报表时(在“打开事件”中),它将把该表单放置在堆栈顶部,以便您具有打开表单和报表的层次结构。

如果您单击不在顶部的表单或报表(在“激活事件”中),然后将其移回到堆栈的顶部。然后,您是否应该不小心单击背景表单,而不是覆盖您一直在处理的所有内容,而是遍历整个堆栈,从底部开始,将焦点放在每个表单或报表上?这是我为有兴趣的人准备的方法:

Private Sub Form_GotFocus()
  Dim db As DAO.Database
  Dim rst As DAO.Recordset
  Set db = CurrentDb
  Set rst = db.OpenRecordset("SELECT ID, FormName, FrmRpt FROM FormStack ORDER BY ID", dbOpenSnapshot)
  If rst.EOF Then
    DoCmd.OpenForm "frmMenu"
  Else
    While Not rst.EOF
      If rst.Fields("FrmRpt") = "Form" Then
        Forms(rst.Fields("FormName")).SetFocus
      Else
        DoCmd.SelectObject acReport, rst.Fields("FormName")
      End If
      rst.MoveNext
    Wend
  End If
  rst.Close
  Set rst = Nothing
End Sub

一切正常,我只需要确保将代码添加到我创建的任何新表单或报表中即可。

所以这是我的难题,此背景表单必须足够大以填充正在使用它的任何人的屏幕,否则,您将在边缘看到白色。由于每个人都有不同的监视器,因此我决定将表单制作得非常大(21“ x13”),以使其填满正在使用它的任何人的屏幕。我将“自动居中”,“自动调整大小”和“适合屏幕”全部设置为是。

我没有边框,记录选择器,导航按钮,潜水线,滚动条,控制框,关闭按钮或最小-最大按钮,并且它也不可移动。详细信息部分可以增长,也可以缩小。因此,现在一切正常,除了此表单的大小大于任何人的Access窗口之外,Access窗口本身没有滚动条,因此您可以四处移动以查看其暗淡的所有灰色背景中的整个背景表单。

如果能完美地填充“访问”窗口,以使这些滚动条不会出现并使用户感到困惑,那就太好了。

有人知道如何解决这个问题吗?

4 个答案:

答案 0 :(得分:0)

我会

  • 最大化背景表格以覆盖Access背景。
  • 将所有“表单+报告”设置为Popup = Yes,即使打开了最大化的表单,也不会将其最大化
  • 教育用户,他们现在有更多自由移动窗口,并且应该避免遮盖菜单栏。
    如果其中一些设置有两个显示器,则他们还可以将某些窗口移至第二个显示器(在Access主窗口之外)。这可能非常有用。
  • (最重要的是)以所有形式废除了所有这些代码。

答案 1 :(得分:0)

转到访问设置=> document window options并选择tabbed documents。任何想要具有特定大小的表格,都可以设置为“弹出窗口”。

您仍然可以使用具有自定义bg颜色,大小为1cmx1cm,没有滚动,没有导航栏,没有记录选择符,边框样式none的自定义表单。放置一个矩形并将Anchoring属性设置为“ strech down and across”,它将填充整个访问应用程序,用户将无法关闭它。

设置页面

enter image description here

样本结果

enter image description here

答案 2 :(得分:0)

最新答案,但我找到的最佳解决方案是Peter软件公司的Shrinker-Stretcher。它遍历所有控件并调整表单(及其子表单)上所有内容的大小以适合应用程序窗口。开发人员许可证对其用途是合理的。

答案 3 :(得分:0)

这不会调整窗体的大小以适合屏幕,但是Access现在具有深灰色主题,这使我具有深色背景并解决了我的问题。