2011-04-18 77 views
1

我們使用MS-Access(UI)構建的遺留軟件,但使用Sqlserver 2005作爲數據庫服務器。
Ms-Access中的UI已獲得具有不同菜單項的菜單。但是一些菜單項目還沒有屏幕(不完整)。因此,我們現在決定轉移到.net環境(即.net Web應用程序)。這是我的主要問題。如何將MS訪問用戶界面與.Net Web環境集成

首先,我想開始處理.net(.net Web應用程序)中對MS-Access中的菜單項不完整的屏幕。其次,我將完成現在在MS-Access UI中工作的其他屏幕。那麼當用戶點擊MS-Access用戶界面中的菜單項時,如何使用/調用.net Web應用程序屏幕。

請給我建議。

謝謝

回答

3

在一些基於Web的表單中集成Access中創建的屏幕並不實際。我不確定爲什麼或者向誰建議這樣一種方法在我們的行業中曾經使用過。

您絕對可以啓動任何Web窗體或網站,或者從桌面上運行的Access客戶端啓動任何URL。推出該URL的代碼是:

Application.FollowHyperlink "path to web form or site goes here" 

所以,你可以放置一個按鈕或菜單在Access的形式推出了Web表單,甚至如果你想推出的eBay。不過,我認爲問題(或解決方案)不是能夠啓動一些Web表單,而是讓應用程序的一部分相互交流。

一個應用程序變得很有用,因爲所有的應用程序部件都可以彼此緊密對話。 Access對於一個表單啓動報表或其他表單並傳遞信息非常方便,是一個很好的RAD工具。而且所有這些應用程序都可以輕鬆地共享通用代碼和例程,使您可以完成有用的業務任務。

因此,當您單擊訪問數據網格中的詳細行(繼續表單)時,然後啓動另一個表單以編輯一條記錄需要一行代碼。因此,應用程序永遠不會是一個單獨的編輯數據的獨立窗體,而是表單和代碼的使用以及這些對象如何一起跳舞的真正用途。如果一個應用程序只是沒有代碼的表單,那麼我認爲我們在這個行業將全部失業。

您如何瀏覽和構建Web應用程序的模型與Access的工作方式相當不同。我的意思是,如果您打開了5個瀏覽器,哪個瀏覽器有某種形式可以編輯您的數據,哪個瀏覽器正在YouTube上觀看視頻?

你真的不能接近這樣一個半熟的系統,其中某些表單在Access中,部分應用程序是基於Web的。唯一可行的方法是如果網頁表單不需要使用或使用客戶表單中的任何代碼。

但是,您可以在Access 2010中構建Web表單。換句話說,在Access客戶端中,您可以構建客戶端表單和Web表單。客戶表單可以調用和使用web表單(它們在客戶端運行)作爲常規形式,以及諸如where子句等將起作用的東西)。當你發佈到網頁上時,只有網頁表單運行。這裏是我的訪問應用程序的視頻,並注意如何在中途點我運行在Web瀏覽器相同的形式:

http://www.youtube.com/watch?v=AU4mH0jPntI

然而,在訪問上述能力,現在不能正常工作sql服務器,並且必須使用SharePoint(或即將推出的Office 365)。因此,毫無疑問,將位和部分從應用程序移出到基於Web的概念是有意義的(因此,您將所有應用程序移出到Web的概念是合理的)。然而,被移出到網絡的部分必須具有網絡或獨立的意義,並且不需要與客戶表單集成(至少在使用期間)。

換句話說,如果您現在在Access中有一箇舊版工資系統,但希望員工輸入他們的工資覈算時數,那麼新的Web部分與工資系統是分開的。毫無疑問,工資系統可以從基於網絡的新員工時間輸入系統中抽取和抽取數小時。

但是,基於客戶端的應用程序的菜單和部分將無縫啓動並使用Web瀏覽器部件的想法根本沒有意義。再次,這是零感覺,你在這裏吠叫錯誤的樹。如上所述,如果Web部件真的是一個獨立的業務流程,那麼這裏有一些可能性。

最後但並非最不重要,您可以在.net網站上建立一組Web服務(應用程序業務代碼和與UI分離的邏輯)。這個單獨的業務層可以被Access客戶端表單和Web表單使用。然而,再次這樣的設置可能表明,您最好將應用程序構建爲基於Web的應用程序,因爲基於Web的表單可以更輕鬆地討論和使用業務代碼,那麼客戶端表單可以 - 只有當您使用訪問Web服務,Web或客戶端表單都可以使用您編寫的存儲過程和業務例程運行服務器端。

最後但並非最不重要的一點,也許你的問題是通過增加連接性來解決的,而不是真的需要基於web的?我在下面的這篇文章中談到這個問題。

http://www.kallal.ca/Toweb/Index.html

+0

嗨Albert D. Kallal。首先,我感謝你在這個問題上的描述性答案。我知道這是一個不好的做法。但是由於時間的限制,我們希望首先設計Web窗體並在MS-Access中使用它們,同時開發完整的Web應用程序。 – desi 2011-04-18 15:26:19

+0

此應用程序將用於內部目的。因此,該Web應用程序將僅用作Intranet應用程序。 正如我所說的,而不是在VBA中構建新的屏幕和編寫代碼以進行訪問。我們希望在實現首先創建webforms並從訪問中執行它們時也要這樣做。這些webforms數據直接在Sqlserver 2005上進行更新。完成後,我們爲Access UI中的這些不完整菜單創建了新的Web表單。我們將爲所有正在工作的菜單重新啓動一個新的Web應用程序(利用已創建的Web表單) – desi 2011-04-18 15:30:10

+0

是的,我想從MS訪問中啓動的Web部件現在不需要任何集成。但在閱讀完有關集成/不集成的答案後,我現在正在考慮使用Web服務對我有意義 - 或者 - 通過構建Web窗體並使用它們來使用Access 2010 - (我們的應用程序實際上在Access 2007上運行)謝謝這麼多爲你長期回答我的問題,我遵循你的建議,如果有什麼我卡住,我會挑釁地採取你的幫助 再次非常感謝你! – desi 2011-04-18 15:31:09