2010-12-14 42 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

相關問題