Microsoft Access
开发者 | 微软 |
---|---|
首次发布 | 1992年11月 |
当前版本 | 2019 (16.0.12430.20264)(2020年2月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 Server、Oracle数据库,或者任何ODBC兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的高级用户则能使用它来开发简单的应用软件。虽然它支持部分面向对象技术,但是未能成为一种完整的面向对象开发工具。
其实Access也是微软公司另一个通信程序的名字,想与ProComm以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重命名于此数据库软件。
目前最新的Access版本是Microsoft Access 2019 for Windows。
历史
年份 | 版本 | 版本 代号 |
支持系统 | 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 | 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的可扩放性并不高.因此当程序被较多用户使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如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术语表 (页面存档备份,存于互联网档案馆)