跳转到内容

Microsoft Access

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由Sun8908留言 | 贡献2022年7月19日 (二) 14:40 (使用DisamAssist清理消歧義連結:DAO(改連結至Jet Data Access Objects)。)编辑。这可能和当前版本存在着巨大的差异。

Microsoft Access
Microsoft Access 2019图标
开发者微软
首次发布1992年11月,​32年前​(1992-11
当前版本2019 (16.0.12430.20264)(2020年2月11日,​4年前​(2020-02-11
编程语言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 2019 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
2018年 Microsoft Office Access 2019
17
Windows 10 Windows Server 2019

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)。