Access数据库开发技巧(三)
时间:2007-12-23 来源:不详 作者:迈克DB
Access最重要的特征就是一般不必去写程序,然而可能因为要执行复杂或专业的操作而必须在模块中用VisualBasic编写程序,然后通过窗体中的命令按钮来执行相应的程序完成相应的任务。比如排名次、分段统计等。在编写VisualBasic程序时要注重以下一些问题和技巧。
1、变量的运用
①对象变量的运用
在Access中运用VisualBasic编写程序,需要运用其数据访问对象。它包括数据库引擎(DBEngine)、工作空间(Workspace)、数据库以及数据库对象中的表、查询、记录集等对象。如缺省工作空间:DBEngine.Workspaces(0),当前数据库:DBEngine.Workspaces(0).Databases(0)。我们可以用一个对象变量来表示一个对象,这样将为编程带来很大方便。为对象变量赋值要用Set语句,而不要直接赋值。例如:
DimthedbAsDatabase
Setthedb=DBEngine.Workspaces(0).Databases(0)
②Variant数据类型的运用
Variant数据类型是所有没被显示声明(如Dim、Private、Public或Static等语句)为其他类型变量的数据类型。Variant是一种非凡的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。Variant也可以包含Empty、Error、Nothing及Null非凡值。Empty值用来标记尚未初始化(给定初始值)的Variant变量。内含Empty的Variant在数值的上下文中表示0,假如是用在字符串的上下文中则表示零长度的字符串("")。Null表示未知数据或丢失的数据,即无效数据。不应将Empty与Null弄混。Null是表示Variant变量确实含有一个无效数据。
dedecms.com
当有些量可能出现Null值时,可将该变量定义为Variant数据类型。Variant数据类型为编程者提供很大的灵活性,但牺牲了代码的速度和长度。
③通过变量来间接引用数据库对象及限定条件
为了增加灵活性,提高控制能力,减少代码的重复和运用循环语句,在程序中应充分运用变量来间接引用数据库对象和限定条件。比如各个年级学生成绩排名次的处理程序,只是各年级的成绩表名不同,我们可以将程序中的成绩表名用一个变量如“bzcjb”来表示,具体处理时再替换为具体的表名,如替换为高一年级的成绩表名“g1cjb”。
在具体运用中有一些问题要注重,如:
DimthedbAsDatabase
Setthedb=DBEngine.Workspaces(0).Databases(0)
DimthecsbAsRecordset
Setthecsb=thedb.OpenRecordset(bzcjb,DB_OPEN_DYNASET)
这里“bzcjb”可代表任意一个成绩表,若“bzcjb”本身就是一个已存在的数表名,则上述最后一个语句中的“bzcjb”应加上引号,如下所示:
Setthecsb=thedb.OpenRecordset("bzcjb",DB_OPEN_DYNASET)
再比如Dcount函数可用于确定特定记录集中的记录数。可以在VisualBasic、宏、查询表达式,或计算控件中使用DCount函数。
copyright dedecms
语法是:DCount(expr,domain[,criteria])
其参数如下:
expr表达式,用于标识将统计其记录数的字段。可以是一个标识表或查询中字段的字符串表达式。Expr可为字段的名称或“*”,除非是“*”,Dcount函数对包含空字段的记录不记数,若为“*”,Dcount函数计算记录总数。domain字符串表达式,代表组成域的记录集,可以是表的名称或查询的名称。criteria可选的字符串表达式,用于限制DCount函数执行的数据范围。对于其限制条件criteria可用一个变量来代替,比如要统计表“g1cjb”中字段“语文”分数大于等于80分的人数,可用下式来完成:
DCount("*","g1cjb","[班级]>=80")
假若用数字型变量“n”来替换“80”则如下:
DCount("*","g1cjb","[班级]>="&n)
假若用字符型变量“n”来替换“80”则如下:
DCount("*","g1cjb","[班级]>=’"&n&"’")
上一篇:Access数据库开发技巧(四) 下一篇:Access数据库开发技巧(二)
文章评论
共有位Admini5网友发表了评论 查看完整内容