我使用的访问,2003年在一个双核心机4G的RAM、运行Windows XP(服务包3)[5.1.2600]

周期性的,我得到一个错误消息"没有足够的存储器进行这种操作。关闭不需要计划和尝试的动作了。"

检查的任务主管表示,有大量的免费存储器。关闭其他开放的程序没有差别。

这种情况发生零星的,并根据不同的情况:有时候,虽然保存的形式设计或载>>>情绪的改变,有时候几种形式是开放的,并在使用。

如果试图救助设计更改,这发生错误时,访问的目的是破坏并且不能恢复。

任何建议可能是什么引起这将是非常值得欢迎的。

MTIA

有帮助吗?

解决方案 6

据我所知,这是无论是窗体或报表,最有可能出现了问题,我创建了一个新的mdb,只有进口表(附后),查询,脚本(其一),模块和菜单。然后,我通过函数中使用LoadFromText到进口的表格和报告,然后做通常的反编译/编译和紧凑/修理等

到目前为止,触摸木头,我还没有另一个崩溃了些日子,所以我可能会用这种恢复方法坚持下去。

非常感谢大家的建议。

其他提示

VBA项目在前端是可能损坏。你需要重建它从头开始,然后用适当的访问编码做法:

  1. 在VBE选项,关闭汇编的需求(见 迈克尔*卡普兰的文章进行 对于细节为什么)。

  2. 在VBE选择,又在需要变声明。

  3. 在VBE,定制工具栏以便编制按钮是很容易地访问(这是在"调试"菜单)。我还建议增加的呼吁堆按钮(从看菜单),因为它是方便进行调试的错误断模式。这里的要点是进行调试和编纂尽可能容易。

  4. 设立了您的环境,通过所有模块的新恢复的项目和增加选择的明确的顶部的每一个模块,缺乏。然后编译。你很快就会找到那里你已经无效的代码,你会需要解决它。

  5. 从现在起,编程时,编译频繁,之后每隔两或三个行代码。我可能编制项目100次或多次一天当中的编码。

  6. 定期进行项目和紧凑的,并重新编译。这将清理的任何污物累积期间经常发展。

这些做法确保代码在非腐败的项目保留在清洁条件成为可能。它将无助于恢复一个已经损坏的项目。

在关于如何重建项目,我想我会去的大幅路线的出口的所有对象的应用程序。SaveAsText和导他们进入一个新的空白数据库应用程序。LoadFromText.这优于简单的进口从现有损坏,前端,因为进口可以进口损坏的结构,将无法生存的一个SaveAsText/LoadFromText循环。

我的节目每天在访问,与工作的不平凡的应用程序,使用大量的代码,其中包括大量的独立类模块。我没有失去一个目的代码中的腐败超过5年,这是早在一天当我仍然在使用A97.

具有跳过这个老邮的地雷,并看到它有一个公平的位的兴趣,我想也许一种更新就是为了?

所以2年以下的轨道,做了大量的2007年应用程序的工作以及老年至2003年(和甚至97)应用程序,我发现,2007年是不容易的真的很讨厌的崩溃,比2003年-在那里访问目的定义(表格和报告esp.) 将会很容易损坏。

我还是按照建议1至6(上述)通过大卫-W-芬顿宗教虽然,再加上使用的应用程序。SaveAsText(见托尼*托斯'的建议和链接)。

这些天来,无论是97,2003年或2007年我的工作,如果访问给 任何 暗示"正在奇怪 | 崩溃 | 投掷莫名其妙的错误。"等等,我做到以下几点:

  1. 立即关闭接入的应用程序
  2. 备份的mdb/accdb文件
  3. 重新开放该程序,而保持下[转移]所以没有什么运行
  4. 出口的所有对象作为文本使用的应用程序。SaveAsText(作为另一个备份)
  5. 关闭并重新开放该程序使用/反编译开关
  6. 重新编译载>>>情绪
  7. 做一个紧凑的/修复。

这不会解决一切,但它不会的次数明显减少损坏的访问对象从什么我能观察到。

噢,我

我曾在一家店多年所使用Access作为他们的首选平台。该应用最终得到了如此之大,它开始触及Access 2003中的一个内部内存限制他们开始体验,您有完全相同的问题。正如您已经注意到,有一个记忆的问题没有外部指示当发生这种情况。

该公司在谈到长度约微软的问题,我相信微软最终与补丁提供他们。所以,你可能想谈谈微软有关这一点,如果这听起来像一个类似的情况,你正在经历什么,因为它们可能能够使用相同的补丁提供给您。

最终,长期的解决办法是打破应用成小块。移动到Access 2007年并没有帮助;事实上,它使事情变得更糟,因为Access 2007年有更多的移动部件。

快速溶液;保证工作:

打开VBA(Alt-F11) 在即时窗口输入以下命令:

Application.SaveAsText acForm, "corrupt form name here", CurrentProject.Path & "\zzTempRevive"

然后

Application.LoadFromText acForm, "corrupt form name here", CurrentProject.Path & "\zzTempRevive"

这是它:)希望这会帮助别人!

这也是默认的错误消息时访问不知道的问题实际上是什么。现在,如果您的MDB是特别大,比如超过800点的形式,并与随后模块报告,是该MDB可能会太大,虽然当你去创建MDES给你带来了消息。 ACC2000: “微软Access无法创建MDE数据库” 错误消息

我有过这样的偶然发生的自己。而我目前的MDB是不太那么大。请注意,结构紧凑,维修不低于表,索引或关系其他物体检测错误。所以导入到另一个MDB是纠正这些错误的唯一方法。

您工作的这个MDB在网络上?这对我唯一能想到的的可能会导致此问题。

我也遇到这个问题很多次,终于找到了工作的解决方案。我不知道是什么原因导致的问题,但我不知道如何解决它。

通常,当打开窗体发生错误。你需要做的完全是重新创建的形式。这样做最简单的方法是先出口形式与无证功能Application.SaveAsText的文本文件。然后,你从你的数据库,并重新加载它Application.LoadFromText删除形式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top