1. 程式人生 > >《盟威軟件快速開發平臺》開發

《盟威軟件快速開發平臺》開發

IE 將不 TP 所有 實用 編寫代碼 參照完整性 overview 運行

來源:http://www.accessoft.com/rdp/tutorial/main.html

因此在使用《盟威軟件快速開發平臺》時,會有一些特別的講究,如數據和程序分離(分為後臺數據庫和前臺客戶端)、默認采用非綁定式窗體、盡量避免使用“OLE對象”或“附件”等其它數據庫不支持或對性能影響比較大的字段數據類型等等。

關於軟件開發的要點

進行正式開發前,如果你想開發的軟件相對較復雜,模塊功能比較多,務必要盡量做好前期需求分析、系統整體規劃設計等工作,不要急於一上來就進行編碼開發。實際上在規範化的開發流程中,一般進行具體編碼設計所用的時間,只占整個軟件開發項目總時間的三分之一,最多不超過二分之一。

不要一開始把攤子鋪得太大

,什麽東西都想搞,結果最後什麽都沒搞成,反而把自己搞死了-_-! 而應該先從簡單的入手,循序漸進,逐步制訂短期內可以完成的目標。隨著學習的深入、技術水平的增長再逐步增加功能模塊,進行完善。這樣每當完成一部分時,都會讓你有成就感,加強繼續下去的信心和動力。

先基於 Access 數據庫進行開發,開發完成後再升遷到其它數據庫,不要一開始就用上 SQL Server等數據庫。原因是基於 Access 後臺數據庫時,可以設置好字段的格式、輸入掩碼、標題、默認值等等屬性,然後在使用 Access 的向導或者快速開發平臺的自動生成器去創建窗體時,可以直接將這些屬性繼承過來,自動應用在控件屬性中。而如果換成其它後臺數據庫,字段就沒有了這些擴展屬性,需要在窗體創建完成後,再去一個一個的修改控件屬性,就會比較麻煩,多出不少工作量。

要善於利用 Access 自帶的向導功能。Access 中無處不在的各種向導,是其最大特色,Access 的本身的方便易用性,很大程度就是因為有了這些向導。建議大家有空時多多了解向導的使用,掌握其使用技巧,這樣不但能讓你在不具備相應的技術能力時也能設計出實用的功能,還可以從中學習到很多有用的技術細節知識。記住,向導不是“菜鳥專用”品牌,真正的高手都是善於並且經常利用向導的!君子生非異,善假於物也!

關於表設計的要點

數據庫的設計是一個管理信息系統軟件成功的基石,而表的設計又是數據庫設計的基礎。只有優良合理的數據庫設計,才能保證系統的長期穩健運行,同時詳細的表設計還可以讓後面的功能模塊的開發更加方便快捷。在表設計時應當註意以下要點:

合理設置字段的數據類型,因為每種數據類型都有其特殊的計算方式,數據類型不合理,則這些都無法使用,例如將“數量”字段的數據類型設為“文本”,那麽就無法對其進行匯總、平均等計算。

每個表都應該定義主鍵和外鍵(如果有外鍵),如果找不到適合的用於主鍵的字段,建議使用“自動編號”數據類型的字段作為主鍵。主鍵和外鍵不僅僅是關系數據庫管理系統的要求,同時也是開發的要求,尤其是當使用 SQL Server等其它數據庫作為後臺數據庫時,如果表中沒有主鍵,鏈接至 Access 中的鏈接表數據將是只讀的,無法進行編輯。主鍵字段應當是錄入後就不再修改的,如果主鍵字段的數據被修改會造成數據庫重新組織索引,影響數據庫性能及穩定。

合理設置表中的索引,一般來講,除了主鍵字段,僅建議對個別經常頻繁用於查詢條件的字段(如“客戶表”的“客戶名稱”字段)設置索引,除此之外應該盡量減少索引的使用。因為索引的本來目的是為了提高數據庫性能,但是對索引的維護成本是很高的,亂設索引很可能不但不能提高效率,反而會起到反作用!甚至在保證不影響參照完整性的前提下,為了提高和優化性能,外鍵字段的索引都可以去掉。

