MS Access 无法创建 MDE 错误。对象太多
Posted
技术标签:
【中文标题】MS Access 无法创建 MDE 错误。对象太多【英文标题】:MS Access cannot create the MDE Error. Too Many Objects 【发布时间】:2009-11-23 11:11:52 【问题描述】:所以我有一个 MS Access 数据库在工作。最近我试图发布另一个 MDE 文件,它实际上从以前的报告中删除了一些内容。现在我收到这个错误,上面写着“MS Access 无法创建 MDE”,带有一个小显示帮助按钮....单击显示帮助按钮,它给出了关于这个通常与太多对象相关的描述(表单、报告、表等)。这个数据库根本不是很大,所以我想知道这是怎么发生的?
每次我发布一个只有微小更改、所有相同表单、报告等的 MDE 一次又一次地发布时,它是否计算在内?
这可能是另一个错误,并且弹出框有点笼统或通用吗?
有没有办法解决这个问题?
这是否计算表单/报告中的对象(文本框、cmb 框等)?
基本上,帮助中给出的示例说,如果您有 500 个表单,每个表单有 2 个模块,那么这将算作 1000....这个数据库大约有 12 个表单,4 个查询,16 个表(最多记录 = >1000 条记录)并且不是很大。自从我上次毫无问题地发布 MDE 以来,我只尝试从这个新的报告中删除一个项目,而没有添加任何新内容。
请帮忙....有人为此尖叫,我无能为力!
谢谢
【问题讨论】:
请注意,一个表单或报表不能有多个模块。 是的,不知道我为什么放那个。我想我是想说表单模块是否正在调用 .bas 模块/函数,因为我不知道这是否算作....尽管您的解释已经解释过它是某处的一些错误代码。谢谢! 【参考方案1】:是的,这是一条误导性的全面错误消息。尝试编译您的代码。 Ctrl+g >> Debug >> Compile 应该会告诉您是哪一行代码导致了您的问题。
我建议经常编译您的代码。我每隔几行代码就这样做一次。
报告中可能有一些代码引用了您从报告中删除的控件。
【讨论】:
非常感谢!因此,如果我返回模块并在即时窗口中“调试”,这将指出 VBA 窗口本身不会显示的代码? 你的问题没有意义。编译代码会一次发现所有编译错误。【参考方案2】:对象在数据库的生命周期内都很重要,也就是说,即使您删除它们,它们仍然很重要。我建议您decompile
,压缩并修复,然后将所有内容复制到一个新的数据库中,这将为您提供一个漂亮、干净的副本。确保它编译然后创建你的 mde。
【讨论】:
雷姆!谢谢....但是看到这对我来说是全新的,那么我有问题:所以提供的链接中的脚本是通用的,我可以使用那个来完成反编译吗?这是 BE mdb、dev MDB 和 FE mde 之间的拆分,所以我的问题是,我唯一需要复制的是中间 dev mdb?这仍然与 BE 表有联系吗?再次感谢! 是的,它是通用脚本,您也可以创建批处理文件或快捷方式来完成相同的目的。反编译不会影响链接表,如果将链接表导入新的mdb,链接将导入,也就是说,您将在新的mdb中有一个链接表。顺便说一句,通常最好有一些代码在必要时检查和重新链接表。 而且,是的,只有 dev mdb 需要被复制,因为它将成为 mde。 一个表单或报表不能有多个模块。我也非常怀疑这是解决方案。该脚本并不完全通用,因为 msaccess.exe 程序可能位于不同的文件夹中。 @Tony Toews 我认为您的其中一个 cmets 是为 OP 而设计的,而不是这个,我在这里看不到任何对具有多个模块的表单或报告的引用。以上是关于MS Access 无法创建 MDE 错误。对象太多的主要内容,如果未能解决你的问题,请参考以下文章
带有 ADODB 记录集的 MS Access ListBox 列属性创建错误 424 需要对象