跳转到内容

Microsoft Access:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Edison once留言 | 贡献
Update from Office 2016 to Office 2019
标签修改數值 可视化编辑
 
(未显示9个用户的11个中间版本)
第4行: 第4行:
{{Infobox software
{{Infobox software
| name = Microsoft Access
| name = Microsoft Access
| logo = [[File:Microsoft Access 2013 logo.svg|64px|Microsoft Access 2016圖示]]
| logo = [[File:Microsoft Office Access (2019-present).svg|64px|Microsoft Access 2019圖示]]
| screenshot =
| screenshot = [[File:Microsoft Access 2019.png|thumb|The interface of Microsoft Access 2019]]
| caption = Microsoft Access 2016執行於[[Windows 10]]
| caption = Microsoft Access 2019執行於[[Windows 10]]
| collapsible =
| collapsible =
| author =
| author =
第12行: 第12行:
| released = {{start date and age|1992|11}}
| released = {{start date and age|1992|11}}
| discontinued =
| discontinued =
| latest release version = 2019 (Versos 1902 Build 11328.20146)
| latest release version = [[Microsoft Office 2021|2021]]
| latest release date = {{Start date and age|2019|3|4}}
| latest release date = {{start date and age|df=yes|2021|10|5}}
| latest preview version =
| latest preview version =
| latest preview date =
| latest preview date =
| frequently updated =
| frequently updated =
| programming language = [[C_sharp|C#]]
| programming language = [[C++]]
| operating_system = [[Microsoft Windows]]
| operating_system = [[Microsoft Windows]]
| platform =
| platform =
第32行: 第32行:


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

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


== 歷史 ==
== 歷史 ==
第60行: 第58行:
| 2012年 || Microsoft Office Access 2013 || <center>15</center> || [[Windows Server 2012]],[[Windows Server 2008 R2]],Windows 7,[[Windows 8]] || [[Microsoft Office 2013|Office 2013 Professional及Professional Plus]]
| 2012年 || Microsoft Office Access 2013 || <center>15</center> || [[Windows Server 2012]],[[Windows Server 2008 R2]],Windows 7,[[Windows 8]] || [[Microsoft Office 2013|Office 2013 Professional及Professional Plus]]
|-
|-
| 2015年 || Microsoft Office Access 2016 || <center>16</center> || Windows 7,[[Windows 8]],[[Windows 8.1]],[[Windows 10]] || [[Microsoft Office 2016|Office 2016 Professional及Professional Plus]]
| 2015年 || Microsoft Office Access 2016 || rowspan="3" | <center>16</center> || Windows 7,[[Windows 8]],[[Windows 8.1]],[[Windows 10]] || [[Microsoft Office 2016|Office 2016 Professional及Professional Plus]]
|-
| 2018年 || Microsoft Office Access 2019 || |[[Windows 10]] || |[[Microsoft Office 2019|Office 2019 Professional及Professional Plus]]
|-
|-
|2018
|2021
|Microsoft Office Access 2019
|Microsoft Office Access 2021
|[[Windows 10]]、[[Windows 11]]
|17
|[[Microsoft Office 2021|Office 2021 Professional及Professional Plus]]
|[[Windows 10]]
|[[Windows Server 2019]]
|}
|}


第93行: 第92行:
Access使用的Jet SQL引擎,每次只能执行一条SQL语句。如果成批执行多条SQL语句,需要使用[[Visual Basic for Applications]]编程。在Access的VBA中执行SQL语句,有三种方法。
Access使用的Jet SQL引擎,每次只能执行一条SQL语句。如果成批执行多条SQL语句,需要使用[[Visual Basic for Applications]]编程。在Access的VBA中执行SQL语句,有三种方法。
*DoCmd.RunSQL:基于Access的对象模型,使用Microsoft Jet SQL,在SQL语句中可以使用VBA函数。需要在调用前设置<code>DoCmd.SetWarnings False</code>关闭提示或确认对话框。执行时在Access状态栏显示进度条,可通过Esc键中止执行。不能获取SQL语句影响的记录行数。不能将多个SQL语句的执行放在同一事务中。
*DoCmd.RunSQL:基于Access的对象模型,使用Microsoft Jet SQL,在SQL语句中可以使用VBA函数。需要在调用前设置<code>DoCmd.SetWarnings False</code>关闭提示或确认对话框。执行时在Access状态栏显示进度条,可通过Esc键中止执行。不能获取SQL语句影响的记录行数。不能将多个SQL语句的执行放在同一事务中。
*CurrentDB.Execute:基于[[DAO]]对象模型,使用Microsoft Jet SQL,在SQL语句中可以使用VBA函数。没有提示或确认对话框的显示。执行时没有在Access状态栏显示进度条,不可以通过Esc键中止执行。能获取SQL语句影响的记录行数。可以将多个SQL语句的执行放在同一事务中。
*CurrentDB.Execute:基于[[Jet Data Access Objects|DAO]]对象模型,使用Microsoft Jet SQL,在SQL语句中可以使用VBA函数。没有提示或确认对话框的显示。执行时没有在Access状态栏显示进度条,不可以通过Esc键中止执行。能获取SQL语句影响的记录行数。可以将多个SQL语句的执行放在同一事务中。
*CurrentProject.Connection.Execute:基于[[ADO]]对象模型,连接到不同数据库使用不同的SQL语法。对Access使用ISO SQL标准语法并可以使用VBA函数。没有提示或确认对话框的显示。执行时没有在Access状态栏显示进度条,不可以通过Esc键中止执行。能获取SQL语句影响的记录行数。可以将多个SQL语句的执行放在同一事务中。
*CurrentProject.Connection.Execute:基于[[ADO]]对象模型,连接到不同数据库使用不同的SQL语法。对Access使用ISO SQL标准语法并可以使用VBA函数。没有提示或确认对话框的显示。执行时没有在Access状态栏显示进度条,不可以通过Esc键中止执行。能获取SQL语句影响的记录行数。可以将多个SQL语句的执行放在同一事务中。


例如:
例如:
<source lang="vb">
<syntaxhighlight lang="vb">
Dim strSQL As String
Dim strSQL As String
strSQL = "SELECT * INTO [excel 8.0;database=d:\gz.xls].sheet1 FROM table1 WHERE table1.city = 'gz' "
strSQL = "SELECT * INTO [excel 8.0;database=d:\gz.xls].sheet1 FROM table1 WHERE table1.city = 'gz' "
:REM 执行该函数进行SQL查询
:REM 执行该函数进行SQL查询
CurrentProject.Connection.Execute strSQL
CurrentProject.Connection.Execute strSQL
</syntaxhighlight>
</source>
==编程模型==
==编程模型==
Access软件自身提供了一套[[COM]]对象体系,可供其它软件(如Excel)使用[[VBA]]或者[[C♯|C#]]、[[C++]]等编程语言调用Access的功能。
Access软件自身提供了一套[[COM]]对象体系,可供其它软件(如Excel)使用[[VBA]]或者[[C♯|C#]]、[[C++]]等编程语言调用Access的功能。
第131行: 第130行:
*[[Xbase]]
*[[Xbase]]
*[[Comparison of relational database management systems]]
*[[Comparison of relational database management systems]]
*[http://support.microsoft.com/kb/283878/EN-US/ Data Normalization Basics]
*[http://support.microsoft.com/kb/283878/EN-US/ Data Normalization Basics] {{Wayback|url=http://support.microsoft.com/kb/283878/EN-US/ |date=20150130082430 }}
*[[Visual Basic]]
*[[Visual Basic]]


== 外部連結 ==
== 外部連結 ==
*[http://www.enflow.com/WhyUseAccess.htm Why Use Microsoft Access]
*[https://web.archive.org/web/20060218040314/http://www.enflow.com/WhyUseAccess.htm Why Use Microsoft Access]
*[http://www.databasedev.co.uk/ Microsoft Access Articles and Tutorials]
*[http://www.databasedev.co.uk/ Microsoft Access Articles and Tutorials] {{Wayback|url=http://www.databasedev.co.uk/ |date=20201127005315 }}
*[http://www.utteraccess.com Utter Access Forums]
*[http://www.utteraccess.com Utter Access Forums] {{Wayback|url=http://www.utteraccess.com/ |date=20210128012917 }}
*[http://www.programmer-club.com.tw/kb/access.html Access知識庫/程式設計俱樂部]
*[http://www.programmer-club.com.tw/kb/access.html Access知識庫/程式設計俱樂部] {{Wayback|url=http://www.programmer-club.com.tw/kb/access.html |date=20110405162706 }}
*[http://www.mvps.org/access A FAQ site about Microsoft Access]
*[http://www.mvps.org/access A FAQ site about Microsoft Access] {{Wayback|url=http://www.mvps.org/access |date=20110424232657 }}
*[http://www.yaccess.com Microsoft Access Linklist]
*[http://www.yaccess.com Microsoft Access Linklist] {{Wayback|url=http://www.yaccess.com/ |date=20181215174301 }}
*[https://web.archive.org/web/20060207094430/http://www.pcreview.co.uk/forums/forum-250.php Microsoft Access Newsgroups]
*[https://web.archive.org/web/20060207094430/http://www.pcreview.co.uk/forums/forum-250.php Microsoft Access Newsgroups]
*[https://web.archive.org/web/20060216122103/http://www.drewslair.com/desk/access_series/Intro.htm Microsoft Access for Beginners]
*[https://web.archive.org/web/20060216122103/http://www.drewslair.com/desk/access_series/Intro.htm Microsoft Access for Beginners]
*[http://www.BlueClaw-DB.com/ Articles on Microsoft Access]
*[http://www.BlueClaw-DB.com/ Articles on Microsoft Access] {{Wayback|url=http://www.blueclaw-db.com/ |date=20170606161042 }}
*[http://alexdyb.blogspot.com Blog about Microsoft Access Tips and Tricks]
*[http://alexdyb.blogspot.com Blog about Microsoft Access Tips and Tricks] {{Wayback|url=http://alexdyb.blogspot.com/ |date=20080524221753 }}
*[http://www.avdf.com/nov96/acc_jet.html History of JET database]
*[http://www.avdf.com/nov96/acc_jet.html History of JET database] {{Wayback|url=http://www.avdf.com/nov96/acc_jet.html |date=20170808093446 }}
*[http://groups.google.com/group/comp.databases.ms-access/browse_thread/thread/479834e0f8c4adc2/ae679534627a4ff9%23ae679534627a4ff9?sa=X&oi=groupsr&start=0&num=3 Additional info on history of Access]
*[https://web.archive.org/web/20121022033051/http://groups.google.com/group/comp.databases.ms-access/browse_thread/thread/479834e0f8c4adc2/ae679534627a4ff9%23ae679534627a4ff9?sa=X&oi=groupsr&start=0&num=3 Additional info on history of Access]
*[http://www.openaccess.co.za/BlackAndWhiteInc/AccessOpener.htm Access Opener utility manages multiple versions]
*[http://www.openaccess.co.za/BlackAndWhiteInc/AccessOpener.htm Access Opener utility manages multiple versions] {{Wayback|url=http://www.openaccess.co.za/BlackAndWhiteInc/AccessOpener.htm |date=20161202210138 }}
*[https://support.office.com/zh-cn/article/Access-%e6%9c%af%e8%af%ad%e8%a1%a8-29ab26b7-1f36-4da4-9e75-479f8e6e3c35?CorrelationId=d1b01e74-d206-4ca0-9832-083f0604c153&ui=zh-CN&rs=zh-CN&ad=CN Access术语表]
*[https://support.office.com/zh-cn/article/Access-%e6%9c%af%e8%af%ad%e8%a1%a8-29ab26b7-1f36-4da4-9e75-479f8e6e3c35?CorrelationId=d1b01e74-d206-4ca0-9832-083f0604c153&ui=zh-CN&rs=zh-CN&ad=CN Access术语表] {{Wayback|url=https://support.office.com/zh-cn/article/Access-%e6%9c%af%e8%af%ad%e8%a1%a8-29ab26b7-1f36-4da4-9e75-479f8e6e3c35?CorrelationId=d1b01e74-d206-4ca0-9832-083f0604c153&ui=zh-CN&rs=zh-CN&ad=CN |date=20171208035254 }}
{{Microsoft Office}}
{{Microsoft Office}}


第157行: 第156行:
[[Category:Microsoft Office|Access]]
[[Category:Microsoft Office|Access]]
[[Category:数据库管理系统]]
[[Category:数据库管理系统]]
[[Category:1992年建立的程式語言]]

2023年5月9日 (二) 06:03的最新版本

Microsoft Access
Microsoft Access 2019圖示
開發者微軟
首次发布1992年11月,​32年前​(1992-11
当前版本2021(2021年10月5日,​3年前​(2021-10-05
编程语言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以及其他類似程式來競爭。可是事後微軟證實這是個失敗計劃,並且將它中止。數年後他們把名字重新命名於此數據庫軟體。

歷史

[编辑]
年份 版本 版本
代號
支援系統 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
2018年 Microsoft Office Access 2019 Windows 10 Office 2019 Professional及Professional Plus
2021年 Microsoft Office Access 2021 Windows 10Windows 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的可擴放性並不高.因此當程式被較多使用者使用時,他們的選擇多會是傾向於一些客戶端-伺服器為本的方案,例如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)。