Access数据库开发技巧(三)

  模块的使用技巧

  Access最重要的特征就是一般不必去写程序,然而可能因为要执行复杂或专业的操作而必须在模块中用Visual Basic编写程序,然后通过窗体中的命令按钮来执行相应的程序完成相应的任务。比如排名次、分段统计等。在编写Visual Basic程序时要注意以下一些问题和技巧。

  1、变量的运用

  ①对象变量的运用
  在Access中运用Visual Basic编写程序,需要运用其数据访问对象。它包括数据库引擎(DBEngine)、工作空间(Workspace)、数据库以及数据库对象中的表、查询、记录集等对象。如缺省工作空间:DBEngine.Workspaces(0),当前数据库:DBEngine.Workspaces(0).Databases(0)。我们可以用一个对象变量来表示一个对象,这样将为编程带来很大方便。为对象变量赋值要用Set语句,而不要直接赋值。例如:
  Dim thedb As Database
  Set thedb = 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 变量确实含有一个无效数据。
  当有些量可能出现Null值时,可将该变量定义为Variant 数据类型。Variant 数据类型为编程者提供很大的灵活性,但牺牲了代码的速度和长度。

  ③通过变量来间接引用数据库对象及限定条件
  为了增加灵活性,提高控制能力,减少代码的重复和运用循环语句,在程序中应充分运用变量来间接引用数据库对象和限定条件。比如各个年级学生成绩排名次的处理程序,只是各年级的成绩表名不同,我们可以将程序中的成绩表名用一个变量如“bzcjb”来表示,具体处理时再替换为具体的表名,如替换为高一年级的成绩表名“g1cjb”。
  在具体运用中有一些问题要注意,如:
  Dim thedb As Database
  Set thedb = DBEngine.Workspaces(0).Databases(0)
  Dim thecsb As Recordset
  Set thecsb = thedb.OpenRecordset(bzcjb, DB_OPEN_DYNASET)
  这里“bzcjb”可代表任意一个成绩表,若“bzcjb”本身就是一个已存在的数表名,则上述最后一个语句中的“bzcjb”应加上引号,如下所示:
  Set thecsb = thedb.OpenRecordset("bzcjb", DB_OPEN_DYNASET)
  再比如Dcount 函数可用于确定特定记录集中的记录数。可以在 Visual Basic、宏、查询表达式,或计算控件中使用 DCount 函数。
  语法是: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 & "'")
  要注意替代的形式是不同的。上面的符号“&”是连接运算符。

  2、如何产生程序运行进度框

  若在程序运行时能产生一个程序运行进度框将会增加不少乐趣,Access可以实现这一要求。本人在实践中摸索出一种简单的方法,就是通过在窗体中建两个文本框,一个大一点的长条形文本框(填充色为白色),作为外框,一个窄一点的长条形文本框(填充色为其他彩色,长度取为0.011厘米),作为产生程序运行流水线用,它们的初始状态均为不可见。然后在程序中控制其属性为可见的且修改进度流水线文本框的宽度来显示程序的进展情况。要注意的是为了让进度框在程序运行时能及时显示出来必须用SetFocus 方法将焦点移动到进度框上,并且要调整好流水线文本框与外框文本框的初始位置。注意,在用Width 属性改变控件宽度时其单位为“Twip”,1Twip=1/1440英寸,约为1/567厘米。

时间: 2024-08-31 08:48:57

Access数据库开发技巧(三)的相关文章

Access数据库开发技巧

在当前数据库领域,已有越来越多的人开始采用Access.它是一个功能强大的数据库管理系统和MIS系统开发工具,具有界面友好.易学易用.开发简单.接口灵活等特点.现将本人在使用Access时体会到的一些经验在此与大家交流. 数据库设计的技巧 1. 统一规划 所谓数据库设计是指从对现行非计算机管理的数据库系统的分析到最终实现由计算机管理的数据库系统的全过程.它包括表.查询.报表等的设计.总的原则应从提高数据处理效率及便于数据处理两方面考虑. 以设计学生成绩管理系统为例,在表的设计中,是将全校学生成绩

Access数据库开发技巧(一)

在当前数据库领域,已有越来越多的人开始采用Access.它是一个功能强大的数据库管理系统和MIS系统开发工具,具有界面友好.易学易用.开发简单.接口灵活等特点.现将本人在使用Access时体会到的一些经验在此与大家交流. 数据库设计的技巧 1. 统一规划 所谓数据库设计是指从对现行非计算机管理的数据库系统的分析到最终实现由计算机管理的数据库系统的全过程.它包括表.查询.报表等的设计.总的原则应从提高数据处理效率及便于数据处理两方面考虑. 以设计学生成绩管理系统为例,在表的设计中,是将全校学生成绩

