热门问题
时间线
聊天
视角

Microsoft Access

微软数据库软件 来自维基百科,自由的百科全书

Remove ads

Microsoft Office Access(前名Microsoft Access)是由微软发布的关系数据库管理系统。它结合了Microsoft Jet Database Engine图形用户界面两项特点,是Microsoft Office的系统程序之一。

事实速览 开发者, 首次发布 ...

Access能够访问Access/Jet、Microsoft SQL ServerOracle数据库,或者任何ODBC兼容数据库内的资料。虽然它支持部分面向对象技术,但是未能成为一种完整的面向对象开发工具。

其实Access也是微软公司另一个通信程序的名字,想与ProComm以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重命名于此数据库软件。

Remove ads

历史

更多信息 年份, 版本 ...

Microsoft Access 1.0发布于1992年11月,当时该软件以7张1.44 MB磁片形式发售。

为了配合Word的版本号码,Access版本号自Office 95开始与Word同步,版本号配合Word 7订为7.0。

Access 2007起数据库改以新文件格式.accdb存储。由于与旧Access版本不兼容,若需在较旧的Access版本里读取,需要先转存回.mdb

Access 2013起已不再支持dBase数据库,无法导入.dbase的数据库文件。

由于Office 2024不再提供Professional版本,故Access不再于零售卖断的Microsoft Office版本中出现;但Microsoft 365订阅版本中仍设有Access。

Remove ads

用途

Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门。喜爱编程的开发人员亦利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序。

它的使用方便程度和强大的设计工具为初级程序员提供许多功能。不过,方便性的宣传,常令人误解。在过于乐观的误导下,让许多没有程序设计背景的办公室从业人员应用此软件,并以为能够创造可用的系统,但此工具本身的局限性,常常使这些用户失败。

一些专业的应用程序开发人员使用Access内附的快速应用开发功能,特别是给街道上的推销员制作一个初型或独立应用程序的工具。可是如果是透过网络访问数据的话,Access的可扩放性并不高.因此当程序被较多用户使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如OracleIBM DB2Microsoft SQL ServerWindows SharePoint ServicesPostgreSQLMySQLAlpha FiveMaxDB,或者Filemaker。无论如何,不少Access的功能(窗体,报告,序列和VB代码)可以用作其他数据库的后期应用,包括JET(文件为主的数据库引擎,Access默认使用)、Microsoft SQL ServerOracle和任何其他跟ODBC兼容的产品。这种方法允许开发者把一个成熟的应用的数据移动到一台更大功率的服务器而不会在适当的位置牺牲发展。

Remove ads

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
Remove ads

参见

外部链接

本条目部分或全部内容出自以GFDL授权发布的《自由在线电脑词典》(FOLDOC)。

Remove ads
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads