访问数据库损坏问题,在任何地方都找不到类似问题的信息
我目前在一家大公司工作,并在学校实习。我所在的小组支持相当复杂的 Access DB,其中包含大量数据,并有 40 多种表单。我们遇到了一个没有人(甚至兽医)无法解决的问题。我被要求在互联网上搜索任何信息,但甚至找不到任何遇到类似问题的人。
问题是这样的:
不久前(阅读:在我到达这里之前),该公司从 Access 03 升级到 07。一切都很好。我到达后的第一个任务是插入一段代码来记录哪个用户正在对不同的数据库进行修改(因为删除了 mdw)。一切进展顺利,我们将整个事情投入生产。 几天后,我们接到第一个电话,“救命!我不断收到错误消息,无法访问数据库!”错误是“此数据库中的 VBA 模块保存时似乎存在错误等”。我们显然存在腐败问题。有趣的是,当我们进入表单的代码时,除了每个表单顶部的“选项比较数据库”之外,所有内容都消失了。所以我们有 40 多份表格,全部都是这样说的,没有别的。 我们立即重新启动了备份,没什么大不了的。 两天后,同样的情况。重新备份。 这种情况又发生了几次。不仅仅是同一台机器上的同一用户。然而,这并没有发生在我或我的导师身上。 然后我们认为问题可能出在我们使用新代码导入表单的方式,因此我们安装了备份,并将表单一一复制。 第二天,同样的问题。 此时,我们认为这一定是我们添加的五行代码(谁知道为什么),所以我们只是使用旧备份运行,没有任何更改。 现在已经过去两周了,没有任何问题。直到今天早上。一位特定用户昨天发生了四次这种情况(其他任何人都没有发生过)。
有人听说过这样的事情吗?可能是什么问题?我确信有各种各样的可能性,并且我确信我没有提供足够的信息来缩小范围,但我不知道还要写什么(以前从未使用过大型 Access 应用程序)。
我显然被难住了,但和我一起工作的所有聪明的兽医也被难住了。
编辑** 为了清楚起见:所有表格的视图都非常好。我可以打开它们,它们看起来完全正常,只是没有后端代码......
I am currently working at a large company on a school placement. The group I am working in supports a fairly complex Access DB which houses a myriad of data, and has 40+ forms. We have been running into a problem that no one (not even the vets) can figure out. I've been asked to search the internet for any info, but can't even find anyone that has even had a similar issue.
Here is the problem:
A bit ago (read: before I got here), the company did an upgrade from Access 03 to 07. Everything was fine. My first task when I arrived was to insert a snippet of code to record which user was making modifications to different DBs (because of the removal of the mdw). This went fine, and we threw the whole thing into production.
A few days later, we received our first phone call, "Help! I keep getting an error, and can't access the db!" The error was 'The VBA modules in this db appear to have been saved with errors, etc, etc'. We obviously had corruption issues. Funny thing is, when we went into the code for the forms, it was all gone, save for "Option compare DB" at the top of every form. So we had 40+ forms that all said that, and nothing else.
We promply re-upped a backup, no big deal.
Two days later, same thing. Re-up the backup.
This happend a few more times. Not just the same user on the same machine. However, didn't happen to me, or to my mentor.
Then we thought maybe the issue was the way we imported the forms with the new code, so we installed the backup, and copied the forms over one by one.
Next day, same issue.
By this point, we thought that it must be the five lines of code we had added (who knows why), so we just ran with the old backup, no changes.
It's been about two weeks now, no issues. Until this morning. One particular user had this happen four times yesterday (not to any one else).
Anyone ever heard of such a thing? What could possibly be the problem? I'm sure there are a wide variety of possibilities, and I am sure I haven't given enough info to narrow it down much, but I don't know what else to write (never worked with a large Access app before).
I'm obviously stumped, but so are all the clever vets I work with.
EDIT**
For clarity: All of the forms are perfectly fine in terms of their view. I can open them, and they look absolutely normal, just no back end code....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
每个用户都应该有自己的前端,消失的代码是一个损坏问题,如果用户没有各自的前端,您将失去拆分数据库的所有优势。您可以通过将前端编译成 accde 或 mde 文件来获得额外的保护。
反对每个人拥有自己的副本的常见论点是,开发人员很难保持各个副本同步,但是有几种自动向用户推出更新的解决方案,例如 Tony Toews 的解决方案:http://autofeupdater.com/
Each user should have their own front end, vanishing code is a corruption issue and you are losing all the advantages of a split database if the users do not each have their own front end. you can get additional protection from compiling the front-end into an accde or mde file.
The usual argument against each individual having their own copy is that it is difficult for developers to keep the various copies in synch, but there are several solutions for automatically rolling out updates to users, for example, this one by Tony Toews: http://autofeupdater.com/