我正在使用 MS Access 2003 打开一个链接到 SQL Server 2005 标准后端的 MS Access 2000 .mdb(我已经使用 MSSQL 和本地 Jet 表测试并复制了我的问题,因此它会适得其反用 SQL Server 标记这个问题)。
我有一个子数据表,其中子表单中的每条记录都有 11 条记录。如果子表单中的记录数很少(7-10 条记录),则子数据表中的小 [+] 会按预期运行。
但是,当子表单中的记录数为 40-48 条记录时,行为会发生变化。我单击小加号/扩展图标,Access 会根据需要扩展该区域,但它完全是白色/空白,并且没有显示数据。我必须先单击子表单记录,然后在子数据表显示任何数据之前单击扩展图标。在这种情况下还有其他奇怪的行为,但这是我发现的唯一一致且可靠的方法,可以使子数据表的数据出现在该子表单记录中。
以下屏幕截图显示了使用我讨论的技巧以及空白数据场景的成功扩展:
谷歌搜索被证明是徒劳的,以下是我能找到的最好的:
另请注意,将子数据表添加到大表可能会对表的性能产生不利影响。-- MS Office 文章,添加子数据表
我不认为 40-48 条记录符合“大”的条件,我也不认为“表现”是“奇怪行为”的同义词。
我尝试过的事情:
- 使子数据表的源查询只读。
- 将 SubDatasheetName 从 [Auto] 更改为显式声明的源查询。
- 限制子数据表的源查询中的记录数,以便每个子表单的记录只有 2-4 个子数据表行。