首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Access ADP Corupt无法编译

Access ADP Corupt无法编译
EN

Stack Overflow用户
提问于 2009-04-07 10:15:26
回答 4查看 584关注 0票数 0

我有一个Access ADP项目,在过去的6年里一直是一个连续的项目,所以它有数百个表单和VBA代码的沙子行。在最近的更新之后,它不会编译来创建ADE文件。它告诉我其中一个文本框不存在,但它确实存在。我删除了for,并从工作备份中重新导入了它,但仍然存在相同的错误。我已经尝试导入整个项目到一个新的ADP文件,但仍然不能编译,尝试压缩和修复以及/decompile

有没有人没有任何技巧或软件包来帮助解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-04-08 03:46:59

我不使用ADP,但在MDB中,在引用表单上的控件时,这两种语法之间存在差异:

代码语言:javascript
复制
  Me.MyControl
  Me!MyControl

第一种方法使Access创建一个返回控件的隐藏属性。其结果是在编译时检查对控件的引用。

第二个方法使用当前窗体的默认集合,并且不提供编译时检查。

我假设VBA在ADP中的工作方式与在MDB中相同,那么为什么不尝试将有问题的控件引用转换为bang而不是dot呢?这将消除编译时检查,并可能允许项目进行编译,而不必费力地重新构建它。

如果这样做有效,我想我会尝试删除控件(移除隐藏的属性定义),并使用新名称重新添加控件,然后压缩(我不知道ADP是否可以反编译,但如果可以,也应该反编译)。从理论上讲,这应该会永久删除有问题的隐藏属性定义,如果这是问题的原因,您应该能够恢复到点运算符并返回编译时检查。

无论如何,我已经看到了太多点操作符的损坏问题,并且总是在我的所有项目中使用bang。我可以不对控件引用进行编译时检查。

而且,哦,顺便说一句,你失去了自动智能感知(在某些情况下,这是一种幸事,因为智能感知在某些上下文中可能会阻碍你的方式),但你可以用CTRL-SPACE调用不同的智能感知列表。此列表不限于控件类型,但一旦您开始键入,您就会得到通常的自动完成功能,它会将您跳到列表中的适当位置。

票数 2
EN

Stack Overflow用户

发布于 2009-04-07 13:21:49

有时,启动一个新的空项目,然后导入旧项目中的所有窗体/报表/模块会有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2009-04-07 20:52:58

如果birger的方法不能解决这个问题,可以考虑使用SaveAsText方法保存每个模块。然后,按照birger的建议,导入,但只导入表单和表。然后,使用LoadFromText方法重新创建模块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/724947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档