是否有一种编程方式来处理MS Access中的子窗体/滚动条情况?

时间:2015-01-27 22:59:51

标签: ms-access scroll scrollbar horizontalscrollview

subform 'frm_Stage' window limiation

简短说明:我需要查看数据表子表单中的所有列。特别是 - 12列的月份。为此,我需要一个水平滚动条。要进入滚动条是一个挑战。我正在使用MS Access 2007进行开发。

THOROUGH DESCRIPTION: 我有一个子表单'frm_SP',它在数据表视图中显示为22“宽,这是表单宽度的限制 - 它嵌套在另一个名为'frm_stage'的子表单中。

我终于发现无论我做多么广泛的“父形式 - 'frm_Entry',我似乎无法使所有这第三个嵌套子表格'frm_SP'可见。底部的水平条似乎似乎通过按比例增长来弥补,以保持限制完好 - 这是令人沮丧的。

如下图所示,我必须向下滚动才能看到水平滚动条。为什么这么远呢?我在某处指定了吗?无论数据表中存在多少记录,它都会保持该距离。因此,如果它只有4条记录,我仍然需要一直向下滚动才能看到滚动条。 同样,我有一组超出水平滚动条的记录,我无法使窗口足够大以查看这些记录。因此,如果需要编辑这些记录,我必须告诉客户打开实际的表。

我犹豫是否要发布这样的内容,因为它需要图像,但现在我已经完成了工作,希望这可以为其他用户解决很多问题。也许这就是我能找到的网上答案不多的原因。

欢迎任何提示和替代方法的建议。

unnecessary space below the last record in the datasheet of frm_SP

我为箭头键添加了“SendKeys”代码,以便12个框的功能更像电子表格。 但我不明白为什么1月被跳过然后它继续跳过每2个盒子

以下是代码:

Private Sub txtDEC_NC_KeyDown(KeyCode As Integer, Shift As Integer)
 Select Case KeyCode
        Case 40 'down
            SendKeys "{TAB}", False

        Case 38 'up
            SendKeys "+{TAB}", False

    End Select
End Sub

1 个答案:

答案 0 :(得分:0)

如果您还没有,请尝试增加二级表单的大小(以及第二级的子表单控件,它包含底层表单)。

看起来你的底层形式(最大宽度为22和#34;)需要一个水平滚动条才能在你的二级形式中显示。这会导致滚动条显示在您的第二级表单中(您必须在顶部表单内滚动 - 向下以便查看它)。

相反,您可能希望滚动条显示在顶级窗体上,我相信如果您的第二级窗体(以及底层窗体的子窗体控件)也设置为最大宽度为22"。

底层表单将显示在中间表单中,而不需要中间形式的滚动条,并且一个(且仅)滚动条将在顶部表单上呈现,在那里它将始终可以轻松访问需要先向下滚动。

我对第二种形式的额外垂直空白区域有什么想法,但我想知道上述内容是否可能无法解决您的问题。

只是一个想法。 (而且我意识到这是一个非常古老的问题,所以也许你不再需要任何建议 - 在这种情况下,我将把这个评论留给其他可能在将来有类似问题的人。) / p>