本頁使用了標題或全文手工轉換

Microsoft Access

維基百科,自由的百科全書
跳到: 導覽搜尋
Microsoft Access
Microsoft Access 2016圖示
Microsoft Access 2013.png
Microsoft Access 2016執行於Windows 10
開發者 微軟
初始版本 1992年11月,​24年前​(1992-11
穩定版本 2016 (16.0.4229.1024)(2015年9月22日,​2年前​(2015-09-22
開發狀態 活躍
程式語言 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 ServerOracle數據庫,或者任何ODBC相容數據庫內的數據。熟練的軟件設計師數據分析師利用它來開發應用軟件,而一些不熟練的程式員和非程式員的進階用戶則能使用它來開發簡單的應用軟件。雖然它支持部分物件導向技術,但是未能成為一種完整的物件導向開發工具。

其實Access也是微軟公司另一個通訊程式的名字,想與ProComm以及其他類似程式來競爭。可是事後微軟證實這是個失敗計劃,並且將它中止。數年後他們把名字重新命名於此數據庫軟件。

目前最新的Access版本是Microsoft Access 2016 for Windows。

歷史[編輯]

年份 版本 版本
代號
支持系統 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 98Me2000XP Office XP Professional及Developer
2003年 Access 2003
11
Windows 2000,XP,Vista Office 2003 Professional及Professional Enterprise
2007年 Microsoft Office Access 2007
12
Windows XP SP2,Vista 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 2012Windows Server 2008 R2,Windows 7,Windows 8 Office 2013 Professional及Professional Plus
2015年 Microsoft Office Access 2016
16
Windows 7,Windows 8Windows 8.1Windows 10 Office 2016 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的可擴放性並不高.因此當程式被較多使用者使用時,他們的選擇多會是傾向於一些客戶端-伺服器為本的方案,例如OracleIBM DB2Microsoft SQL ServerWindows SharePoint ServicesPostgreSQLMySQLAlpha FiveMaxDB,或者Filemaker。無論如何,不少Access的功能(表單,報告,序列和VB代碼)可以用作其他數據庫的後期應用,包括JET(檔案為主的數據庫引擎,Access預設使用)、Microsoft SQL ServerOracle和任何其他跟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

參見[編輯]

外部連結[編輯]

本條目部分或全部內容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。

數據庫管理系統(DBMS) 檢視 · 討論 · 編輯

概念
數據庫 · 數據模型 · 數據庫儲存結構英語Database storage structures · 關係 (數據庫) · 關係模型 · 分散式數據庫 · ACID ( 原子性英語Atomicity (database systems) · 一致性· 隔離性· 永續性英語Durability (database systems) ) · Null值
關係模型 · 數據庫規範化 · 數據庫完整性 · 實體完整性 · 參照完整性英語Referential integrity · 關聯式資料庫管理系統 
主鍵 · 外來鍵 · 代理鍵 · 超鍵 · 候選鍵 

數據庫元件
觸發器 · 視圖 · 數據庫表 · 指標 (數據庫) · 事務記錄檔英語Transaction log · 數據庫事務 · 並行控制 · 樂觀鎖 · 悲觀鎖 · 數據庫索引 
儲存程式 · 數據庫分割英語Partition (database)

SQL
分類: 數據查詢語言(DQL) - 數據定義語言(DDL) - 數據操縱語言(DML) - 數據控制語言(DCL)
指令:SELECT · INSERT · UPDATE · MERGE · DELETE · JOIN · UNION英語Union (SQL) · CREATE · DROP · Begin work · COMMIT · ROLLBACK · TRUNCATE · ALTER
安全: SQL資料隱碼攻擊 · 參數化查詢

數據庫管理系統的實現

實現類型
關聯式資料庫 · 檔案型數據庫 · Deductive · 維度化數據庫 · 階層式 · 圖形數據庫 · NoSQL· 物件數據庫 · 物件關聯式資料庫 · Temporal · XML數據庫

數據庫產品
物件型對比) · 關係型對比

數據庫元件
數據查詢語言 · 查詢最佳化器 · 查詢計劃 · 嵌入式SQL · ODBC · JDBC · OLE DB