簡體   English   中英

Visual C ++應用程序作為MS Access數據庫的前端 - 多用戶數據訪問和類似畫布的GUI問題

[英]Visual C++ application as a frontend to MS Access database - multiuser data access and canvas-like GUI questions

在我工作的公司中,我有機會編寫一個應用程序,它將替換舊的Excel工作簿,用於規划生產隊列。 由於VBA很簡單並且Excel易於使用,因此幾年來這個工作簿被幾個人用來計划/添加有關當前生產狀態的更改/注釋。 整個工作簿的功能很少(有關產品的附加信息存儲在不同的表格中等),但缺少更多功能。

我勾勒出它的樣子(我從內存中重新創建它,簡化了布局,因此它可以讀取):

工作簿

這只是一個草圖,但原始的一個像這個一樣丑陋,不切實際和有限。

我希望創建簡單的基於表單的應用程序,可以由至少一些人同時使用(每個人都有自己的副本,盡管所有副本都使用單個MS Access數據庫來存儲信息)。

如果我打算完成這項工作,我需要知道什么? 創建多用戶應用程序的准則是什么?

我還想知道是否有任何方法可以使用free / included .NET控件之一重新創建類似的布局? 標簽和類似的不是問題,但人們需要輕松移動這些彩色條,以及盡可能容易地添加新的。 我知道其他語言中存在類似畫布的控件,我在考慮在這里使用它。 這是一個不錯的選擇還是另一個更好的選擇?

DevExpress Winforms Scheduler不是免費的 - 但看起來它幾乎可以完成你需要的一切。 使用像這樣的組件(還有其他組件)對於您的組織來說,最有可能比從頭創建一個組件更便宜:加上我發現DevExpress研究員能夠提供一流的支持和幫助。

雖然他們的樣本主要面向C#和VB.NET,但是從Managed C ++可以很好地工作。

正如其他人所說,避免訪問數據存儲。 如果這是一個單用戶系統,您可能需要考慮簡單的XML,或者如果需要關系數據庫,那么數據庫引擎(如MySQL或SQL Server)絕對是一個更好的選擇。

如果你已經要重新編寫/重新實現你所擁有的東西,我將遠離訪問。

你可能最好(花時間和金錢)購買一個大牌供應商的控件。

作為一個有一些相當大量的代碼卡在Access中的人,我的建議是,如果可能的話,運行ms sql或者最好是mysql。 不要太擔心將db移動到其中一個並不是真的很難。 然后你有各種各樣的工具可供選擇。 移動數據后,確定正確的工具是什么。 開源世界有很多很好的報告編寫圖形工具,我碰巧喜歡Birt,可以對抗大多數數據庫。訪問是一個真正的死胡同,適合快速破解,但生活可怕......

  1. 我不會使用C ++來做到這一點,沒有真正的需要。 我建議使用VB.NET或C#...除非你已經非常熟悉C ++而不是其他語言。

  2. .NET框架沒有自由控制來執行您所描述的操作。 其他人建議的第三方控件很棒。 http://www.janusys.com上還有另一個

  3. 不應使用Microsoft Access實現多用戶聯網數據庫系統,因為它在該特定環境中不能很好地運行。 您可以使用類似WCF的東西來連接到訪問MDB文件並讓所有應用程序與WCF組件對話,但這是完全不必要的IMO。 我建議使用Microsoft SQL Server 2008 Express。 對於一定數量的用戶來說非常強大且免費。 如果你想開源,我建議使用Postgres而不是MySql。 這只是我的建議,因為我相信這是一個更新的系統,最新的關系數據庫標准。

  4. 嘗試使用其他一些第三方工具(如亞音速)與您的數據庫進行交互。 非常有用,而且使用起來相當簡單。 www.subsonicproject.com。

我的內存告訴我Access有一個“升遷向導”選項將數據庫移植到SQL中。 這將允許您使用SQL服務器而不是單個Ms Access文件。

請參閱http://support.microsoft.com/default.aspx?scid=kb;en-us;Q237980

使用Acess db的問題是打開文件時文件被鎖定。 這意味着如果不止一個人想要寫/讀它,多用戶就會遇到大問題。 XML也不是一個好的選擇,因為它只是一個文件,並且也會遇到多個用戶的問題。 XML也很慢,占用了大量內存。 如果您的數據增長,這將不是一個好選擇。 實際的SQL數據庫不會遇到此問題,並允許多個用戶。

至於你的UI控件。 我不知道任何標准控件可以做你想要的。 您可能最好自己制作自定義控件。

看看你的草圖,它看起來很像GANTT圖表(即項目女士)

我同意 - 使用除MS訪問以外的任何其他內容。 可能聽起來既便宜又容易,但還有許多其他廉價而簡單的做事方式(這不會導致你在晚上失眠)。

如果您正在尋找代表這種方法的方法,您可以查看SilverLight Gantt圖表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM