2010-12-14 46 views
2

我在2004年开发了一个中等规模的MS Access应用程序。多年来它已经变老,我的小错误修正和改进不再削减它。将Microsoft Access应用程序迁移到...嗯,这是问题吗?

我总是听到人们对于Access有多糟糕,以及它不是现代yadda,yadda。我对它很满意,它完成它应该做的事情(为简单的数据库提供一个稳定的前端)。

我的应用程序使用很多带有子窗体和大量VBA代码的自定义窗体来做到这一点。该应用程序最重要的部分实际上是为Word邮件合并提供数据,并为会议打印徽章和其他材料(通过访问报告)。正是这种印刷整合是我无法想到任何替代品的原因。
任何基于web的解决方案都会造成漂亮的报告(或者至少不是易用的Access) - 创建像素完美的布局并将它们模制成PDF,直接打印FTW。任何Windows Forms应用程序都需要很长时间才能开发,最终我只是重新创建MS Access的功能(例如与SSRS一起)。

你能想到我错过的任何替代方案吗?我基本上只是在寻找想法。

+0

你能否让我们更清楚地了解Access有什么问题?它只是外观,还是一些数据库类型的问题,或者一些你想添加/改进的东西,但是Access不会让你等等。 – Rup 2010-12-14 10:16:37

+3

我认为有些人抱怨的原因之一关于Access的原因是,它们被引入到Access是不合适的解决方案或已变得不适当的情况。如果您的应用程序仍在为用户工作,是否有任何理由需要更改?根据我自己的经验,我知道用户经常不喜欢变化,这会降低他们的速度。变化对于试图出售东西的人来说通常是有益的。 – Fionnuala 2010-12-14 11:01:20

+0

*“[...] [...]将它们引入到Access不适当的解决方案或已变得不适当的情况下。”* < - 这个。对于小型解决方案来说访问很好,但对企业解决方案(一句话)不利。正如我所说,对我来说它正在工作 - 我没有听到投诉。我只希望我不必使用特殊的ODBC数据连接器来连接到外部MySQL数据库(这在PHP中非常容易;-)。我希望我的用户可以拥有一个离线数据库,它可以通过网络前端同步到所有用户,并且可以在线查看而不会降级。没有很多工作是不可能的;-) – 2010-12-14 12:19:58

回答

1

那么,如果您在Access中使用内置功能,最佳路径可能不是放弃Access,而是将应用程序重新编译为新的Access应用程序。

首先将部分应用程序分解到类中,以获取所有相关代码并清理该代码。

这样你仍然可以使用你真正使用的部分访问,但代码会更好。

还拿一本书我很喜欢看,Clean Code

Here is some other talk about this book。这样

重构代码也是去了解这一切的复杂零部件的好办法;)

而且你不会冒险失去任何功能。

如果你以后要在另一个平台上构建它,大部分重构可能是可重用的。

+0

我了解Clean Code和Clean Code计划。他们对他们的徽章和类似的东西都非常严格......应用程序本身并不差,它实际上已经全部在课堂上,并遵守正常的编程标准(命名,意大利面代码等) - 它只是“看起来”老,我会重新设计许多用户界面的概念。你的建议是不要放弃访问和重建应用程序是我现在计划要做的。 – 2010-12-14 12:22:56

+0

尽管如此,您并不想让Netscape发生错误,而是从头开始。我让我的生活重新设计旧的Access应用程序,其中一些由其他人开发,其中一些是我自己的旧应用程序。这种方法有很多优点,尽管你确实必须非常熟悉Access才能充分利用它。 – 2010-12-19 02:26:37

相关问题