Microsoft Access
| 開發者 | 微軟 |
|---|---|
| 首次發布 | 1992年11月 |
| 目前版本 | 2021(2021年10月5日) |
| 程式語言 | C++ |
| 作業系統 | Microsoft Windows |
| 類型 | 關聯式資料庫管理系統 |
| 許可協定 | 專有EULA |
| 網站 | www |
Microsoft Office Access(前名Microsoft Access)是由微軟發佈的關聯式資料庫管理系統。它結合了Microsoft Jet Database Engine和圖形使用者介面兩項特點,是Microsoft Office的系統程式之一。
Access能夠存取Access/Jet、Microsoft SQL Server、Oracle資料庫,或者任何ODBC相容資料庫內的資料。雖然它支援部分物件導向技術,但是未能成為一種完整的物件導向開發工具。
其實Access也是微軟公司另一個通訊程式的名字,想與ProComm以及其他類似程式來競爭。可是事後微軟證實這是個失敗計劃,並且將它中止。數年後他們把名字重新命名於此資料庫軟體。
歷史
[編輯]| 年份 | 版本 | 版本代號 | 作業系統需求 | 對應的Office版本 |
|---|---|---|---|---|
| 1992年 | Access 1.1 | 1 | Windows 3.0 | |
| 1993年 | Access 2.0 | 2.0 | Windows 3.1x | Office 4.3 Pro |
| 1995年 | Access for Windows 95 | 7.0 | Windows 95 | Office 95 Professional |
| 1997年 | Access 97 | 8.0 | Windows 9x、NT 3.51/4.0 | Office 97 Professional、Developer |
| 1999年 | Access 2000 | 9.0 | Windows 9x、NT 4.0、2000 | Office 2000 Professional、Premium及Developer |
| 2001年 | Access 2002 | 10 | Windows 98以上 | Office XP Professional及Developer |
| 2003年 | Access 2003 | 11 | Windows 2000以上 | Office 2003 Professional及Professional Enterprise |
| 2007年 | Microsoft Office Access 2007 | 12 | Windows XP SP2 | Office 2007 Professional、Professional Plus、Ultimate及Enterprise |
| 2010年 | Microsoft Office Access 2010 | 14 | Windows XP SP3、Vista SP1、Windows 7 | Office 2010 Professional、Professional Academic及Professional Plus |
| 2012年 | Microsoft Office Access 2013 | 15 | Windows Server 2008 R2、Windows 7 | Office 2013 Professional及Professional Plus |
| 2015年 | Microsoft Office Access 2016 | 16 | Windows 7 | Office 2016 Professional及Professional Plus |
| 2018年 | Microsoft Office Access 2019 | Windows 10 | Office 2019 Professional及Professional Plus | |
| 2021年 | Microsoft Office Access 2021 | Windows 10、Windows 11 | Office 2021 Professional及Professional Plus |
Microsoft Access 1.0發佈於1992年11月,當時該軟體以7張1.44 MB磁片形式發售。
為了配合Word的版本號碼,Access版本號自Office 95開始與Word同步,版本號配合Word 7訂為7.0。
Access 2007起資料庫改以新檔案格式.accdb儲存。由於與舊Access版本不相容,若需在較舊的Access版本裡讀取,需要先轉存回.mdb。
Access 2013起已不再支援dBase資料庫,無法匯入.dbase的資料庫檔案。
由於Office 2024不再提供Professional版本,故Access不再於零售賣斷的Microsoft Office版本中出現;但Microsoft 365訂閱版本中仍設有Access。
用途
[編輯]Microsoft Access在很多地方得到廣泛使用,例如小型企業,大公司的部門。喜愛編程的開發人員亦利用它來製作處理數據的桌面系統。它也常被用來開發簡單的WEB應用程式。
它的使用方便程度和強大的設計工具為初級程式員提供許多功能。不過,方便性的宣傳,常令人誤解。在過於樂觀的誤導下,讓許多沒有程式設計背景的辦公室從業人員應用此軟體,並以為能夠創造可用的系統,但此工具本身的局限性,常常使這些使用者失敗。
一些專業的應用程式開發人員使用Access內附的快速應用開發功能,特別是給街道上的推銷員製作一個初型或獨立應用程式的工具。可是如果是透過網路存取數據的話,Access的可擴放性並不高.因此當程式被較多使用者使用時,他們的選擇多會是傾向於一些客戶端-伺服器為本的方案,例如Oracle、IBM DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者Filemaker。無論如何,不少Access的功能(表單,報告,序列和VB代碼)可以用作其他資料庫的後期應用,包括JET(檔案為主的資料庫引擎,Access預設使用)、Microsoft SQL Server、Oracle和任何其他跟ODBC相容的產品。這種方法允許開發者把一個成熟的應用的數據移動到一台更大功率的伺服器而不會在適當的位置犧牲發展。
SQL
[編輯]Access查詢中使用的預設使用「Microsoft Jet SQL」,而ADO中使用的SQL語法是「ANSI SQL」。這兩種語法存在輕微的差別(中間還包含某些特殊函式和功能)並非完全相容。其中萬用字元就不一樣:對於多個字元,前者是*而後者是%;對於單個字元,前者是?而後者是_。Jet SQL基本遵從了SQL ANSI-89 Level 1。對於Access的欄位類型為True/False,在SQL語句中可用0對應False,-1對應True。不能用1對應True。
也可以將Access資料庫查詢的語法設定為相容ANSI SQL(在Access選項那裡設定)[原創研究?],但是這樣做的話,編寫SQL語句就要遵循ANSI SQL語法規則了。對於之前已經使用過的Access資料庫不建議這樣做,因為很可能會導致原有編寫的SQL查詢失效,進而造成諸多不便。
Access使用的Jet SQL引擎,每次只能執行一條SQL語句。如果成批執行多條SQL語句,需要使用Visual Basic for Applications編程。在Access的VBA中執行SQL語句,有三種方法。
DoCmd.RunSQL:基於Access的對象模型,使用Microsoft Jet SQL,在SQL語句中可以使用VBA函式。需要在呼叫前設定DoCmd.SetWarnings False關閉提示或確認對話方塊。執行時在Access狀態列顯示進度條,可通過Esc鍵中止執行。不能取得SQL語句影響的記錄行數。不能將多個SQL語句的執行放在同一事務中。CurrentDB.Execute:基於DAO對象模型,使用Microsoft Jet SQL,在SQL語句中可以使用VBA函式。沒有提示或確認對話方塊的顯示。執行時沒有在Access狀態列顯示進度條,不可以通過Esc鍵中止執行。能取得SQL語句影響的記錄行數。可以將多個SQL語句的執行放在同一事務中。CurrentProject.Connection.Execute:基於ADO對象模型,連接到不同資料庫使用不同的SQL語法。對Access使用ISO SQL標準語法並可以使用VBA函式。沒有提示或確認對話方塊的顯示。執行時沒有在Access狀態列顯示進度條,不可以通過Esc鍵中止執行。能取得SQL語句影響的記錄行數。可以將多個SQL語句的執行放在同一事務中。
例如:
Dim strSQL As String
strSQL = "SELECT * INTO [excel 8.0;database=d:\gz.xls].sheet1 FROM table1 WHERE table1.city = 'gz' "
:REM 执行该函数进行SQL查询
CurrentProject.Connection.Execute strSQL
編程模型
[編輯]Access軟體自身提供了一套COM對象體系,可供其它軟體(如Excel)使用VBA或者C#、C++等程式語言呼叫Access的功能。
- Application:Access應用程式環境
- DBEngine:資料庫管理系統
- Debug:立即窗口對象,可用Print輸出文字
- Forms:包含所有打開的窗口
- Reports:包含所有打開的報表
- Screen:螢幕
- DoCmd
延伸閱讀
[編輯]- "Microsoft Office Access 2003 Inside Out" by John L. Viescas
- "Database Design for Mere Mortals" by Michael J. Hernandez
- "Access Database Design & Programming" by Steven Roman
- "Access 2002 Developer's Handbook™ Set By Paul Litwin; Ken Getz; Mike Gunderloy
- "Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach" by Karin Bast, Leon Cygman, Gerard Flynn, Rebekah Tidwell
- "Access 2003 VBA Programmer's Reference" by Patricia Cardoza, Teresa Hennig, Graham Seach, Armen Stein
- "SQL Access to SQL Server" Published by Apress - Susan Sales Harkins and Martin WP Reid
- "Mastering Microsoft Office Access 2003" Published by Sams - Alison Balter
參見
[編輯]- Microsoft SQL Server
- Microsoft Office
- Microsoft
- List of relational database management systems
- Xbase
- Comparison of relational database management systems
- Data Normalization Basics (頁面存檔備份,存於網際網路檔案館)
- Visual Basic
外部連結
[編輯]- Why Use Microsoft Access
- Microsoft Access Articles and Tutorials (頁面存檔備份,存於網際網路檔案館)
- Utter Access Forums (頁面存檔備份,存於網際網路檔案館)
- Access知識庫/程式設計俱樂部 (頁面存檔備份,存於網際網路檔案館)
- A FAQ site about Microsoft Access (頁面存檔備份,存於網際網路檔案館)
- Microsoft Access Linklist (頁面存檔備份,存於網際網路檔案館)
- Microsoft Access Newsgroups
- Microsoft Access for Beginners
- Articles on Microsoft Access (頁面存檔備份,存於網際網路檔案館)
- Blog about Microsoft Access Tips and Tricks (頁面存檔備份,存於網際網路檔案館)
- History of JET database (頁面存檔備份,存於網際網路檔案館)
- Additional info on history of Access
- Access Opener utility manages multiple versions (頁面存檔備份,存於網際網路檔案館)
- Access術語表 (頁面存檔備份,存於網際網路檔案館)