您好, 访客   登录/注册

从VF到ACCESS的过渡学习

来源:用户上传      作者: 刘 慧

  [摘要]从熟练Visual Foxpro的用户角度对比分析ACCESS与Visual Foxpro的差异,并详细阐述ACCESS 中的数据库对象及编程方法,引导学习者快速过渡到ACCESS的使用中来。
  [关键词]ACCESSVisual Foxpro数据库对象
  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1110096-01
  
  微软公司有两个流行的桌面数据库开发工具,一个是其兼并FOX公司而得到的Visual Foxpro(简称VF),另一个是微软自行研制开发的基于WINDOWS环境的Microsoft ACCESS,后来ACCESS成为Microsoft OFFICE的一个成员。随着OFFICE越来越流行,越来越多的用户也开始认识并使用ACCESS,很多VF用户也开始转向使用微软公司的ACCESS。由于ACCESS与VF在很多方面有较大的差异,如文件的组织方式、数据类型、所用的编程语言和编程方法等,使得不少熟悉VF的用户对ACCESS学习起来很吃力,一致放弃对ACCESS的学习。但是,ACCESS与VF相比有很多先进的方面,VF用户只要掌握ACCESS的基本概念与编程方法,就能在自己熟悉的VF技术基础上快速入门并深入掌握ACCESS。本文对VF和ACCESS进行一系列的对比分析,可以帮助熟练VF的用户更好地学习与掌握ACCESS。
  
  一、编程处理语句不同
  
  1.VF与ACCESS的使用与编程方法很相似,但在文件组织方面有所不同:用VF建立的系统通常包含多种不同类型的文件,每个表、程序、查询、索引、报表、菜单等内容都以文件的方式存放在磁盘上,可以通过项目文件对其他类型的文件进行组织与管理;ACCESS对数据库的组织同大型数据库系统(如SQL SERVER)的数据库组织比较相似,把数据或程序元素称为对象,所有的对象都存储在一个物理文件中,而这个物理文件被称为数据库。
  2.编程语言不同:在传统的VF中,表、记录等数据操纵或界面的设计采用xbase命令进行编程,在后来新版本中才引入了部分SQL语句,如SELECT;ACCESS是通过SQL对表、记录等数据操作,程序及事件代码的编写采用Visual Basic for Application(低版本的ACCESS用access basic编程),简单的程序设计用宏。
  
  二、数据库中包含的内容不同
  
  1.ACCESS的数据库窗口中包含六类不同的数据库对象,它们分别是表(Table)、查询(Query)、窗体(Form)、报表(Report)、宏(Macro)和模块(Module)。ACCESS的数据库如同一个容器,其中包含了所有的数据库对象,与VF的项目文件不同,ACCESS将这些对象存储在一个文件中。
  2.虽然VF中的数据库表也可以设置字段的输入掩码、缺省值、值范围等字段属性,但ACCESS中的表字段属性设置更为丰富,设置规则也更为灵活。在ACCESS中,不需要专门的命令或操作建立和维护索引文件,要按某字段建立索引只需在该字段的索引属性中选择特定的索引类型即可,索引的建立、维护和使用都是通过ACCESS系统来完成的。在VF中用Index on、set index to等操作就可完成索引的建立、维护和使用,用户不必关心这些内容。
  3.ACCESS的数据库中可以创建多个表,表与表之间能够建立参照完整性关系。在VF中要用set relation、set skip命令来创建这样的多对一和一对多关系,而ACCESS只需图形界面操作就可完成一对多和多对一关系的建立,并且通过连锁删除与连锁更新来确保相关表中记录之间关系的有效性,且不能意外地删除或更改相关数据。还需注意的是:VF中的记录删除包括逻辑删除和物理删除两种,而ACCESS中的记录被删除后就不能恢复了。
  4.查询(Query):ACCESS中可以进行灵活的查询,其实质就是SQL的数据操纵语言,利用查询可以通过不同的方法来查看、更改以及分析数据,在ACCESS中,对表、记录、字段的多数操作都可通过查询来完成;在进行选择查询时,其结果等同于表,可以在表与查询间建立关系,查询结果也可象表一样作为窗体和报表的记录来源,利用查询还能再建查询。
  在VF中,要使用SQL SELECT命令。显然,ACCESS中选择查询比VF中的SQL SELECT命令功能更强大,使用更灵活。
  
  三、表中的记录浏览方法不同
  
  1.在VF中默认情况下,表浏览窗口中在每条记录前面都会出现每条记录的记录号,但ACCESS表浏览窗口中不会自动出现记录号,可使用窗体的左下角记录浏览栏上的按钮改变当前窗口的记录。也可以在表中定义一个字段类型为“自动编号”的字段,并设置为第一个字段,这样系统会自动在每条记录前面显示相应的记录。
  2.若只是在窗体中前后移动记录,不需要编写程序,在窗体的设计视图将窗体的navigation button值设置为true,则在窗体时就会出现导航按钮,用户通过单击导航按钮前移、后移记录。
  
  四、数据类型有差异
  
  1.ACCESS与VF中的数值型字段类型定义和使用都不同。在VF的DBF文件中定义数值型字段需给出字段类型、宽度和小数位数,在数值型字段中存放数据时,VF只保存规定的小数位数并自动进行四舍五入。
  ACCESS中的数值型字段存放数值型数据时需将字段设置为短整型、长整型、单精度、双精度或货币型中的一种,在数值字段保存数据时不能保存固定长度的小数位数,也不能自动处理小数的四舍五入问题。尽管字段属性中有小数位数和格式,但这两个属性只是确定数据的显示方式而不是保留特定的小数位数,用户必须在保存数值数据时自行处理保留的小数位数及四舍五入问题。
  2.VF用户使用ACCESS表时常遇到字段的空值(NULL)问题,VF中若字段没输入具体的值,则文本型字段为空格串、数字型字段为零值;ACCESS中,若字段没输入值则字段的值为NULL,NULL是ACCESS中的特殊常量,表示没值,NULL不能赋予非Variant变量。通过DAO访问记录的字段时,使用NZ()函数将NULL转换为字符型空串或数值型零值。
  除此之外,二者还有很多不同点,如:ACCESS比VF的安全性高;Access可压缩运行,VF数据库太大不能压缩运行等等。因此,VF用户在学习ACCESS时,可以从以上几个方面理解ACCESS和VF的差异,在平时的操作中多注意把原先的VF知识融汇到ACCESS中,就能轻松地学好ACCESS。
  
  参考文献:
  [1]桂思强,《ACCESS数据库设计基础》,中国铁道出版社,2003年9月出版.
  [2]史济民、汤观全,《Visual Foxpro及其应用系统开发》,清华大学出版社,2007年4月出版.
  
  作者简介:
  刘慧,女,山东寿光人,中国海洋大学在职硕士生,潍坊科技学院教师,主要研究方向:数据库应用。


转载注明来源:https://www.xzbu.com/8/view-1067392.htm