为什么列表框中的行在不同的计算机上具有不同的高度?

时间:2019-05-30 20:15:38

标签: vba access-vba

我正在建立一个数据库,并且已经建立了一些VBA代码,以根据列表框中记录的数量来调整报表中列表框的大小,以便在打印时列表框始终是正确的大小。我遇到的问题是,调整大小在我的机器上可以正常工作,但是当我在另一台机器上运行代码时,列表框切断了最后一条记录。

为了查看是否有任何一台机器表现异常,我在第三台机器上运行代码以查看会发生什么,并且最后一条记录并未被切断,但与原始机器的位置略有不同,所以我所需的列表框有3种不同的高度。我在前两台机器上检查了VBA代码中变量的值,并且计算结果相同。我检查了字体是否相同,字体大小是否相同以及填充是否相同。

Dim RecordCount as Integer
Dim FontSize as Integer
Dim Padding as Integer
Dim RowHeight as Integer

Dim lstIssues as Listbox
Dim Issues as Report
Set Issues = [Reports]![Issues]
Set lstIssues = Issues.lstIssues

RecordCount = lstIssues.ListCount
FontSize = lstIssues.FontSize
Padding = lstIssues.TopPadding + lstIssues.BottomPadding

RowHeight = 20 * FontSize + Padding

lstIssues.Height = RowHeight * RecordCount

On Error Resume Next

DoCmd.RunCommand acCmdPrint

On Error GoTo 0

我的数据库中的字体大小为11,顶部和底部的填充均为0.053cm或30缇。因此RowHeight应该为280。我表中的记录计数为24,因此列表框的总高度应为6720。

0 个答案:

没有答案