我有两种形式;父表单(frmResults
)和位于父表单(frmResultsSub
)内的子表单。子显示查询的搜索结果,并根据返回的字段数和记录数具有水平和垂直滚动条。
为了让用户获得更好的结果子表单查看体验,我一直在玩tyring以实现一种方法来自动调整子表单的大小(增加显示的字段和记录的数量),因为用户拖入/跳出父表单,并允许他们随时访问子的滚动条。
在父母的Resize事件中,我有以下内容......
Me.Section(0).Height = Me.InsideHeight
Me.frmResultsSub.Width = Me.WindowWidth - 700
If Me.WindowHeight > 2650 Then
Me.frmResultsSub.Height = Me.WindowHeight - 1850
End If
我关闭了父窗体的滚动条 - 唯一的滚动条是子窗体的滚动条,我在父窗口有额外的空间以获取额外的信息和几个cmd按钮。
在某种程度上,这很有效......通过反复试验(上面3个数值中的2个),子表单周围有一个小边框。
问题: 我必须将最小子表单高度设置为2650,因为否则Access会出错。
但是,如果父表单被拖得太大访问仍然出现错误,“运行时错误'2100'控件或子表单对于此位置来说太大了”
不是添加更多的最小和最大子表单值(如果可行),是否有更好的方法来实现子表单调整大小,最好还允许父表单的最小/最大按钮工作。我还有一些其他形式可以从类似的大小调整中受益。
感谢您的帮助。
[Access 2003 compliance compliance]
修改:我已添加Me.Section(0).Height = Me.InsideHeight
以尝试调整表单的详细信息部分,但Access仍然会引发相同的错误(我没有看到.Width相当于细节部分)
Edit2:这个问题看起来与http://www.pcreview.co.uk/threads/maximum-width-if-a-subform-in-access-2k.2601154/上看到的问题完全相同,但未提供答案。
我已更改为使用Me.InsideWidth
/ InsideHeight
,但当子窗体试图扩大到31560左右时仍会出现Access错误。有趣的是,Me.Width
只会增长到31560左右在它变为负值之前... Me.InsideWidth
随着窗口拉伸变宽而继续增长为正数。通过只有子窗体的.Width属性,我想知道这是否是问题(子窗体将在同一点变为负值,抛出调整大小)