Access数据库开发技巧(四)

各子系统集成的技巧 1.选项组.开关按钮.组合框等控件的运用 在窗体上将这些控件巧妙地加以运用可以有机地将有关系统通过一个窗体来控制,这些控件选择值可以传递到查询.报表及宏中的条件中去,从而使得对查询.报表及宏的控制显得灵活方便. 2.选项卡控件的运用 在Access 97 版中新增加了"选项卡"控件,这更使Access可以在有限的窗体中集成更多的子系统.比如在"打印表格"窗体中就可集成"成绩表"."十分段统计表".单科每分段

Access数据库开发技巧(二)

窗体.查询.报表.宏的联合使用 将窗体.查询.报表.宏联合使用可以解决许多问题,是一项重要的技巧. 1.从窗体中获得查询中的条件 对于这个问题这里以成绩表的打印为例来说明.我们要打印不同班级的成绩表,首先建立相应报表的查询,在查询中的班级字段下的条件中输入条件:Between [forms]![打印表格]![开始班号] And [forms]![打印表格]![结束班号].然后再建立一个"打印表格"窗体,在窗体中添加两个组合框控件,即"开始班号"."结束班号

在VB中兼容非ACCESS数据库的技巧

本文从VB数据库体系结构的角度出发,结合一个具体实例,阐述了在VB中兼容非ACCESS格式数据库的具体方法和技巧. 关键词:VB.非ACCESS数据库.数据存取对象 一个完整的数据库管理系统(DBMS)应是能兼容市面上各种较流行数据格式的系统,它充分考虑了不同用户的实际要求.鉴于目前市面上有多种数据库格式(如Foxpro.DBase.Paradox等)流行,因而在VB数据库应用程序中兼容非ACCESS数据库就显得尤为重要了. 作为一种流行的开发平台,VB提供了强大的数据库功能.主要有以下三种:数

ASP+AJAX+ACCESS数据库实例讲解三个步骤分享_AJAX相关

看完本篇ajax实例教程,我相信你也可以轻松做出一个初级的AJAX应用. 你也可以直接访问:http://www.jb51.net/codes/57017.html 下载ajax教程的源码示例. 好,下面我们就始一步步让你了解AJAX+ASP基础应用,我们将分三步讲解,如下. 1. 前台AJAX代码(javascript)的创建. 2. 后台服务端ASP AJAX代码的编写. 3. ASP+AJAX+数据库的实例演示及讲解. 第一步:前台AJAX代码(javascript)的创建. 我们先创建一

ASP+AJAX+ACCESS数据库实例讲解三个步骤分享

看完本篇ajax实例教程,我相信你也可以轻松做出一个初级的AJAX应用. 你也可以直接访问:http://www.jb51.net/codes/57017.html 下载ajax教程的源码示例. 好,下面我们就始一步步让你了解AJAX+ASP基础应用,我们将分三步讲解,如下. 1. 前台AJAX代码(javascript)的创建. 2. 后台服务端ASP AJAX代码的编写. 3. ASP+AJAX+数据库的实例演示及讲解. 第一步:前台AJAX代码(javascript)的创建. 我们先创建一

ASP开发技巧三则

技巧     一. 服务器端文件的动态包含注一   在ASP开发过程中,我们经常会将通用的函数制作成一个独立的ASP文件,然后通过Include方法引入需要的页面.由于在执行过程中,服务器会首先运行采用Include方法包含的文件,然后才是当前页面的代码,所以,在实际执行过程中我们不可能使用Include方法来实现服务器端的动态包含.   看下面一段代码:   <%   i=1   str = "file" & i & "/a.asp"   %

数据库设计技巧(三)

技巧|设计|数据|数据库|数据库设计 作者:allsky 在定义第四个正规化的形式前,我想首先提一下三种基本的数据关系:一对一,一对多和多对多.我们回头看一下经过第一个正规化的users表.要是我们将url的字段放在一个独立的表中,每次在users表中插入一个记录,我们就会在urls表中插入一行.我们将得到一个一对一的关系:用户表中的每一行,都将在urls表中找到相应的一行.对于我们的应用来 说,这既不实用也不标准. 然后看看第二个正规化的例子.对于每个用户记录,我们的表格允许有多个urls的记