Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即RelationalDatabaseManagementSystem),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。Access能够存取Access/Jet、MicrosoftSQLServer、Oracle(甲骨文软件公司),或者任何ODBC兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。虽然它支援部分面向对象(OOP)技术,但是未能成为一种完整的面向对象开发工具。Access的作用一、用来进行数据分析:access有强大的数据处理、统计分析能力,利用access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。这一点体现在:会用access,提高了工作效率和工作能力。二、用来开发软件:access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。(VB、.net、C语言等开发工具对于非计算机专业人员来说太难了,而access则很容易)。这一点体现在:实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理+会编程”的复合型人才。[1]发布历史MicrosoftAccess1.0版本在1992年11月发布。微软指定它对系统最小要求为视窗3.0配以4兆节内存.6兆节内存配以最小8兆节硬盘空间(建议最好有14兆节硬盘空间)则为建议的系统要求.当时软件以7张1.44兆节软碟发布的载体。这个软件能够有效地处理大量记录但是测试显示在某些情况下会导致数据损毁.比如说,大小超过700MB的文件常会出问题。(值得注意的是在1.0版广泛应用的时候大多数硬盘是小于700MB的。)软件的使用指南指出过时的设备驱动和错误的配置可能会导致数据丢失。Access的最初名称是Cirrus。它开发于VisualBasic之前,当时的窗口引擎称作Ruby。比尔盖茨看过Ruby的原型后决定把这个基于Basic语言的组件作为一个独立的可扩展应用程序与Access联合开发。这个项目称作Thunder。这两个项目互相独立的被作为底层的窗口引擎开发并且互不兼容。然而,在VBA出现后它们被合并在一起。1995年末,access95发布,这是世界上第一个32位关系型数据库管理系统,使得access的应用得到了普及和继续发展。1997年,access97发布。它的最大特点是在access数据库中开始支持web技术,这一技术上的发展,开拓了access数据库从桌面向网络的发展。21世纪初,microsoft发布access2000,这是微软强大的桌面数据库管理系统的第六代产品,也是32为位access的第三个版本。至此,access在桌面关系型数据库的领域的普及已经跃上了一个新台阶。2003年微软正式发布了access2003,这是继2002年后发布的最新版本,它在继承了以前版本的优点外,又新增了一些使用功能。之后微软又发布了access2007,目前access的最高版本是access2010。主要用途MicrosoftAccess在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序.这些应用程序都利用ASP技术在InternetInformationServices运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/MicrosoftSQLServer.它的使用方便程度和强大的设计工具为初级程序员提供许多功能。不过,这种便于使用可能使人误解。这类开发者都是没有在应用或者数据设计方面训练的办公室从业人员。因此许多人以为这样的开发者能够创造可用的系统,但也有很多人认为工具本身的局限性产生了这样的误导。一些专业的应用程序开发人员使用Access用作快速应用开发,特别是给街道上的推销员制作一个初型或独立应用程序的工具。可是如果是透过网络存取数据的话,Access的可扩放性并不高.因此当程序被较多使用者使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如Oracle、DB2、MicrosoftSQLServer、WindowsSharePointServices、PostgreSQL、MySQL、AlphaFive、MaxDB,或者Filemaker。无论如何,不少Access的功能(表单,报告,序列和VB代码)可以用作其他数据库的后期应用,包括JET(档案为主的数据库引擎,Access缺省使用)、MicrosoftSQLServer、Oracle和任何其他跟ODBC兼容的产品。这种方法允许开发者把一个成熟的应用的数据移动到一台更大功率的服务器而没有已经在适当的位置牺牲发展。很多MicrosoftAccess的开发者使用Leszynski命名约定,虽然这不普遍;它是一次编程大会,并非一个DBMS实施的规章。特性与一般的RDBMS完全不同,它缺乏数据库触发和预存程序。自从MSAccess2000(Jet4.0),开发人员可以在查询中设定参数,这跟预存程序很相似的,但这些“预存程序”只能处理一个程序.当资料表内数据发生变化时,它确实允许形式包含被引发的代码,使用是普通的透过查询和其他技术在进入营运储存的程序在方面RDBMS支援这些的。进入可提供的编程语言,当时在另一个内产品MicrosoftOffice家具,微软公司应用的VisualBasic。两个数据库进入讯息库COM组成部分被提供:这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。MicrosoftAccess容易被应用于小的工程,但是如果设计的不好对大工程是无用的。全部数据库质问,形式和报告被储存在数据库里,并且与相关的模型的理想协调,没有与他们做一个身体上组织的阶层的可能性。一种设计技术是把进入应用在数据和计划之间进行分发。一数据库应该只包含表和关系,当另一个将有全部计划时,形式,报告和质问和对第一个数据库表的连接。令人遗憾,当连结时,进入允许没有有关的道路,因此那些发展环境作为这种生产环境有相同的道路应该(虽然你写你们自己的能动态连接程序常规在里VBA那搜出能一定背面结束档案以透过这个目录树搜寻,如果它发现这条电流通路它不能)。这种技术也允许开发者在不同的档案中分申请,因此一些架构是可能的。优缺辨析Access的优点(1)存储方式简单,易于维护管理Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。(2)面向对象Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。(3)界面友好、易操作Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。(4)集成环境、处理多种数据信息Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。(5)Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。(6)支持广泛,易于扩展,弹性较大能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。还可以通过以Access作为前台客户端,以SQLServer作为后台数据库的方式(如ADP)开发大型数据库应用系统。总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。ACCESS的缺点ACCESS是小型数据库,既然是小型就有它的局限性(下面关于性能方面的缺点仅指用Access作为数据库的情况下,不包括用Access作为客户端前台,用SQLServer作为后台数据库的情况):1.数据库过大,一般百M以上(纯数据,不包括窗体、报表等客户端对象)性能会变差。2.虽然理论上支持255个并发用户,但实际上根本支持不了那么多,如果以只读方式访问大概在100个用户左右,而如果是并发编辑,则大概在10-20个用户。3.记录数过多,单表记录数过百万性能就会变得较差,如果加上设计不良,这个限度还要降低。4.不能编译成可执行文件(.exe),必须要安装Access运行环境才能使用。安全策略一、密码式给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的泄露导致数据库被非法下载,这种方式也就越来越少人用了。二、#式在数据库名称里加上#号,从URL上请求时#是请求地址和请求参数的一个分隔字符,如果知道了数据库名,直接请求的话,WEB服务器会认为请求的是access而不是access#.mdb,所以会提示找不到文件,但是很遗憾,URL中对于这些特殊的字符都会有一个特殊的表示方式,#的特殊表示就是%23,那么access#.mdb将会被下载。还有如果用FlashGet之类的下载工具也可以直接下载。三、ASP式这种作法是比较专业但也是很安全的也是现在比较流行的作法,但是现在许多的人只是作了一半,只是将数据名改成ASP而以,这样的话直接用FlashGet之类的下载工具一样可以将数据库下载,这种方式的正确作法有两步:第一步:在数据库内创建一个字段,名称随意,类型是OLE对象,内容设置为单字节型的%,即(ASP代码chrB(asc())&chrB(asc(%))的运行结果)第二步:将数据库改名为ASP这样从URL上直接请求这个数据库将会提示缺少关闭脚本分隔符,从而拒绝下载,因为这个方式比较麻烦我在网上找了一段小代码来完成OLE对象的插入工作,只要将数据库名设置好,然后放在和数据库内一目录运行一下就可以了。代码全文数下:%db=d.mdb'这里改成您的数据库地址setconn=server.createobject(Adodb.Connection)connstr=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&Server.MapPath(db)conn.openc