对VF用户如何学好ACCESS的探讨
2009-06-22刘慧
刘 慧
[摘要]从Vi sual Foxpro用户的角度对比分析ACCESS与Visua]Foxpro的差异,并进一步阐述ACCESS中的数据库对象及编程方法。
[关键词]ACCESS Visual Foxpro数据库对象
中图分类号:TP3文献标识码:A文章编号:1671—7597(2009)1020063--01
自从ACCESS成为OFFICE的一个成员后,它在桌面数据库市场上迅速崛起,越来越多的用户开始使用ACCESS,很多vF用户也开始转向或使用微软公司的ACCESS。由于ACCESS的文件组织、数据类型、编程语言、编程方法等与VF有较大的差异,致使不少vF用户在学习ACCESS时感到困惑,从而放弃对ACCESS的学习。与vF相比,ACCESS有很多先进特性。vF用户一旦掌握ACCESS的基本概念与编程方法,就能利用已有的vF知识能够很快地掌握ACCESS。本文从多方面对VF~ACCESS进行对比分析,通过对比使传统vF用户更好地理解与掌握ACCESS。
一、ACCESS与VF在编程方法上的主要差异
1、ACCESS的使用与编程方法同vF的使用与编程方法非常相似,但在文件组织方面有所不同:用vF建立的系统通常包含很多不同类型的文件,每一个表、程序、报表、查询、索引、菜单等内容都以文件的方式存放在磁盘上,可以通过项目文件对其他类型的文件进行组织与管理;ACCESS对数据库的组织同大型后台数据库系统(如SQL SERVER)的数据库组织非常相似,不同数据或程序元素称为对象,所有的对象都存储在一个物理文件中,而这个物理文件被称为数据库。
2、编程语言不同:在传统的vF中,表、记录等数据操纵或是界面的设计采用的是xbase命令进行编程,高版本的vF中引入了部分SQL语句(如SQL—SELECT)主要用来完成数据的查询:ACCESS中对表、记录等数据操作主要通过SOL实现,程序及事件代码的编写采用Visual Basic for Applicatlon(低版本的ACCESS用access basic编程),简单的程序设计用宏。
二、对两者数据库里包含的内容的比较
1、ACCESS的数据库窗口中包含六类不同的数据库对象,它们分别是表(Table)、查询(Query)、窗体(Form)、报表(Report)、宏(Macro)和模块(Module)。ACCESS的数据库如同一个容器一样包含了全部的数据库对象,与vF的项目文件不同,ACCESS将这些对象存储在一个文件中。
2、虽然VF中的数据库表也可以设置字段的输入掩码、缺省值、值范围等字段属性,但ACCESS中的表字段属性内容更为丰富,设置规则也更为灵活。在ACCESS中,不需要用专门的命令或操作来建立和维护索引文件,按某字段建立索引只需在该字段的索引属性中选择特定的索引类型即可,索引的建立、维护和使用都是通过ACCESS系统来完成的。在vF中如:Indexon、set index to等操作就可完成索引的建立、维护和使用,用户不必关心这些内容。
3、查询(Query):ACCESS中的查询实质上就是SQL的数据操纵语言,利用查询可以通过不同的方法来查看、更改以及分析数据,相当于VF中的SQL SELECT语句。在ACCESS中,对表、记录、字段的多数操作都可通过查询来完成。而vF中的查询是只读的。
ACCESS中选择查询比VF中的SQL SELECT命令使用起来更为方便灵活,在ACCESS中,选择查询在使用时等同于表,可以在表与查询问建立关系,查询也可象表一样作为窗体和报表的记录来源,利用查询还能再建查询。
三、在ACCESS和VF中如何济览表中的记录
1在VF中默认情况下,表浏览窗口中在每条记录前面都会出现每条记录的记录号,但ACCESS表浏览窗口中不会自动出现记录号,可使用窗体的左下角记录浏览栏上的按钮改变当前窗口的记录。也可以在表中定义一个字段类型为“自动编号”的字段,并设置为第一个字段,这样系统会自动在每条记录前面显示相应的记录。
2若只是在窗体中前后移动记录,不需要编写程序,在窗体的殴汁视图将窗体的nayigation button值设置为true,则在窗体时就会出现导航按钮,用户通过单击导航按钮前移、后移记录。
四、ACCESS中的数据类型
1用户初次使用ACCESS时常遇到的问题之一是ACCESS表中的数字型字段类型问题,在VF的OBF文件中定义数值型字段需给出字段类型、宽度和小数位数,在记录的数值型字段存放数据时,vF只保存规定的小数位数并自动处理四舍五入问题。ACCESS中表的数值型字段同vF的数值型字段不同,在表中的字段存放数值型数据时需将字段设置为短整型、长整型、单精度、双精度或货币型中的一种,在数值字段保存数据时不能保存同定K度的小数位数,也不能自动处理小数的四舍五入问题。尽管字段属性中有小数位数和格式,但这两个属性只是确定数据的显示方式而不是保留特定的小数位数,用户必须在保存数值数据时自行处理保留的小数位数及四舍五入问题。
2VF用户使用ACCESS表时常遇到另一个问题是字段的NULL值问题,VF中若字段没输入具体的值,则文本型字段为空格串、数字型字段为零值;ACCESS中,若字段没输入值则字段的值为NULL(空值),NULL是ACCESS中的特殊常量表示没值,NULl,不能赋予非Variant变量。通过DAO访问记录的字段时,使用Nz()函数将NULL转换为字符型空串或数值型零值。
综上所述,老VF用户在学习ACCESS时,首先从以上四个方面理解ACCESS和vF的差异,在平时的操作中多注意把原先的vF知识融汇到ACCESS中,就能轻松地学好ACCESS。