我在 MS Access 上创建了一个表单。我的屏幕分辨率是 1920 X 1080。表格适合屏幕,没有任何问题。当其他人在计算机上使用该表单时,他们必须向下滚动才能查看整个表单。我怀疑他们的屏幕分辨率较低,这就是原因。但事实上,他们的分辨率设置为3840 x 2160(这也是Windows“推荐”的分辨率)。 MS Access 已最大化至全屏尺寸。我不明白为什么他们不能查看整个表格。随着分辨率的提高,我预计表单上会有更多的空白空间。谁能解释一下并提供任何建议吗?
我不能明确地说,但根据我的经验,似乎 Access 在每次加载表单时都使用一些非常糟糕的逻辑来重新计算对象位置和尺寸。
首先,设计者强制用户输入以英寸为单位的测量值。精度可以在百万分之一英寸之内,但如果访问不喜欢输入的数字,它可能会通过看似随机的值(例如 0.0007 英寸)自动纠正。
其次,这些值不是以英寸为单位存储,也不是以像素为单位。它可能是 twips,这与计算出的计算机屏幕每英寸点数有关。
虽然 Access 在修订跟踪方面很糟糕,但我的项目有一个功能,可以为此目的将所有表单(和其他对象)导出到纯文本文件。结果看起来非常类似于普通的非 Access Visual Basic 项目中的表单定义代码。作为实验,我刚刚创建了一个 1"x0.25" 的标签。它呈现为 97x25 像素。导出的表单文件的尺寸记录为 1140x360。高度看起来就像单位之间可能存在简单的相关性(一个像素 = 0.01 英寸),但宽度将这个想法抛到了窗外(一个像素 = 0.0103 英寸)。 (我的经验是 Visual Basic 的 twip-width 和 twip-height 确实往往彼此不同。)
我的假设是,当以英寸为单位输入测量值时,Access 会将其转换为缇作为内部值,然后在设计器中将其转换回英寸以供用户查看,因为缇必须是整数值。当稍后重新打开 Access 窗体时,存储的缇值将转换为英寸(和像素),然后呈现对象。缇到英寸或像素的确切转换率因环境而异,因此在一台计算机上保存表单然后在另一台计算机上查看它可能会使用不同的缇大小定义。
以下是支持我的理论的一些值得注意的经验:
我想说,对于 Access 表单,您无能为力,但对于报告,明智的做法是让您的右边距比您想要的小一点,然后瞄准不填满整个宽度的打印区域,以便有增长的空间。当您没有主动进行任何更改时,还要避免在设计器视图中打开表单/报告并保存,因为 Access 喜欢增加这些英寸。