MS Access Too Many Subforms Error“没有足够的内存来执行此操作”

时间:2016-05-11 20:17:43

标签: ms-access memory subforms

我有一个Access应用程序(32位Office,Windows 7),其中包含一个显示大量子表单的表单。每个子表单都显示有关特定工厂车间状态的信息,并且所有子表单都需要同时查看。

在某一点之后,添加其他子表单会生成错误“没有足够的内存来执行此操作。关闭不需要的程序并再次尝试操作。”

使用一些除了表单之外没有代码或对象的精简测试数据库,我发现当子表单的数量介于80和130之间时会出现此错误,具体取决于我测试的计算机。我的机器上有足够的可用RAM,只要它们分别位于不同的Access实例中,我就可以打开Access数据库(和主表单)的多个副本。

我已经对访问限制,内存处理等进行了大量研究,但没有任何帮助。通过在我的系统内存上监视数据库的需求,我在该区域看不到任何问题,我想知道错误消息是否是红鲱鱼。我想找到一种方法来增加分配给应用程序的资源,或者以某种方式允许添加更多子表单。

有什么想法吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

我非常清楚这个问题,它与子表格有关。几年前,我申请了36个月的生产计划,看起来非常类似于你的应用程序。

我建议您找到一种解决方案,在该解决方案中,您只使用一个子窗体,其中放置一行中的所有控件。将控件命名为t1,t2,t3,t4等,然后放置一些VBA代码,将控件绑定到您的字段。

从长远来看,我建议远离MS Access并使用C#和XAML,后者更加现代化。即使使用C#/ WinForms,您也比使用Access更具灵活性。 WinForms只是有点不灵活,具有各种屏幕尺寸和分辨率。