继承的 Access/VBA 程序问题

发布于 2024-10-30 18:45:03 字数 905 浏览 1 评论 0原文

大约十年前,我工作的公司的创始人认为不存在一种产品在报价和计费方面完全符合他的要求(标准报价和计费)。于是他参观了图书馆,拿起“傻瓜式访问”,将一台电脑塞进车里,坐在内陆的一座小房子里,着手创建报价和计费的终极工具(我什至不是编造的) !)。我将省去您对这个程序的许多品质的回顾。

快进到今天,运行数据库的服务器正在被替换。而且作者已经去世了。我尝试简单地将文件移动到新服务器上的共享,但它似乎会自动打开旧服务器上的内容。禁用旧服务器上的共享会产生有关无法找到文件的错误消息。所以看来路径是在某处硬编码的。

虽然我有相当多的编程经验,但我从未接触过 Office/VBA 之类的东西,而且我需要尽快淘汰旧服务器。我尝试在运行应用程序时按“调试”,这会显示表单的代码,但我在任何地方都找不到任何提及路径的信息。不过,似乎还不足以成为全部代码。知道如何反汇编这种类型的程序吗?

使用方法的简短描述:经济部门的人员使用 Access 2003(较新的版本不起作用)打开位于共享文件夹中的快捷方式,该快捷方式指向 /ProdDatabase/DB.mbd 。他们得到一个 GUI 并填写任何内容。数据库现在似乎将自身复制到位置 /Databases//DB.mdb。这是 Access 的某种标准“复制”功能吗?不知道是不是本意,但是经常有几个人同时使用该程序,当我问他们时,他们说“有时输入后找不到东西”,所以似乎是一些竞争条件正在发生。

所以基本上,我需要一些关于如何处理这个问题的建议(除了强制性的“烧掉它!”。我正在尝试寻找替代软件,但组织中存在一些惯性)。大多数情况下,我怎样才能找到所有来源?是否有任何辅助文件与我应该查找的 mdb 文件一起保存?整个树是一堆旧版本的 mdb 文件之类的。

如果您需要任何信息,请告诉我。由于我对此类程序一无所知,所以我不知道相关的是什么......

10 years back or so, the founder of the company I work for decided that there didn't exist a product that did exactly what he wanted in quotation and billing (standard quotation and billing). So he visited the library, picked up "Access for dummies", stuffed a computer into his car and sat in a small house in the outback and set out to create the ultimate tool in quotation and billing (I'm not even making this up!). I'll spare you a review of this programs' many qualities.

Fast forward to today, and the server which is running the database is getting replaced. And the author has passed away. I tried simply moving the files to a share on the new server, but it seems to automagically open stuff from the old server. Disabling the share on the old server yields error messages about not being able to find files. So it seems a path is hardcoded somewhere.

Although I have a fair amount of programming experience, I have never touched Office/VBA-stuff, and I need to retire the old server fairly soon. I tried pressing "debug" while running the application, which brought up code for the forms, but I couldn't find any mention of a path anywhere. Didn't seem to be enough to be all the code though. Any idea how I can disassemble this type of program?

A short description of how it is used: The people in the economy department use Access 2003 (newer versions don't work) open a shortcut placed in a shared folder which points at /ProdDatabase/DB.mbd. They get a GUI and fill out whatever it is. The database now seems to copy itself to the location /Databases/<version string>/DB.mdb. Is this some standard "replication" feature of Access? I do not know if it was the original intent, but several people are often using the program at the same time, and when I asked them they said that "sometimes stuff can't be found after having entered it", so there seem to be some race conditions going on.

So basically, I need some advice on how to handle this (other than the mandatory "BURN IT!". I'm trying to find a replacement software, but there is some inertia in the organization). Mostly, how can I find all the source? Are there any ancillary files that would be kept with the mdb file I should look for? The entire tree is a mess of old versions of the mdb-file and what not.

If there is any information you need, just tell me. Since I don't really know anything about this type of program, I don't know what is relevant...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

偏爱你一生 2024-11-06 18:45:03

其他答案都直接涉及如何改进应用程序。我同意这些,我也喜欢 @HansUp 建议让一位经验丰富的 Access 程序员来解决问题。

但是,您可能会发现通过创建将旧服务器名称映射到新服务器的 DNS 条目来欺骗应用程序认为它位于旧服务器上很有用。显然,您不能在让两台服务器都运行的情况下执行此操作。我已成功完成此操作,不是针对 Access 问题,但 Access 程序不会知道其中的差异。

唯一棘手的部分是 Windows 服务器除了自己的名称之外不喜欢响应任何内容,除非您按照 禁用严格名称检查

The other answers all directly address how to go about improving the application. I agree with those and I also like @HansUp suggestion of getting an experienced Access programmer to sort things out.

However, you might find it useful to trick the application into thinking it's on the old server by creating a DNS entry that maps the old server name to the new server. Obviously you can't do this and leave both servers running. I've done this successfully not for an Access issue, but the Access program would not know the difference.

The only tricky part is that windows servers don't like to respond to anything but their own name unless you follow the instructions in Disabling Strict Name Checking

空城之時有危險 2024-11-06 18:45:03

我尝试简单地将文件移动到
在新服务器上共享,但似乎
自动打开来自
旧服务器。禁用共享
旧服务器产生以下错误消息
无法找到文件。所以它
似乎路径被硬编码在某处。

听起来作者把数据库从 GUI 前端分离出来了。这是 Access 开发人员的常见做法。查看这篇文章 查看/更改链接表路径

I tried simply moving the files to a
share on the new server, but it seems
to automagically open stuff from the
old server. Disabling the share on the
old server yields error messages about
not being able to find files. So it
seems a path is hardcoded somewhere.

Sounds like the author split out the database from the GUI front-end. This was/is a common practice for Access developers. Check out this article on viewing/changing the link tables path.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文