为什么MS Access子数据表有时需要额外的点击才能呈现?

时间:2012-12-02 18:02:00

标签: ms-access drilldown ms-access-2000

我正在使用MS Access 2003打开链接到SQL Server 2005 Standard后端的MS Access 2000 .mdb(我已使用MSSQL和本地Jet表测试并复制了我的问题,因此它将是计数器用SQL Server标记这个问题很有效。

我有一个子数据表,其子表单中的每条记录都有11条记录。如果子表单中的记录计数较低(7-10条记录),则子数据表little [+]的行为与预期一致。

但是,当子表单中的记录计数大约为40-48条记录时,行为会发生变化。我单击小加号/扩展图标,Access会根据需要扩展区域,但它完全是白色/空白,数据不显示。我必须首先单击子窗体记录,然后在子窗口小部件显示任何数据之前单击扩展图标。在这种情况下还有其他奇怪的行为,但这是我发现的唯一一致的和可靠的方法,使子数据表的数据出现在该子表单记录中。

以下屏幕截图显示了使用我讨论的技巧以及空白数据方案的成功扩展:

screenshot of the subform and subdatasheet

谷歌搜索已证明无效,以下是我能找到的最佳搜索:

  

另请注意,将子数据表添加到大型表可能会对表的性能产生负面影响。 - MS Office article, Add a subdatasheet

我不认为40-48条记录符合“大”的标准,也不相信“表现”与“奇怪行为”同义。

我尝试过的事情:

  • 制作子数据表的源查询ReadOnly。
  • 将SubDatasheetName从[Auto]更改为显式声明的源查询。
  • 限制子数据表的源查询中的记录数,以便每个子表单的记录只有2-4个子数据表行。

1 个答案:

答案 0 :(得分:0)

我相信我找到了合适的解决方法。

把:

Me.Refresh
DoEvents
主要形式的OnCurrent事件中的

似乎可以解决大多数情况。偶尔还有一些怪癖,但只是改变数据表中的内容(而不是子数据表)似乎使Access加载了所有数据,并且它显示并按预期运行。

其他修复/解决方法表示赞赏,欢迎,并将进行适当的投票。