通過設置字段的屬性等,在數據庫系統的最底層對數據進行強制約束,如禁止重復(通過無重復索引)、是否必填項、字段大小等。這是最有效的方式,而如果僅僅是通過在數據錄入編輯窗體中,通過代碼去驗證限制,一旦程序有所疏漏,就會造成錯誤數據被保存,有的時候這種錯誤在短時間內不會引起註意,只有當很長一段時間後因為數據的誤差已經很大了才會被註意到。這裏要註意的是,盡量使用最基礎性的約束,如必填項、字段大小,這樣基本上在任何關系數據庫中都有效。在“有效性規則”中則盡量避免使用 VBA 函數,因為換成其它後臺數據庫將不受支持,將其驗證邏輯放到數據錄入編輯界面的程序中去實現和處理。

仔細設置好字段的其它非數據限制性屬性,如格式、小數位數、輸入掩碼、標題、顯示控件等,如果控件為組合框、列表框,還應該設置好其行來源、列寬等屬性,這些屬性不會對數據的有效性產生作用,但是因為 Access 特性,使用快速開發平臺的“數據模塊自動生成器”或其它 Access 向導快速生成窗體時,就可以自動將這些字段屬性應用到相應窗體控件上,而不需要再去逐個添加控件,設置其屬性。尤其是當需要重新設計窗體、報表,或者該表會在多個窗體、報表中使用時,就可以省卻無數枯燥的重復性工夫,一勞永逸。

通過關系視圖界面建立表與表之間的有關系,每個關系的“實施參照完成性”屬性都應該選中,用來保障相關聯表中數據的完整和有效。因為一般來講主鍵字段都是應該是生成後不會再被修改的,“級聯更新相關字段”屬性基本上可以忽略不用理會;“級聯刪除相關字段”則需要根據實際情況決定,如“訂單表”和“訂單明細表”就可以使用級聯刪除,刪除訂單時訂單明細肯定也需要刪除,但“客戶表”和“訂單表”中就不應該使用級聯刪除,因為刪除客戶就會造成刪除所有與該客戶相關的訂單,這顯然不是我們想要的,不使用“級聯刪除”只使用“實施參照完整性”則會阻止該刪除操作。

關於查詢設計的要點

在管理信息系統軟件中,對數據進行統計匯總,然後得出結果統計報告,是價值最高的部分。而對數據的統計匯總功能,基本上都是基於“查詢”的。而所有的查詢,實際上又都是基於 SQL(結構化查詢語言)的,每個查詢對象,其本質都是一個 SQL 語句。雖然在 Access 中提供了可視化的查詢設計界面,可以幫助我們在不了解 SQL 的情況下,方便的設計查詢功能,但是要實現更加高級復雜的數據統計匯總功能,還是非常有必要掌握 SQL。

學習和掌握 SQL 的一個好的方法是,先使用查詢向導或者查詢設計視圖來創建查詢,然後切換到查詢的 SQL 視圖,查看其 SQL 語句是如何寫的,基於兩者進行對比揣摩,能讓你很容易的理解和掌握 SQL。

返回頁首

關於窗體設計的要點

《盟威軟件快速開發平臺》中的“數據模塊自動生成器”,只是一個輔助工具,它只是輔助你方便快速地完成一些最基礎的重復性工作,但不能替你完成所有工作。基於單個表時,自動生成的模塊基本上可以無需修改就能使用,但對於主子表結構的訂單式窗體,由於其復雜性,很多情況下仍然需要你在自動生成後進行適當的修改才行。

使用“數據模塊自動生成器”生成的數據編輯窗體,對於單條記錄,默認采用非綁定式窗體,而對於多條明細記錄,則默認采用綁定至本地臨時表的方式。這種模式是經過多年實踐經驗總結出來的在 Access 中最佳實現方案,因此建議大家在實現數據編輯時也都采用這種方式,雖然在快速開發平臺中並沒有強制要求這樣做。

返回頁首

關於報表設計的要點

報表只是提供數據的最終輸出,因此它不需要像窗體那樣需要進行復雜的編碼工作,甚至大部分情況下完全不需要編寫代碼。

Access 的報表體現了非常明確的關系數據庫的特色,即行可以任意,而列(字段)是固定的。因此對於列不固定或者格式復雜的報表,可能它就不太勝任了,勉強用 Access 來實現報表就很不合算,會浪費掉你太多時間。這種情況下,可以將數據輸出到 Excel 模板,因為它們都是微軟 Office 中的組件,能夠深度結合實現互相交互,我們就能利用Excel強大的報表功能,隨心所欲地實現任何我們想要的報表效果!

《盟威軟件快速開發平臺》開發