Microsoft Access
開發者 | 微軟 |
---|---|
首次發布 | 1992年11月 |
目前版本 | 2021(2021年10月5日 ) |
程式語言 | C++ |
作業系統 | Microsoft Windows |
類型 | 關聯式資料庫管理系統 |
許可協定 | 專有EULA |
網站 | https://products.office.com/access |
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 | Windows 3.0 | ||
1993年 | Access 2.0 | Windows 3.1x | Office 4.3 Pro | |
1995年 | Access for Windows 95 | Windows 95 | Office 95 Professional | |
1997年 | Access 97 | Windows 9x,NT 3.51/4.0 | Office 97 Professional及Developer | |
1999年 | Access 2000 | Windows 9x,NT 4.0,2000 | Office 2000 Professional,Premium及Developer | |
2001年 | Access 2002 | Windows 98,Me,2000,XP | Office XP Professional及Developer | |
2003年 | Access 2003 | Windows 2000,XP,Vista | Office 2003 Professional及Professional Enterprise | |
2007年 | Microsoft Office Access 2007 | Windows XP SP2,Vista | Office 2007 Professional,Professional Plus,Ultimate及Enterprise | |
2010年 | Microsoft Office Access 2010 | Windows XP SP3,Vista SP1,Windows 7 | Office 2010 Professional,Professional Academic,及Professional Plus | |
2012年 | Microsoft Office Access 2013 | Windows Server 2012,Windows Server 2008 R2,Windows 7,Windows 8 | Office 2013 Professional及Professional Plus | |
2015年 | Microsoft Office Access 2016 | Windows 7,Windows 8,Windows 8.1,Windows 10 | 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月發佈。
微軟組態它於系統Windows 3.0內,並以最小8MB硬碟空間的系統要求,當時該軟體以7張1.44MB軟碟儲存發售。
此軟體能夠有效地處理大量記錄。但是測試顯示在某些情況下,會導致數據損毀。之後,該軟體歷經改良至今已成為微軟OFFICE商用軟體的主要系統之一。
Access 2007推出 .accdb的副檔名,如果電腦只有Access 2003(.mdb)的版本,無法像 Word,Excel 相容(無法開啟),必須轉換成 .mdb檔案。
Access 2013已經無法匯入 .dbase(DataBase)的資料庫檔案。
用途
[編輯]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 compliant。對於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術語表 (頁面存檔備份,存於網際網路檔案館)