概述

本文內容

Access數據庫簡介

Access 數據庫是由微軟發布的關聯式數據庫管理系統,一是可以用來存儲數據,二是可用來進行數據分析,三是可以用來開發軟件。

在我們用 Access 開發軟件各類軟件時,這些軟件都具備一些通用的功能,比如登錄模塊、用戶管理模塊、權限管理模塊、自動升級模塊、常用的自定義函數等,如果有這樣一個通用地可供利用的通用模塊集合供 Access 開發人士利用,將大大節約開發的時間,同時對于初學 Access 的人士來說,也大大地降低了開發的難度,正是這樣一個需要,《盟威軟件快速開發平臺》應運而生。

因為《盟威軟件快速開發平臺》是在 Microsoft Access 的基礎上實現的二次開發平臺,它本身只一個通用性的多用戶數據庫管理信息系統框架,并集成了大量實用的通用模塊、快速開發輔助工具等,實際的開發工作仍然是基于 Access 進行的。因此基于快速開發平臺進行數據庫管理信息系統開發的學習,也就是學習快速開發平臺的使用,以及 Access 的開發技術。

圍繞如何使用快速開發平臺開發出極具實用價值的管理軟件,我們為您提供涵蓋使用入門、編程基礎、數據庫基礎、實用功能模塊案例、完整系統安全等各方面的教程,讓您學習無憂,樂在其中。

為了讓大家在學習和開發的過程中盡量少走彎路,我們總結了一些需要了解和注意的要點,涵蓋了開發過程中的各個方面。因此本章中所述內容希望大家仔細閱讀,而不是走馬觀花隨便瞅幾眼就完事了。

返回頁首

使用《盟威軟件快速開發平臺》開發和一般的 Access 開發有什么區別?

一般的 Access 開發,包括市面上的大量書籍乃至 Access 自帶的示例數據庫,基本上都是偏向于單機應用程序,主要適合于在單臺電腦上使用。而《盟威軟件快速開發平臺》則更多是偏向于開發更有價值的,少則幾臺電腦,多則數十、數百臺電腦同時聯網使用的企業應用程序。對于系統性能、多用戶并發沖突等在單機應用程序中完全可以不用考慮的問題,在基于《盟威軟件快速開發平臺》開發時,都是需要考慮的因素,它們會在很大的程度上影響你所開發的軟件的實用價值。而這,也正是兩者最本質上的區別。

因此在使用《盟威軟件快速開發平臺》時,會有一些特別的講究,如數據和程序分離(分為后臺數據庫和前臺客戶端)、默認采用非綁定式窗體、盡量避免使用“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強大的報表功能,隨心所欲地實現任何我們想要的報表效果!

返回頁首

顺市配资
在線客服