计算机二级MS office应用考点重点

2024-08-08

计算机二级MS office应用考点重点(共4篇)

1.计算机二级MS office应用考点重点 篇一

为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级MSoffice高级应用模拟试题及答案,供参考练习,预祝考生们考出自己理想的成绩!

计算机二级MSoffice高级应用模拟试题及答案

选择题

1.程序流程图中带有箭头的线段表示的是()。

A.图元关系

B.数据流

C.控制流

D.调用关系

2.结构化程序设计的基本原则不包括()。

A.多态性

B.自顶向下

C.模块化

D.逐步求精

3.软件设计中模块划分应遵循的准则是()。

A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合4.在软件开发中,需求分析阶段产生的主要文档是()。

A.可行性分析报告

B.软件需求规格说明书

C.概要设计说明书

D.集成测试计划

5.算法的有穷性是指()。

A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用

6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。

A.快速排序

B.冒泡排序

C.直接插入排序

D.堆排序

7.下列关于栈的叙述正确的是()。

A.栈按“先进先出”组织数据

B.栈按“先进后出”组织数据

C.只能在栈底插入数据

D.不能删除数据

8.在数据库设计中,将E-R图转换成关系数据模型的过程属于()。

A.需求分析阶段

B.概念设计阶段

C.逻辑设计阶段

D.物理设计阶段

9.有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为()。

A.笛卡尔积

B.交

C.并

D.自然连接

10.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。

A.课号,成绩

B.学号,成绩

C.学号,课号

D.学号,姓名,成绩

答案

1.C【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。

2.A【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用90t0语句,所以选择A。

3.B【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件.系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。

4.B【解析】A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

5.A【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

6.D【解析】除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n-1)/2。.B【解析】栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。

8.C 【解析】E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

9.D【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C错误。根据关系T可以很明显地看出是从关系R与关系S中取得相同的关系组所以取得是交运算,因此选择D。

10.C【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。

2.计算机二级MS office应用考点重点 篇二

第 1 章

数据结构与算法

考点1:算法具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。确定性:是指算法中每一个步骤都必须是有明确定义的,不允许模棱两可的定义 有穷性:是指算法必须能在有限的时间内做完

一个算法由两种基本要素组成:一是对数据对象的运算和操作,二是算法的控制结构 考点2:算法复杂度包括时间复杂度和空间复杂度 时间复杂度

执行算法所需要的计算工作量 空间复杂度

执行这个算法所需要的内存空间 考点3:数据结构

一:讨论的问题:1.数据元素之间的逻辑关系,即数据的逻辑结构 2.数据元素在计算机中的存储关系,即数据的存储结构 3.对各种数据结构进行的运算

考点4:数据结构分为两大类型:线性结构与非线性结构。(1)如果一个非空的数据结构满足下列两个条件: ① 有且只有一个根结点;

② 每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构。

如果一个数据结构不是线性结构,则称之为非线性结构。考点5:线性表

特点:(1)线性表中所有元素所占的存储空间是连续的

(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的 考点5: 栈的基本概念

栈(stack)是一种特殊的线性表,是限定只在一端进行插入与删除的线性表。栈是按照“先进后出”或“后进先出”的原则组织数据的。考点6:队列的基本概念

队列是只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的这一端称为队头,允许插入的这一端称为队尾。当表中没有元素时称为空队列。即先进先出表。循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用

考点7: 链表

在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。考点8:二叉树性质

(1)

在树结构中,每一个结点只有一个前件,称为父结点,没有父结点的只有一个,成为根结点

(2)

没有后件的结点成为叶子结点

(3)

一个结点所拥有的后件个数称为该结点的度,在树中,所有结点中最大的度称为树的度

(4)

树的最大层次称为树的深度

(5)

在二叉树的第k层上,最多有2^(k-1)个结点(6)

深度为m的二叉树最多有2^m-1个结点(7)

任意一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个(8)

满二叉树:除最后一层外,每一层上的所有结点都有两个子节点

(9)

完全二叉树:除最后一层外,每一层上的结点数都达到最大值,在最后一层上只缺少右边的若干结点

考点9: 二叉树的遍历

根据访问根结点的次序,二叉树的遍历分为三类:前序遍历、中序遍历和后序遍历。(1)前序遍历

先访问根结点,然后遍历左子树,最后遍历右子树;并且在遍历左、右子树 时,仍需先访问根结点,然后遍历左子树,最后遍历右子树。(2)中序遍历

先遍历左子树、然后访问根结点,最后遍历右子树;并且,在遍历左、右子 树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。例如,对图 1-1 中的二叉树进行中序遍历的结果(或称为该二叉树的中序序列)(3)后序遍历

先遍历左子树、然后遍历右子树,最后访问根结点;并且,在遍历左、右子 树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。考点10:各种排序的复杂度(1)顺序查找需要比较n 次

(2)冒泡排序在最坏的情况下需要比较次数为n(n-1)/2。(3)简单插入排序法,最坏情况需要n(n-1)/2 次比较;(4)希尔排序法,最坏情况需要O(n1.5)次比较。

(5)简单选择排序法,最坏情况需要n(n-1)/2 次比较;(6)堆排序法,最坏情况需要O(nlog2n)次比较。

第二章:程序设计基础

考点1:结构化程序设计的原则

(1)自顶向上:先考虑整体,再考虑细节;先考虑全局目标,再考虑局部目标;(2)逐步求精:对复杂问题应设计一些子目标作为过渡,逐步细化;

(3)模块化:把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。

(4)限制使用goto 语句:在程序开发过程中要限制使用goto 语句。考点2:结构化程序的基本结构

结构化程序的基本结构有三种类型:顺序结构、选择结构和循环结构。

考点3: 面向对象方法涵盖对象及对象属性与方法、类、继承、多态性几个基本要素。对象是面向对象方法中最基本的概念,主要特点:(1)标识惟一型

(2)分类性(3)多态性

(4)封装性

(5)模块独立性好 考点4:消息:对象间的相互合作需要一个机制来协助进行,这个机制就是消息 考点5:继承是面向对象的方法的一个主要特征,分为单继承和多重继承

第三章:软件工程基础

考点1: 计算机软件是包括程序、数据以及相关文档的完整集合,软件工程包括3 个要素:方法、工具和过程

考点2: 软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期还可以分为软件定义、软件开发、软件运行维护阶段 软件定义阶段包括:可行性研究、需求分析

软件开发阶段包括:概要设计、详细设计、实现、测试 软件维护阶段包括:使用、维护、退役

考点3:软件工程的理论和技术性研究主要包括:软件开发技术和软件工程管理 考点4:数据流图图符的含义

圆形表示加工,箭头表示数据流,等于号表示存储文件,矩形表示源、潭

考点5:数据字典:是结构化分析方法的核心,数据字典是对所有与系统相关的数据元素的一个有组织的列表

考点6:软件需求规格说明书是需求分析阶段的最后成果 考点7:模块独立性

衡量模块独立性的定性标准:内聚性与耦合性

内聚性:是一个模块内部各个元素间彼此结合的紧密程度的度量 耦合性:模块间互相连接的紧密程度的度量 一个优秀的设计应尽量做到高内聚、低耦合

考点8:典型的数据流类型有两种:变换型和事务型 考点9:程序流程图图符的含义

考点10:软件测试是为了发现错误而执行程序的过程 静态测试是由人工进行的测试 动态测试是基于计算机的测试

考点11:白盒测试主要方法:逻辑覆盖、基本路径测试

黑盒测试主要方法:等价类划分法、边界值分析法、错误推测法、因果图等

软件测试过程一般按4个步骤来进行:单元测试、集成测试、验收测试、系统测试

考点12:程序调试的任务是诊断和改正程序中的错误,与测试不同,软件测试是尽可能多的发现错误

第四章:数据库设计基础

考点1:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织,数据操纵,数据维护,控制及保护和数据服务等 考点2:数据库系统提供的数据语言:(1)

数据定义语言:该语言负责数据的模式定义与数据的物理存取构建(2)

数据操纵语言负责数据的操纵,包括查询及增、删、改等

(3)

数据控制语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等 考点3:数据库系统由如下几部分组成:数据库、数据库管理系统、数据库管理员、硬件平台与软件平台

考点4:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序,数据独立性分为物理独立性和逻辑独立性 考点5:数据库的三级模式

(1)

概念模式:是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图(2)

外模式:是用户的数据视图,也就是用户所见到的数据模式(3)

内模式:它给出了数据库物理存储结构与物理存取方法 考点6:数据模型所描述的内容有三个方面:(1)

数据结构:主要描述数据的类型、内容、性质以及数据间的联系(2)

数据操作:主要描述在相应数据结构上的操作类型与操作方式(3)

数据约束:主要描述数据结构内数据间的语法、语义联系 考点7:E-R模型

(1)E-R模型由三个基本概念组成:实体、联系和属性

(2)在E-R图示法中:矩形表示实体集,椭圆形表示属性,菱形表示联系

考点8:关系模型的约束包括实体完整性约束、参照完整性约束、用户自定义完整性约束 考点9:关系代数

并运算:关系R与S经并运算后所得到的关系是由那些在R内或在S内的有序组 交运算:关系R与S经交运算后所得到的关系是由那些即在R内又在S内的有序组 差运算:关系R与S经差运算后所得到的关系是由那些在R内但不在S内的有序组 自然连接: 考点10:E-R图与关系的转换

E-R图中实体与联系都可以转换成关系,属性也可以转换成关系的属性 1.1 数据库基础知识

考点1 计算机数据管理的发展 1数据与数据处理

数据是指存储在某一种媒体上能够识别的物理符号。数据处理的中心问题是数据管理。2计算机数据管理(l)人工管理。(2)文件系统。(3)数据库系统。

(4)分布式数据库系统。(5)面向对象数据库系统。3数据库管理系统

为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS(DataBase Management System)。

图1-1 数据库系统中数据与程序的关系 考点2 数据库系统 1有关数据库的概念

(1)数据库(DataBase):存储在计算机存储设备上、结构化的相关数据的集合。

(2)数据库应用系统(DBAS):是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。

(3)数据库管理系统(DBMS):对数据实行专门管理,提供安全性和完整性等统一机制,可以对数据库的建立、使用和维护进行管理。

(4)数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统由硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户等部分组成。2数据库系统的特点

(l)实现数据共享,减少数据冗余。(2)采用特定的数据模型。(3)具有较高的数据独立性。(4)具有统一的数据控制功能。考点3 数据模型 1实体的描述(1)实体。

(2)实体的属性。(3)实体集和实体型。

2实体间联系及联系的种类(1)一对一联系。(2)一对多联系。(3)多对多联系。3数据模型简介

为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示,通常有以下3种。(1)层次数据模型。(2)网状数据模型。(3)关系数据模型。小提示:

数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是DBS包括DB和DBMS。1.2 关系模型

关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。1关系术语

(l)关系:一个关系就是一张二维表,每个关系有一个关系名。在Visual FoxPro中一个关系存储为一个文件,扩展名为DBF,称为“表”。

对关系的描述称为关系模式,一个关系模式对应一个关系的结构,格式为: 关系名(属性名1,属性名2,„,属性名n)(2)元组:在一个二维表中,水平方向的行称为元组,每一行为一个元组。(3)属性:将二维表中垂直方向的列称为属性,每一列都有一个属性名。(4)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。

(5)关键字:属性或属性的组合,其值能够唯一地标识一个元组。在Visual FoxPro中,主关键字和候选关键字就起唯一标志一个元组的作用。

(6)外部关键字:如果表中一个字段不是本表的主关键字或候选关键字,而是另一个表的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。2关系的特点

(1)关系必须规范化。

(2)在同一个关系中不能出现同名属性,Visual FoxPro中表示为字段名的不同。(3)关系中不允许有完全相同的元组,即冗余。(4)在一个关系中元组的次序无关紧要。(5)在一个关系中列的次序无关紧要。考点5 关系运算

对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算,关系的基本运算有两类:传统的集合运算和专门的关系运算。1传统的集合运算

(1)并:两个相同结构关系的并是由属于这两个关系的全部元组组成的集合。

(2)差:两个相同结构关系的差是由属于前一个关系的元组而不属于后一个关系的元组组成的集合。例如,关系R和S的差结果是由属于R但不属于S的元组组成的集合。(3)交:两个相同结构关系的交是由属于这两个关系所共有的元组组成的集合。2专门的关系运算

(1)选择:从关系中找出满足给定条件的元组的操作。(2)投影:从关系模式中指定若干个属性组成新的关系:

(3)连接:关系的横向结合,将两个关系模式拼接成一个更宽的关系模式。

(4)自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。小提示:

选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。连接运算则需要把两个表作为操作对象。如果两个表以上进行连接,应当两两进行连接。1.3 数据库设计基础 考点6 数据库设计步骤 1设计原则

(l)关系数据库的设计应遵从概念单一化“一事一地”的原则。(2)避免在表之间出现重复字段。

(3)表中的字段必须是原始数据和基本数据元素。(4)用外部关键字保证有关联的表之间的联系。2设计步骤

利用Visual FoxPro来开发数据库应用系统,可以按照以下步骤来设计。(1)需求分析。(2)确定需求表C(3)确定需求字段。(4)确定联系。(5)设计精确

1.4 Visual FoxPro系统概述 考点7 Visual FoxPro的特点(l)增强项目与数据库管理。

(2)提高应用程序开发的生产率。(3)互操作性与支持Internet。(4)充分利用已有数据。2.1程序与程序文件 程序与程序文件

考点1 程序的概念、建立与执行 1程序的概念

程序是能够完成一定任务的命令集合。这组命令被存放在称为程序文件或命令文件的文本文件中。当运行程序时,系统会按照一定的次序自动执行包含在程序文件中的命令。2程序文件的建立与修改

程序文件的建立与修改一般是通过调用系统内置的文本编辑器来进行的。其建立步骤如下。(l)打开文本编辑窗口。

(2)在文本编辑窗口中输入程序内容,此处所输入的程序命令不会马上被执行。

(3)编辑完成后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件。3打开或修改程序文件的方法

(1)从“文件”菜单中选择“打开”命令,弹出“打开”对话框。(2)在“文件类型”列表框中选择“程序”。(3)在文件列表框中选定要修改的文件,并单击“确定”按钮。

(4)编辑修改后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件,若要放弃修改,可直接按Esc键,或从“文件”菜单中选择“还原”命令。4程序文件的执行

程序文件建立后,可使用多种方式、多次执行它,常用的以下有两种方式。(l)菜单方式。(2)命令方式。

考点2 简单的输入输出命令

程序一般都包含数据输入、数据处理和数据输出3个部分。1 INPUT命令

格式:INPUT[<字符表达式>]TO<内存变量> 功能:该命令等待用户从键盘输入数据,当用户回车后,系统将表达式的值存入指定的内存变量。

注释:输入的数据可以是常量、变量,也可以是更为一般的表达式。但不能不输入任何内容直接按回车键输入字符串时必须加定界符,输入逻辑型常量时要用圆点定界(如.T.,.F.),则输入日期时间型常量时要用大括号(如{^2001-03-01})。2 ACCEPT命令

格式:ACCEPT[<字符表达式>]TO<内存变量> 功能:该命令等待用户从键盘输入字符串,当用户回车后,系统将表达式的值存入指定的内存变量。

注释:该命令只能接收字符串。用户在输入字符串时不需要加定界符;否则,系统会把定界符作为字符串本身的一部分。如果不输入任何内容而直接按回车键,系统会把空串赋给指定的内存变量。3 WAIT命令

格式:WAIT[<字符表达式>][TO<内存变量>][WINDOW[AT<行>,<列>]] [NOWAIT][CLEARINOCLEAR][TIMEOUT<数值表达式>] 功能:该命令显示字符表达式的值作为提示信息,暂停程序的执行,直到用户按任意键或单击鼠标时继续程序运行。

注释:<内存变量>用来保存用户输入的字符,其类型为字符型。若用户按的是Enter键或单击了鼠标,那么<内存变量>中保存的将是空串若不选TO <内存变量>短语,则输入的单字符不保留。小提示:

如果用DO命令执行查询文件、菜单文件,在文件名中必须要包括扩展名(QPR、MPR)。7.2 程序的基本结构

程序结构是指程序中命令或语句执行的流程结构,包括3种基本结构:顺序结构、选择结构和循环结构。考点3 顺序结构

顺序结构是最简单的程序结构,它是按命令在程序中出现的先后次序依次执行。考点4 选择结构

支持选择结构的语句包括条件语句和分支语句。1条件语句 格式: IF<条件> <语句序列1> [ELSE> <语句序列2>] ENDIF 功能:该语句根据<条件>是否成立从两组代码中选择一组执行。语句的执行流程图如图7-1和图7-2所示。

图7-1有ELSE的选择语句

图7-2无ELSE的选择语句 2分支语句

格式:DO CASE CASE<条件1> <语句序列1> CASE<条件2> <语句序列2> ……

CASE<条件n> <语句序列n> [OTHERWISE <语句序列>] ENDCASE

功能:语句执行时,依次判断CASE后面的条件是否成立。分支语句实现的是一种扩展的选择结构,可以根据条件从多组代码中选择一组执行。分支语句的流程如图7-3所示。

图7-3 多分支语句 考点5 循环结构

循环结构也称为重复结构,是指程序在执行的过程中,其中的某段代码被重复执行若一干珠。被重复执行的代码段,通常称为循环体。Visual FoxPro支持循环结构的语句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。1 DO WHILEENDFOR语句 格式:

FOR<循环变量>=<初值>TO<终值>[STEP<步长>] <循环体> ENDFOR 功能:首先将初值赋给循环变量,然后判断循环条件是否成立(若步长为正值,则循环条件为<循环变量><=<终值>;若步长为负值,则循环条件为<循环变量>>=<终值>)。如果成立,则执行循环体,然后循环变量增加一个步长值,并再次判断循环条件,一直到条件为假时,退出循环体。该语句通常用于实现循环次数已知情况下的循环结构〕 3 SCAN-ENDSCAN语句 格式:

SCAN[<范围>][FOR<条件1>][WHERE<条件2>] <循环体> ENDSCAN

功能:该循环语句一般用于处理表中记录,语句可指明需要处理的记录范围及应满足的条件。执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。7.3 多模块程序

模块是一个相对独立的程序段,它可以被其他模块调用,也可以调用其他模块。通常,把被其他模块调用的模块称为子程序,把调用其他模块而没有被其他模块调用的模块称为主程序。应用程序一般都是多模块程序,包含多个程序模块。考点6 模块的定义和调用 1模块的定义

在Visual FoxPro中,模块可以是命令文件,也可以是过程。过程定义的语句格式为: PROCEDURE|FUNCTION<过程名> <命令序列> [RETURN[<表达式>]] [ENDPROCIENDFUNC] 功能说明如下。

(1)PROCEDURE|FUNCTION命令表示一个过程的开始,并命名过程。过程名必须以字母或下划线开头,可以包含数字、字母和下划线。

(2)当程序执行到RETURN命令时,控制将转回到调用处(或命令窗口),并返回表达式的值。若默认RETURN命令,系统将在过程结束处自动调用一条隐含的RETURN命令。(3)ENDPROC|ENDFUNC命令表示一个过程的结束。如果默认此语句,那么过程结束于下一条PROCEDURE|FUNCTION命令或文件尾。2模块的调用

模块调用的格式有两种。

(1)使用DO命令,格式如下。DO<文件名>|<过程名>(2)在名字后加一对小括号,格式如下。<文件名>|<过程名>()3打开过程文件 命令格式如下。

SET PROCEDURE TO[<过程文件1>[,<过程文件2>,„][ADDITIVE] 4关闭过程文件 命令格式如下。

RELEASE PROCEDURE<过程文件1>[,<过程文件2>,„] 考点7 参数传递

模块程序可以接收调用程序传递过来的参数。

(1)PARAMETERS<形参变量1>[,<形参变量2>,„]。(2)LPARAMETERS<形参变量1>[,<形参变量2>,„]。

说明PARAMETERS声明的形参被看做是模块程序中建立的私有变量,LPARAMETERS声明的形参被看做是模块程序中建立的局部变量。除此之外,两条命令无其他区别。不管是PARAMETERS或LPARAMETERS,都应该是模块程序的第一条可执行命令。(1)调用参数调用模块程序参数的格式如下。

DO<文件名>|<过程名>WITH<实参1>[,<实参2>,„] <文件名>|<过程名>(<实参1>[,<实参2>,„])说明:实参可以是常量、变量或一般表达式,调用模块程序时,形参的数目不能少于实参的数目,当形参数目多于实参数目时,多余的形参取初值逻辑假.F.。

(2)参数的传递。模块中参数的传递分为两种:按值传递(实参一般为常量和表达式)和引用传递(实参一般为变量)。参数的传递方式可以重新设置,格式如下。SET UDFPARMS TO VALUE|REFERENCE 考点8 变量的作用域

变量的一个重要属性是作用域。变量的作用域指的是变量在什么范围内是有效或能够被访问的。在Visual FoxPro中,可分为公共变量、私有变量和局部变量3类。1.公共变量

在任何模块中都可使用的变量称为公共变量,公共变量必须先定义后使用,格式如下。PUBLIC<内存变量表> 说明:该命令是建立公共的内存变量,并赋以初值逻辑假.F.。建立好的公共变量一直有效,即使程序结束返回命令窗口也不会消失,只有执行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被释放。2私有变量

在程序中直接使用(没有预先声明),而由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。3局部变量

局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。程序结束时,自动释放局部变量。格式如下 LOCAL<内存变量表> 说明:该变量同样给建立的内存变量赋以初值逻辑假.F.,也必须先定义后使用。当子程序中定义的变量名与主程序中同名时,为避免子程序中的变量值改变主程序中的变量值,可在子程序中使用PRIVATE命令隐藏主程序中可能存在的变量,使这些变量在子程序中暂时无效。格式如下。

(1)PRIVATE<内存变量表>。

(2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。说明:该命令并不建立内存变量,它只是隐藏指定的在上层模块中可能已经存在的内存变量,但是当模块程序返回到上层模块时,被隐藏的变量就自动恢复有效性,保持原值。7.4 程序调试

考点9 调试器环境

程序调试是指在发现程序有错误的情况下,确定出错位置并纠正错误。计算机一般能够发现程序的出错位置,但对于计算机不能发现的错误,只能由用户自己来查错。Visual FoxPro提供的功能强大的调试工具—调试器,可帮助我们进行这项工作。调用调试器的方法一般有两种。

(l)选择“工具”菜单中的“调试器”命令。(2)在命令窗口中输入DEBUG命令。考点10 设置断点

可以设置以下4种类型的断点。

(1)在定位处中断:可指定一行代码,当程序调试执行到该行时,中断程序运行。

(2)如果表达式值为真,则在定位处中断:指定一行代码及一个表达式,当程序调试执行到该行代码时,如果表达式值为真,就中断程序运行。

(3)当表达式值为真时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值为逻辑真.T.时,中断程序运行。

(4)当表达式值改变时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值改变时,中断程序运行。考点11 “调试”菜单

“调试”菜单包含执行程序、选择执行方式、终止程序执行、修改程序,以及调整程序执行速度等命令。各命令具体功能如下。

(1)运行:执行在跟踪窗口中打开的程序:

(2)继续执行:当程序被中断时,该命令可使程序在中断处继续往下执行。(3)取消:终止程序的调试执行,并关闭程序。

(4)定位修改:终止程序的调试执行,然后在文本编辑窗口中打开调试程序。

(5)跳出:以连续方式而非单步方式继续执行被调用模块程序中的代码,然后在调用程序的调用语句的下一行处中断。

(6)单步:单步执行下一行代码。如果下一行代码调用了过程或者方法程序,那么该过程或者方法程序在后台执行。

(7)单步跟踪:单步执行下一行代码。

(8)运行到光标处:从当前位置执行代码直至光标处中断。

(9)调速:打开“调整运行速度”对话框,设置两代码行执行之间的延迟秒数。

(10)设置下一条语句:程序中断时选择该命令,可使光标所在行成为恢复执行后要执行的语句。

3.1 Visual FoxPro数据库及其建立 考点1 建立和使用数据库 1数据库的建立

(1)在项目管理器中建立数据库。(2)通过“新建”对话框建立数据库。(3)使用命令建立数据库,格式为:

CREATE DATABASE[DatabaseName |?] 2数据库的打开

(1)在项目管理器中打开。(2)通过“打开”对话框打开数据库。(3)使用命令打开数据库,格式为:

OPEN DATABASE[FileName |?][EXCLUSIVE I SHARED] [NOUPDATE] [VALIDATE] 考点2 修改和删除数据库

Visual FoxPro在建立数据库时建立了扩展名分别为dbc、dct和dcx的3个文件,用户不能直接修改这些文件。

Visual FoxPro中修改数据库实际是打开数据库设计器,完成数据库中各种对象的建立、修改和删除等操作。

可以有3种方法打开数据库设计器。(1)从项目管理器中打开数据库设计器。(2)从“打开”对话框中打开数据库设计器。(3)使用命令打开数据库设计器,格式为: MODIFY DATABASE[DatabaseName|?] 在项目管理器中不管删除还是移去数据库文件,都不会删除其所包含的各个对象做口数据表)。如果要在删除数据库的同时删除其所包含的数据表,就必须使用命令,格式为: DELETE DATABASE DatabaseName|?[DELETETABLES][RECYCLE] 小提示:

在Visual FoxPro中,Open DataBase和Modify DataBase命令的区别在于:Open DataBase打开的只是数据库的工作环境,并不会进入数据库设计器;Modify DataBase是打开数据库设计器。4.2 建立数据库表

考点3 在数据库中建立表 在数据库中建立数据表,最直接的方法就是在数据库设计器中利用鼠标右键单击空白处,选择“新建表”命令,在弹出的表设计器中设置数据表结构。另外可以在命令窗口利用OPEN DATA命令先打开数据库,然后利用CREATE命令打开表设计器进行数据表设计,如图4-l所示。

图4-1 表设计器 1字段名

(l)自由表字段名最长为10个字符。(2)数据库表字段名最长为128个字符。(3)字段名必须以字母或汉字开头。

(4)字段名可以由字母、汉字、数字和下划线组成。(5)字段名中不能包含空格。2字段类型和宽度

(1)字符型:可以是字母、数字等各种字符型文本,如用户名称。(2)货币型:货币单位,如货物价格。(3)数值型:整数或小数,如订货数量。(3)浮点型:功能类似于“数值型”,其长度在表中最长可达20位。(4)日期型:由年、月、日构成的数据类型,如订货日期。

(5)日期时间型:由年、月、日、时、分、秒构成的数据类型,如员工上班的时间。(6)双精度型:双精度数慎类型,一般用于要求精度很高的数据。(7)整型:不带小数点的数值类型,如订单的行数。

(8)逻辑型:值为“真”(.T.)或假(.F.),如表示订单是否已执行完。

(9)备注型:不定长的字符型文本。在表中占4个字节,表备注型文件的扩展名为FPT。(10)通用型:用于标记电子表格、文档、图片等OLE对象,在表中占4个字节。(11)字符型(二进制)。(12)备注型(二进制)。3空值

一个字段是否允许为空值与实际应用有关,比如作为关键字的字段是不允许为空值的,而那些在插入记录时允许暂缺的字段值往往允许为空值。4字段有效性组框

在字段有效性组框中可以定义字段的有效性规则、违反规则时的提示信息和字段的默认值。5显示组框

在显示组框下可以定义字段显示的格式、输入的掩码和字段的标题。输入掩码是字段的一种属性,用限制或控制用户输入的格式。标题用于字段显示时的标题,如果不指定标题则显示字段名。当字段名是英文或缩写时,则通过指定标题可以使界面更友好。6字段注释

可以为每个字段添加注释,便于日后或其他人对数据库进行维护。考点4 修改表结构 在Visual FoxPro中可以对表结构任意修改,修改表结构和建立表结构时,表设计器界面完全一样。修改数据表结构时,首先应该用USE命令打开要修改的数据表,然后利用MODIFY STRUCTURE打开表设计器进行修改,具体操作有以下几种。(1)修改已有字段。(2)添加新字段。(3)删除不用的字段。4.3 表的基本操作

考点5 使用浏览器操作表

在交互式工作方式下,最简单、方便的方法就是使用BROWSE浏览器浏览表,打开浏览器的方法有多种。在项目管理器中将数据库展开至表,然后单击“浏览”按钮,或直接在窗口中输入BROWSE命令(首先应该打开表文件)。1浏览器操作

(1)下一记录(下箭头键)。(2)前一记录(上箭头键)。(3)下一页(PageDown键)。(4)上一页(PageUp键)。(5)下一字段(Tab键)。

(6)前一字段(Shift+Tab键)。2修改记录

只需将光标定位到要修改的记录和字段上,就可以进行修改了。3删除记录 Visual FoxPro中删除记录有逻辑删除和物理删除两种,逻辑删除只在记录旁做删除标记(如图4-2所示),必要时可以进行恢复物理删除是在逻辑删除的基础上真正地将记录从表中删除。要在浏览器中删除有删除标记的记录,可选择“表/彻底删除”菜单命令。

图4-2 增加和删除记录

考点6 增加、删除、修改和显示记录的命令 1增加记录

APPEND命令是在表的尾部增加记录,格式有如下两种。格式1:APPEND 格式2:APPEND BLANK 2插入记录

格式:INSERT [BEFORE][BLANK] 3删除记录

删除记录有物理删除和逻辑删除两种,Visual FoxPro用来删除记录的命令如下。(1)设置删除标记的命令

格式:DELETE [FOR lExpressionl] 说明:如果不使用FOR短语指定逻辑条件,则只删除当前记录,否则逻辑删除满足条件的所有记录。

(2)恢复记录的命令。

格式:RECALL [FOR lExpressionl] 说明:使用该命令恢复表中逻辑删除的记录,短语FOR的功能同上。(3)物理删除有删除标记的记录 格式:PACK 说明:此命令用来物理删除当前表中所有带删除标记的记录。(4)物理删除表中的全部记录 格式:ZAP 说明:不管表中记录是否带有删除标记,此命令可以一次性将当前表中的记录全部物理删除,但表结构仍保留使用此命令相当于DELETE ALL与 PACK的连用。4修改记录

在Visual FoxPro中可以交互修改记录,也可以用指定值直接修改记录。(1)用EDIT或CHANGE命令交互式修改。(2)用REPLACE命令直接修改。5显示记录

格式:LIST/DISPLAY [[FIELDS]FieldList][FOR LExpressionl][OFF] [TO PRINTER[PROMPT]|TO FILE FileName] 考点7 查询定位的命令(1)用GOTO命令直接定位(2)SKIP命令

(3)用LOCATE命令定位。

LOCATE命令是按条件定位记录位置,格式为: LOCATE FOR IExpressionl LOCATE命令常用结构如下。LOCATE FOR IExpression1 DO WHILE FOUND()****处理数据*** CONTINUE ENDDO 小提示:

连续使用DELETE ALL和PACK命令,其操作结果与ZAP命令一样,都可以将表中的所有记录一次性物理删除。4.4 索引与排序

考点8 索引的基本概念

索引是对表中的记录按照某种逻辑顺序重新排列。

(l)主索引:在指定的字段或表达式中不允许出现重复值的索引,且一个表只能创建一个主索引。

(2)候选索引:具有与主索引相同的性质和功能,但一个表中可以创建多个候选索引,其指定的字段或表达式中也不允许出现重复值。

(3)唯一索引:它的“唯一性”是指索引项的唯一,而不是字段值的唯一。但在使用该索引时,重复的索引段值只有唯一一个值出现在索引项中。

(4)普通索引:不仅允许字段中出现重复值,并且索引项中也允许出现重复值。考点9 索引的建立 1单项索引

在表设计器界面中有“字段”、“索引”和“表“3个选项卡,在“字段”选项卡中定义字段时就可以直接指定某些字段是否为索引项,用鼠标单击定义索引的下拉列表框可以看到3个选项:无、升序和降序(默认是无)。如果选定升序或降序,则在对应的字段上建立一个普通索引,索引名与字段名同名,索引表达式就是对应的字段。2复合字段索引

(1)在“索引”选项卡中的索引名栏目中输入索引名。(2)在索引类型的下拉框中选择索引类型。

(3)单击表达式栏右侧的按钮,打开表达式生成器。

(4)在“表达式”文本框中输入索引表达式(如图4-3所示),最后单击“确定”按钮。

图4-3 表达式生成器界面

3使用命令建立索引

格式:INDEX ON eExpression TO IDXFileName | TAG TagName[OF CDXFileName] [FOR lExpression][COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE] 从索引的组织方式来讲,索引共有3种类型。(1)单独的IDX索引,是一种非结构索引。

(2)采用非默认名的CDX索引,也是一种非结构复合索引。(3)与表同名的CDX索引,是结构复合索引。结构复合索引文件可随表的打开而打开,在同一个索引文件中能包含多个索引方案或索引关键字,在添加、更改或删除记录时自动维护索引。考点10 索引的使用

(l)打开索引文件,格式为: SET INDEX TO Indexfilelist(2)设置当前索引,格式为:

SET ORDER TO[nIndexNumber |[TAG]TagName][ASCENDING|DESCENDING](3)使用索引快速定位,格式为:

SEEK eExpression[ORDER nIndexNumber|[TAG]TagName][ASCENDING| DESCENDING](4)删除索引,格式为:

DELETE TAG TagNamel

&&TagName1为索引名 要删除全部索引,可使用命令:DELETE TAG ALL 考点11 排序

索引可以使用户按照某种顺序浏览或查找表中的记录,这种顺序是逻辑的,如要对表中的记录按物理顺序重新排列,可使用SORT命令,格式为: SORT TO TableName ON FieldNainel[/A}/D][/C][,FieldName2[/A|/D][/C]„][ASCEND ING | DESCENDING][FOR lExpressionl][FIELDS FieldNameList] 小提示:

在数据库表中只能有一个主索引,且只能在表设计器中建立。其他3种索引可以建立多个,既能在表设计器中建立,也能以命令方式建立,但在自由表中不能为其创建主索引,只能创建后3种索引,同样也可以建立多个。4.5 数据完整性

考点12 实体完整性与主关键字

(1)实体完整性是保证表中记录唯一的特性,即在同一个表中不允许有重复的记录出现。在Visual Pro中通过主索引和候选索引来保证数据的实体完整性。

(2)如果一个字段的值或几个字段的值能够唯一标志表中的一条记录,则称这个字段为候选关键字。在Visual FoxPro中将主关键字称做主索引,将候选关键字称为候选索引。考点13 参照完整性与表之间的关联 1建立表之间的联系

参照完整性与表之间的联系有关,其含义大致是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,检查对表的数据操作是否正确。

在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索引,然后通过父表主索引和子表的普通索引建立起两个表之间的联系。2设置参照完整性约束

建立参照完整性之前,首先必须清理数据库,即物理删除表中被逻辑删除的记录,然后选择两个关联表之间的连线并选择“数据库”、“编辑参照完整性”菜单命令,打开如图4-4所示的“参照完整性生成器”对话框。

图4-4 “参照完整性生成器”对话框 小提示:

欲建立两表之间的联系,首先用鼠标选中一个表的主索引,按住鼠标左键不放,并拖动鼠标到另一个表的索引上,这时鼠标箭头变成小矩形状,最后释放鼠标。4.6 自由表

考点14 数据库表与自由表

自由表是不属于任何数据库的表。在没有打开数据库时,所建立的表就是自由表。数据库表与自由表之间可以相互转化。1建立自由表的方法

(1)在项目的“数据”选项卡中选择“自由表”,单击“新建”按钮。

(2)在没有打开数据库的情况下,通过“新建”对话框,选择“表”并单击“新建文件”按钮。

(3)在没有打开数据库的情况下,在命令窗口输入CREATE命令,新建自由表。2数据库表相对于自由表的特点

(l)数据库表可以使用长表名,在表中可以使用长字段名。(2)可以为数据库表中的字段指定标题和添加注释。(3)可以为数据库表中的字段指定默认值和输入掩码。(4)数据库表的字段有默认的控件类。

(5)可以为数据库表规定字段级规则和记录级规则。

(6)数据库表支持主关键字、参照完整性和表之间的联系。(7)支持INSERT,UPDATE和DELETE事件的触发器。考点15 将自由表添加到数据库中

(1)在数据库设计器中可利用“数据库”→“添加表”菜单命令,在“打开”对话框中选择自由表文件,将其添加到数据库中。

(2)直接用命令方式将自由表添加到当前数据库中,格式为: ADD TABLE TableName|?[NAME LongTableName] 考点16 从数据库中移出表

(1)直接利用命令移出数据库表,格式为:

REMOVE TABLE TableName |?[DELETE][RECYCLE](2)从项目管理器中移出数据库。(3)从数据库设计器中移出数据库。4.7 多个表的同时使用

在Visual FoxPro中,一次可以打开多个数据库,每个数据库都可以打开多个数据表。考点17 多工作区的概念

指定工作区的命令格式为SELECT nWorkArea | cTableAlias,每个表打开后都有两个默认别名,一个是表的自身名,另一个是工作区所对应的别名。在前10个工作区中指定的默认别名是工作区字母A~J,其后面的工作区所对应的别名为W11~W32767。

另外还可以在USE命令中通过ALIAS短语指定表别名。

例如:USE学生表IN 1 ALIAS student,为学生表指定了别名student。考点18 使用不同工作区的表

除了使用SELECT命令切换不同的工作区之外,也可以在一个工作区使用其他工作区的数据表。即通过短语:IN nWorkArea|cTableAlias。在表别名后加上“.”或“->”操作符,可在一个工作区中直接调用其他工作区中数据表的记录。例如当前工作区号为2,要调用1区上学生表中的班级号的相关字段,可使用命令:

学生表.班级号 或学生表->班级号或A.班级号或A->班级号 考点19 表之间的关联

使用SET RELATION命令建立表间记录指针的临时联系(关联)。

格式:SET RELATION TO eExpressionl INTO nWorkAreal I cTableAliasl。

说明:eExpressionl是指建立临时联系的索引关键字,一般是父表的主索引,子表的普通索引。用工作区号 nWorkAreal或表的别名cTableAlias I说明临时联系是由当前工作区的表到哪个表。利用SET RELATION TO命令将取消当前表到所有表的临时联系。4.1 SQL概述 5.1 SQL概述 考点1 概述 1概念

SQL是结构化查询语言Structured Query Language的缩写。它包括数据查询、数据定义、数据操纵和数据控制4部分。Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它没有提供数据控制功能。2 SQL语言的特点

(1)一种一体化的语言。

(2)一种高度非过程化的语言。(3)语言非常简洁。

(4)可以直接以命令方式交互使用,也可以以程序方式使用。5.2 查询功能

SQL的核心是查询,基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可嵌套执行,如表5-1所示。

表5-1 SQL命令动词

考点2 简单查询 1简单查询

简单查询是由SELECT和FROM短语构成的无条件查询,或由SELECT,FROM和WHERE短语构成的条件查询。2简单的连接查询

连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。3嵌套查询

嵌套查询所要求的结果出自一个关系,但关系的条件却涉及多个关系。其内层基本上也是一个SELECT-FROM-WHERE查询语句。这种简单嵌套查询,可使用谓词IN或NOT IN来判断在外层的查询条件中是否包含内层查询的结果。考点3 特殊运算符号 1 BETWEEN„AND„

含义:该查询的条件是在„„范围之内,相当于用AND连接的一个逻辑表达式。2 LIKE 含义:它是一个字符串匹配运算符,与之搭配使用的通配符包括“*”和“?”。考点4 排序

使用SQL SELECT可以将查询结果进行排序,排序的短语是ORDER BY。格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]„] 说明:可以按升序(ASC)或降序(DESC)排序,允许按一列或多列排序。考点5 计算查询 1简单的计算查询

SQL不仅具有一般的检索能力,而且还有计算方式的检索,用于计算检索的函数有:COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(求最大值)及MIN(求最小值)。2分组与计算查询

在SQL SELECT中可以利用GROUP BY子句进行分组计算查询。

格式:GROUP BY GroupColumn[,GroupColumn„][HAVING FilterCondition] 说明:可以按一列或多列分组,还可以用HAVING子句进一步限定分组的条件。它必须跟在GROUP BY子句之后,不可单独使用,与WHERE子句并不矛盾。考点6 别名和自连接查询

(1)SQL语句允许在二OM短语中为关系定义别名,格式为:一 <关系名><别名>(2)SQL不仅可以对多个关系进行连接操作,也可以将同一关系与其自身进行连接,这种连接就称为自连接。在关系的自连接操作中,别名是必不可少的。考点7 使用量词和谓词的查询

与嵌套查询或子查询有关的运算符,除了IN和NOT IN运算符外,还有两类与子查询有关的运算符,它们有以下两种格式。

(1)<表达式><比较运算符>[ANY I ALL | SOME](子查询)(2)[NOT]EXISTS(子查询)EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。其本身并没有进行任何运算或比较,只用来返回子查询结果。考点8 超链接查询

(1)在新的SQL标准中支持两个新的关系连接运算符,这两个新的连接运算是左连接(*=)和右连接=*):首先保证一个表中满足条件的元组都在结果表中,然后将满足连接条件的元组与另一个表的元组进行连接,不满足连接条件的则应将来自另一个表的属性值置为空值。在一般SQL中超链接运算符是“*=”(左连接)和“=*”(右连接)。(2)在Visual FoxPro中不支持超链接运算符“*=”和“=*”,Visual FoxPro有专门的连接运算。下面拼出SQL中超链接的部分语句格式: SELECT…

FROM Table INNER|LEFT|RIGHT|FULL JOIN Table ON JoinCondition WHERE…

考点9 Visual FoxPro中SQL SELECT的几个特殊选项(l)显示部分结果,格式为: TOP nExpr[PERCENT](2)将查询结果存放到数组中,格式为: INTO ARRAY ArrayName(3)将查询结果存放到临时文件中,格式为: INTO CURSOR CursorName(4)将查询结果存放到永久表中,格式为: INTO DBF|TABLE TableName(5)将查询结果存放到文本文件中,格式为: TO FILE FileName[ADDITIVE](6)将查询结果直接输出到打印机,格式为: TO PRINTER[PROMPT] 5.3 操作功能 考点10 插入

Visual FoxPro支持两种SQL插入命令的格式,一种是标准格式,另一种是特殊格式。1标准格式

INSERT INTO dbf name[(frame 1[,fname2,„])] VALUES(eExpressionl[,eExpression2,„])2特殊格式

INSERT INTO dbf _name FROM ARRAY ArrayName|FROM MEMVAR 考点11 更新

SQL的数据更新命令格式如下: UPDATE TableName SET Column_Namel=eEpressionl[,Column_Name2=eExpression2„] WHERE Condition 说明:利用WHERE字句指定条件,以更新满足条件的一些记录的字段值,并巨一次可更新多个字段;如果不使用WHERE子句,则更新全部记录。考点12 删除

SQL从表中删除数据的命令格式如下:

DELETE FROM TableName[WHERE Condition] 说明:FROM指定从哪个表中删除记录,WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录。小提示:

当一个表定义一个主索引或候选索引后,由于相应的字段具有关键字的特性,即不能为空,所以只能用此命令插入记录、)APPEND和INSERT都是插入一条空白记录再输入各字段的值,故不能用它们来插入记录。5.4 定义功能 考点13 表的定义

利用SQL命令建立的数据表同样可以完成在表设计器中设计表的所有功能。格式:CREATE TABLE I DBF TableNamel[NAME LongTableName][FREE](FieldNarnel FieldType[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK IExpressionl [ERROR cMessageTextl]] [DEFAULT eExpressionl] [PRIMARY KEY I UNIQUE] [PEFERENCES TableName2[AG TagName1]] [NOCPTRANS] [,FieldName2„] [,PRIMARY KEY eEpression2 TAG TagName2|,UNIQUE eExpression3 TAG TagName3] [,FOREIGN KEY eExpression4 TagName4[NODUP] REFERENCES TableName3 [TAG TagName5]] [,CHECK lExpression2[ERROR cMessageText2]])|FROM ARRAY ArravNasne 说明:此命令除了建立表的基本功能外,还包括满足实体完整性的主关键字(主索引)PRIMARY KEY、定义域完整性的CHECK约束及出错提示信息ERROR、定义默认值DEFAULT等,另外还有描述表之间联系的FOREIGN KEY和REFERENCES等。考点14 表的删除

利用SQL命令删除表,可直接使用语句,格式为: DROP TABLE Table_name 说明:如果删除的是自由表,则应该将当前打开的数据库先关闭,才能进行删除。如果删除数据库表,则要先打开数据库,在数据库中进行操作二否则,即使删除了数据库表,但记录在数据库中的信息并没有被删除,此后会出现错误提示。考点15 表结构的修改

修改表结构的命令是ALTER TABLE,该命令有3种格式。

(1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl] [PRIMARY KEY |UNIQUE] [REFERENCES TableName2[TAG TagNamel〕](2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL] [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2] [DROP DEFAULT][DROP CHECK](3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3] [SET CHECK lExpression3[ERROR cMessageText3] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]] [DROP PRIMARY KEY〕

[ADD UNIQUE eExpression4[TAG TagName3[FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY[eExpression5] TAG TagName4[FOR lExpression6] REFERENCES TableName2[TAG TagName5]] [DROP FOREIGN KEY TAG TagName6[SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] 考点16 视图的定义 1视图的概念及其定义(l)视图的概念。

Visual FoxPro中视图是一个虚拟的表,可以是本地的、远程的或带参数的。(2)视图的定义,格式为:

CREATE VIEW view name[(column_name[,column_name]„)] AS select_statement 2从单个表派生出来的视图

视图一经定义,就可以和基本表一样进行各种查询,也可以进行一些修改操作。对于最终用户来说,有时并不需要知道操作的是基本表还是视图。3从多个表派生出来的视图

视图一方面可以限定对数据的访问,另一方面又可以简化对数据的访问。4视图的删除

视图由于是从表派生出来的,所以不存在修改结构的问题,但是视图可以删除。格式:DROP VIEW<视图名> 5关于视图的说明

在关系数据库中,视图始终不真正含有数据,它总是原有表的一个窗口。所以,虽然视图可以像表一样进行各种查询,但是插入、更新和删除操作在视图上却有一定限制。在一般情况下,当一个视图是由单个表导出时可以进行插入和更新操作,但不能进行删除操作;当视图是从多个表导出时,插入、更新和删除操作都不允许进行。这种限制是很有必要的,它可以避免一些潜在问题的发生。5.1 查询与视图

考点1 查询设计器 1查询的概念

查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。查询以扩展名为QPR的文件保存在磁盘上的,这是一个文本文件,它的主体是SQL SELECT语句。2查询的建立

建立查询可以使用“查询设计器”,但它的基础是SQL SELECT语句。建立查询的方法有以下几个方面。

(l)可以利用CREATE QUERY命令打开查询设计器建立查询。(2)可以利用“新建”对话框打开查询设计器建立查询。

(3)可以在项目管理器的“数据”选项卡中打开查询设计器建立查询。(4)可直接编辑QPR文件建立查询。建立查询时,首先进入如图6-1所示的界面选择用于建立查询的表或视图,选择表或视图后,单击“添加”按钮。最后单击“关闭”按钮,进入如图6-2所示的查询设计器界面。

图6-1 为查询选择表或视图

查询设计器中的各选项卡和SQL SELECT语句的各短语是相对应的,对应关系如下。“字段”――SELECT短语,用于指定要查询的数据 “连接”――JOIN ON短语,用于编辑连接条件。“筛选”――WHERE短语,用于指定查询条件。

“排序依据”――ORDER BY短语,用于指定排序字段和排序方式。“分组依据”――GROUP BY短语和HAVING短语,用于分组。

图6-2 查询设计器 3查询的运行

运行查询有下列两种方法。

(1)可以在项口管理器的“数据”选项卡中,展开“查询”选项,然后选择要运行的查询文件,单击“运行”按钮,可查看查询结果。(2)在命令窗门执行命令DO QueryFile。

注意:此处的查询文件名是全名,包括扩展名QPR。4查询去向

设计查询的目的不只是完成一种查询功能,在查询设计器中可以根据需要为查询输出定位查询去向。通过“查询”菜单卜的“查询去向”,或在“查询设计器”工具栏中单击“查询去向”按钮。“查询去向”对话框如图6-3所示

图6-3 “查询去向”对话框 各去向的含义如下。

(1)浏览:在“浏览”(BROWSE)窗口中显示查询结果,这是默认的输出去向。(2)临时表:将查询结果存储于一个命名的临时只读表中。(3)表:将结果保存在一个命名的数据表文件中。(4)图形:查询结果可以用于Microsoft Graph。

(5)屏幕:在Visual FoxPro主窗口或当前活动输出窗口中显示查询结果。(6)报表:将结果输出到一个报表文件。(7)标签:将结果输出到一个标签文件。小提示:

在7种输出去向中,只有“浏览”和“屏幕”两种输出去向才能直接看到查询结果。6.2 视图

考点2 视图的概念与建立 1视图的概念

视图是操作表的一种手段,通过视图可以查询表,也可以更新表。视图是根据表定义的,因此视图基于表,而视图可以使应用更灵活,因此它又超越表。视图是数据库中的一个特有功能,只有在包含视图的数据库打开时才能使用。

视图兼有“表”和“查询”的特点,与查询相类似的地方是可以用来从一个或多个相关联的表中提取有用信息;与表类似的地方是可以用来更新其中的信息,并将结果永久性保存在磁盘上。

2视图的建立

(l)用CREATE VIEW命令打开视图设计器建立视图。(2)利用“新建”对话框打开视图设计器建立视图。

(3)在项目管理器的“数据”选项卡中打开视图设计器建立视图。(4)利用SQL命令CREATE VIEW...AS...建立视图。3视图设计象

视图设计器(如图6一所示)与查询设计器基本上一样,主要有以下几点不同。(1)视图的结果保存在数据库中,在磁盘上找不到类似的文件。

(2)视图可以用来更新数据,因此在设计器中多了一个“更新条件”选项卡。(3)在视图中没有“查询去向”的问题。

图6-4 视图设计器

考点3 远程视图与连接

为了建立远程视图,必须首先建立连接远程数据库的“连接”,“连接”是Visual FoxPro数据库中的一种对象。1定义数据源和连接

数据源一般是ODBC数据源,开放数据库互连ODBC是一种连接数据库的通用标准。为了定义ODBC数据源,必须首先安装ODBC驱动程序。2建立连接

建立连接的方法有以下几种。(1)用CREATE CONNECTION命令打开“连接设计器”,或完全用命令方式建立连接。(2)通过“新建”对话框建立连接。

(3)在项目管理器的“数据”选项卡中建立连接。3设计远程视图

利用数据源或连接建立的远程视图的SQL语法要符合远程数据库的语法,例如,SQL Server的语法和Visual FoxPro的语法就有所区别。考点4 视图与数据更新

视图是根据基本表派生出来的,所以把它叫做虚拟表为了通过视图能够更新基本表中的数据,需要在视图设计器的“更新条件”选项卡中的左下角选中“发送SQL更新”复选框。1指定可更新的表

如果视图是基于多个表的,默认可以更新“全部表”的相关字段,如果要指定只能更新某个表的数据,则可以通过“表”下拉列表框选择表 2指定可更新的字段

在“字段名”列表框中列出了与更新有关的字段,在字段名左侧有两列标志,“钥匙”表示关键字,“铅笔”表示更新通过单击相应列可以改变相关的状态,默认可以更新所有非关键字字段,并且通过基本表的关键字完成更新,即Visual FoxPro用这些关键字字段来唯一标识那些已在视图中修改过的基本表中的记录建议不要改变关键字的状态,不要试图通过视图来更新基本表中的关键字字段值,如有必要,可以指定更新非关键字字段值 3检查更新的合法性 如图6-1所示,“SQL WHERE子句包括”框中的选项决定哪些字段包含在UPDATE或DELETE语句的WHERE子句中,Visual FoxPro正是利用这些语句将在视图中修改或删除的记录发送到远程数据源或基本表中,WHERE子句就是用来检查自从提取记录用于视图中后,服务器上的数据是否已经改变。“SQL WHERE子句包括”框中各选项的含义如下。

(l)关键字段:当基本表中的关键字字段被改变时,更新失败。

(2)关键字和可更新字段:当基本表中任何标记为可更新的字段被改变时,更新失败。

(3)关键字和已修改字段:当在视图中改变的任一字段的值在基本表中已被改变时,更新失败。

(4)关键字和时间戳:当远程表上记录的时间戳在首次检索之后被改变时,更新失败。4使用更新方式

“使用更新”框的选项决定当向基本表发送SQL更新时的更新方式。

(1)SQL DELETE然后INSERT:先用SQL DELETE命令删除基本表中被更新的旧记录,再用SQL INSERT命令向基本表中插入更新后的记录。

(2)SQL UPDATE:使用SQL UPDATE命令更新基本表。考点5 使用视图

视图建立后,不但可以用它来显示和更新数据,而且可以通过调整它的属性来提高性能,它的使用类似于表。1视图操作

(1)在数据库中使用USE命令打开或关闭视图。(2)在“浏览器”窗口中显示或修改视图中的记录。(3)使用SQL语句操作视图。

(4)在文本框、表格控件、表单或报表中使用视图作为数据源。2使用视图

视图一经建立就基本可以像基本表一样使用,适用于基本表的命令基本都可以用于视图。比如在视图上也可以建立索引,此索引当然是临时的,视图一关闭,索引自动删除,多工作区时也可以建立联系等。但视图不可以用MODIFY STRUCTURE命令修改结构。因为视图毕竟不是独立存在的基本表,它是由基本表派生出来的,只能修改视图的定义。

小提示:

查询与视图的区别是:查询可以定义输出去向,可以将查询的结果灵活地应用于表单、报表、图形等各种场合,但是利用查询不可以修改数据;而利用视图可以修改数据,可以利用SQL将对视图的修改发送到基本表,特别是对于远程表的操作,利用视图是非常有效的。

6.1表单与控件 面向对象的概念 考点1 对象与类 1对象(Object)客观世界里的任何实体都可以被视为对象。对象可以是具体事物,也可以指某些概念二(1)属性:用来表示对象的状态。(2)方法:用来描述对象的行为。2类(Class)类是对一类相似对象性质的描述。同类对象具有相同的性质:相同的属性及方法。考点2 子类与继承 1继承

继承表达了一种从一般到特殊的进化过程。在面向对象的方法里,继承是指基于现有类的方法和属性。2类

我们把新类称为现有类的子类,而把现有类称为新类的父类。一个子类的成员一般包括以下两个方面。

(l)从其父类继承的成员,包括属性、方法。(2)由子类自己定义的成员,包括属性、方法。8.2 Visual FoxPro基类简介 考点3 Visual FoxPro基类

Visual FoxPro中所有基类共有的属性如表8-1所示。表8-1 Visual FoxPro基类的最小属性集

(l)在编程方式里,对象的生成通常使用CREATE OBJECT函数来完成,格式为: CREATE OBJECT(<类名>[,<参数1>,<参数2>,„])说明:函数基于指定的类生成一个对象,并返回对象的引用。(2)对象属性访问及对象方法调用的基本格式为: <对象引用>.<对象属性> <对象引用>.<对象方法>[(„)] 考点4 容器与控件

Visual FoxPro中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。

(l)控件:是一个可以以图形化的方式显示出来并能与用户进行交互式的对象。(2)容器:可看成是一个特殊的控件,它能包容其他的控件或容器。(3)层次:容器内的包容关系形成r对象的嵌套层次关系。对象的层次概念与类的层次概念是两个完全不同的概念对象的层次关系指的是包容与被包容的关系,而类的层次指的是继承与被继承的关系。

在对象的嵌套层次关系中,要引用其中的某个对象,需要指明对象在嵌套层次中的位置。对象引用的几个属性或关键字如表8-2所示。表8-2 对象引用的几个属性或关键字

考点5 事件

事件是一种由系统预先定义而由用户或系统发出的动作。它作用于对象,对象识别事件并做出相应的反应。与方法集可以无限扩展不同的是,事件集是固定的。用户不能定义新的事件。表8-3列出了VisualFoxPro基类的最小事件集,不管哪个基类都包含这些事件。表8-3 Visual FoxPro基类的最小事件集

8.3 创建与管理表单

考点6 创建、修改及运行表单 1使用表单向导创建表单

调用表单向导的方法有多种,这里只做简单介绍。

(l)在“项目管理器”窗口中,选择“文档”选项卡,选择其中的“表单”图标。(2)单击“新建”按钮,系统弹出“新建表单”对话框。(3)单击“表单向导”图标按钮,打开“向导选取”对话框。(4)从列表框中选择要使用的向导,然后单击“确定”按钮。2使用表单设计器创建表单

可以使用以下3种方法中的任何一种调用表单设计器。(1)在项目管理器环境下调用。(2)菜单方式调用。(3)命令方式调用。3修改已有的表单

一个表单无论是通过任何途径创建的,都可以使用表单设计器进行编辑修改。我们可以通过项目或使用命令“MODIFY FORM<表单名>”来打开表单设计器。4运行表单

可以采用下列方法运行通过表单设计器创建的表单文件。

(1)在项目管理器窗口中,选择要运行的表单,然后单击窗口里的“运行”按钮。

(2)在表单设计器环境下,选择“表单”菜单中的“执行表单”命令,或单击标准工具栏上的“运行”按钮。

(3)选择“程序”菜单中的“运行”命令,打开“运行”对话框,然后在对话框中指定要运行的表单文件并单击“运行”按钮。(4)在命令窗口中输入命令,格式为:

DO FORM<表单文件名>[NAME<变量名>] WITH<实参>[,<实参>,„][LINKED][NOSHOW] 考点7 管理表单属性和方法

可以向表单添加任意数量的新属性和新方法,并像引用表单的其他属性和方法一样引用它们。Visual FoxPro中表单的属性大约有100个,但绝大多数很少用到。表8-4列出了常用的一些表单属性,这些属性规定了表单的外观和行为。表8-4 表单的常用属性

1创建新属性

向表单添加新属性的方法如F。

(l)选择“表单”菜单中的“新建属性”命令,打开“新建属性”对话框,如图8-1所示。(2)在“名称”文本框中输入新属性的名称。

(3)有选择地在“说明”列表框中输入新建属性的说明信息。

图8-1 “新建属性”对话框

2创建新方法

向表单添加新方法的步骤如下

(l)运行“表单”→“新建方法程序”命令,打开“新建方法程序”对话框,如图8-2所示。(2)在“名称”文本框中输入新方法名。

(3)有选择地在“说明”列表框中输入新建方法的说明信息。

图8-2 “新建方法程序”对话框

3编辑方法或事件代码

在表单设计器中,编辑方法或事件代码的步骤如下。

(1)选择“显示”菜单中的“代码”命令,打开代码编辑窗口,如图8-3所示。(2)从“对象”框中选择方法或事件所属的对象。(3)从“过程”框中指定需要编辑的方法或事件。(4)在编辑区输入或修改方法或事件的代码。

图8-3 代码编辑窗口

考点8 常用事件与方法

下面将以表的形式简单介绍一下表单及控件常用的一些事件和方法,如表8-5所示。表8-5 常用的一些属性和方法

8.4 表单设计器

考点9 表单设计器环境

表单设计器启动后,在Visual FoxPro的主窗口中出现“表单设计器”窗口、“属性”窗口、“表单控件”工具栏、“表单设计器”工具栏及“表单”菜单。1“表单设计器”窗口

用户可视化地添加和修改控件的窗口。2“属性”窗口

如图8-4所示,在“属性”窗口中包括对象框、属性设置框、方法和事件列表。用户可在此窗口中选择表取中的控件,并为表单设计属性、方法及事件。

对于表单及控件的绝大多数属性,其数据类型是固定的。一般来说,要为属性设置一个字符型数值,可以在设置框中直接输入,不需要加定界符。

“属性”窗口可以通过单击“表单设计器”工具栏中的“属性窗口”按钮或选择“显示”菜单中的“属性环境”命令打开或关闭。

图8-4 “属性”窗口

3“表单控件”工具栏

如图8-5所示,利用“表单控件”工具栏可以方便地向表单添加控件。

图8-5 “表单控件”工具栏

除了控件按钮外,“表单控件”工具栏还包含“选定对象”、“按钮锁定”、“生成器锁定”和“查看类”4个辅助按钮。4“表单设计器”工具栏

“表单设计器”工具栏如图8-6所示,它可以通过“显示”菜单中的“工具栏”命令打开或关闭。

图8-6 “表单设计器”工具栏

5“表单”菜单 “表单”菜单中的命令主要用于创建、编辑表单或表单集,如为表单增加新的属性和方法等。考点10 控件的操作与布局 1控件的基本操作

在表单设计器下,对表单上的控件可进行移动、改变大小、复制、删除等操作。(l)选定控件。(2)移动控件

(3)调整控件大小。(4)复制控件。(5)删除控件。2控件布局 利用“布局”工具栏中的按钮,可以方便地调整表单窗口中被选控件的相对大小或位置。“布局”工具栏丁以通过单击“表单设计器”工具栏上的“布局工具栏”按钮或选择“显示”菜单中的“布局工具栏”命令打开或关闭。3设置Tab键次序

当表单运行时,用户可以按Tab键选择表单中的控件,使焦点在控件间移动。控件的Tab键次序决定了选择控件的次序。Visual FoxPro提供了两种方式来设置Tab键次序:交互方式和列表方式。考点11 数据环境 1数据环境的常用属性

常用的两个数据环境是AutoOpenTables和AutoCloseTables,其功能如下。

(1)AutoOpenTables;表示当运行或打开表单时,是否打开数据环境中的表和视图,默认值为逻辑真.T.)。

(2)AutoCloseTables:表示当释放或关闭表单时,是否关闭由数据环境指定的表和视图,默认值为逻辑真(.T.)。

2打开数据环境设计器

可通过单击“表单设计器”工具栏中的“数据环境”按钮,也可以选择“显示”菜单中的“数据环境”命令打开或关闭“数据环境设计器”窗口。3向数据环境中添加表或视图

(1)选择“数据环境”菜单中的“添加”命令,或用鼠标右键单击“数据环境设计器”窗口,然后在弹出的快捷菜单中选择“添加”命令,打开“添加表或视图”对话框。

(2)选择要添加的表或视图并单击“添加”按钮。如果单击“其他”按钮,将调出“打开”对话框,用户可以从中选择需要的表。4从数据环境中移去表或视图

在数据环境设计器环境下,按下列方法从数据环境移去表或视图。(1)在“数据环境设计器”窗口中,单击选择要移去的表或视图。(2)选择“数据环境”菜单中的“移去”命令。

也可以用鼠标右键单击要移去的表或视图,然后在弹出的快捷菜单中选择“移去”命令。当表从数据环境中移去时,与这个表有关的所有关系也将随之消失。5在数据环境中设置关系

如果添加到数据环境的表之间具有在数据库中设置的永久关系,这些关系也会自动添加到数据环境中。如果表之间没有永久关系,可以根据需要在数据环境设计器下为这些表设置关系。6在数据环境中编辑关系

关系是数据环境中的对象,它有自己的属性、方法和事件。常用的关系属性如表8-6所示。

表8-6 常用的关系属性

7向表单添加字段

我们可以利用“表单控件”工具栏方便地将一个标准控件放置到表单上,也可以从“数据环境设计器”窗口、“项目管理器”窗口或“数据库设计器”窗口中直接将字段、表或视图拖入表单,系统将产生相应的控件并与字段相联系。8.5 常用表单控件

考点12 标签(Label)控件 标签的常用属性如下

(1)Caption属性:指定标签的标题文本很多类控件都具有Caption属性。用户可以利用该属性为所创建的对象指定标题文本。

(2)Alignment属性:指定标题文本在控件中的显示对齐方式。该属性包括三个属性值――0、1和2,分别代表左对齐、右对齐和中央对齐。考点13 命令按钮(CommandButton)控件 命令按钮的常用属性如下。

(1)Default属性:该属性默认值为.F.。当属性为.T.时,可称为“确定”按钮,一个表单中只能包含一个“确定”按钮;在Windows中,当焦点不在命令按钮上时,按Enter键,系统将自动执行该命令按钮的Click事件代码、(2)Cancel属性:该属性默认值为.F.。当属性为.T.时,可称为“取消”按钮,在表单中,可通过Esc键执行该命令按钮中的Click事件代码一个表单中可有多个命令按钮的Cancel属性值为.T.。(3)Enabled属性:指定表单或控件能否响应用户引发的事件。默认的属性值为.T.,即对象是有效的,当Enabled=.F.时,只是用来显示只读的信息。

(4)Visible属性:指定对象是可见还是隐藏。默认的属性值为.T.,即对象是可见的。考点14 命令组(CommandGroup)控件

命令组是包含一组命令按钮的容器控件,其常用属性如下。

(1)ButtonCount属性:指定命令组中命令按钮的个数,默认的属性值为2。(2)Buttons属性:用于存取命令组中各按钮的数组。用户可以利用该数组为命令组中的命令按钮设置属性或调用其方法,属性数组下标的取值范围应该在1到ButtonCount属性值之间。(3)Value属性:指定命令组当前的状态。该属性的类型可以是数值型,也可以是字符型。考点15 文本框(TextBox)控件 文本框的常用属性如下。

(1)ControlSource属性:可利用该属性为文本框指定一个字段或内存变量,运行时,文本框中首先显示该变量的内容

(2)Value属性:返回文本框的当前内容。该属性的默认值是空串。(3)PasswordChar属性:指定文本框控件内是显示用户输入的字符还是显示占位符。该属性的默认值是空串,此时没有占位符。当为属性指定一个占位符(例如*)后,文本框中只显示占位符。

(4)InputMask属性:指定在一个文本框中如何输入和显示数据。各种模式符的功能如表8-7所示。

表8-7 模式符及其功能

考点16 编辑框的常用属性如下。

(1)AllowTabs属性:指定编辑框中能否使用Tab键。该属性的默认值为.F.,当按Tab键时,焦点移出编辑框。

(2)HideSelection属性:指定当编辑框失去焦点时,编辑框中选定的文本是否仍显示为选定状态。该属性的默认值为.T.,即当编辑框失去焦点时,编辑框中选定的文本不显示为选定状态(3)ReadOnly属性:指定用户能否编辑编辑框中的内容。如果该属性的默认值为.F.,则叮以编辑编辑框中的内容;当属性值为.T.时,编辑框中的内容为只读。

(4)ScrollBars属性:指定编辑框是否具有滚动条。该属性包括“0-无” 和“2-垂直”两个属性值。

(5)SelStart属性:返回用户在编辑框中所选文本的起始位置或插入点位置。属性的有效取值范围在0与编辑区中的字符总数之间。

(6)SelLength属性:返回用户在控件的文本输入区中所选定字符的数目,或指定要选定的字符数目。

(7)SelText属性:返回用户编辑区内选定的文本。如果没有选定文本,将返回空串。考点17 复选框(CheckBox)控件 复选框的常用属性如下。

(1)Caption属性:用来指定显示在复选框旁边的文字。

(2)Value属性:用来指明复选框的当前状态,共有3种情况:0或.F.表示未被选中;1或.T.表示被选扣;2或.NULL.表示不确定,只在代码中有效。

(3)ControlSource属性:指明与复选框建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是逻辑型或数值型。考点18 选项组(OptionGroup)控件

选项组是包含若干个选项按钮的一种容器控件,其常用属性如下。(1)ButtonCount属性:指定选项组中选项按钮的数目,其默认值为2,(2)Value属性:用于指定选项组中哪个选项按钮被选中。该属性值的类型可为数值k1J或字符型。

(3)ControlSource属性:指明与选项组建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是字符型或数值型

(4)Buttons属性:用于存取选项组中每个按钮的数组,其含义与命令组的Buttons类似。考点19 列表框(ListBox)控件 列表框的常用属性如下

(1)RowSourceType属性与RowSource属性:RowSourceType属性指明列表框中的条目数据源的类型,RowSource属性指定列表框的条目数据源。RowSourceType属性共有10种取值范围:0-无(默认值)、1-值,2-别名、3-SQL语句,4-查询(.qpr),5-数组,6-字段,7-文件,8-结构,9-弹出式菜单。(2)List属性:用以存取列表框中数据条目的字符串数组。(3)ListCount属性:指明列表框中数据条目的数目。(4)ColumnCount属性:指定列表框的列数。

(5)Value属性:列表框中被选中的条目。该属性可以是数值型,也可以是字符型。

(6)ControlSource属性:该属性在列表框中的用法和在其他控件中的用法有所不同。用户可以通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果。(7)Selected属性:指定列表框内的某个条目是否处于选定状态〕(8)MultiSelect属性:指定用户在列表框控件内进行多重选定。其中,0或.F.表示不允许多重选定,为系统默认值;1或.T.表示允许多重选定。考点20 组合框(ComboBox)控件

组合框与列表框类似,也是用于提供一组条目供用户从中选择,组合框的特点如下。(1)对于组合框来说,通常只有一个条目是可见的。(2)组合框不提供多重选定的功能。

(3)组合框可通过Style属性设置其形式,共有两种:0表示下拉组合框,2表示下拉列表框。考点21 表格(Gride)控件 表格是一种容器对象。一个表格对象由若十列对象组成,每个列对象包含一个标头对象和若干控件,它们都有自己的属性、事件和方法。1表格的常用属性

(l)RecordSourceType属性与RecordSource属性:RecordSourceType属性指明表格数据源类型,RecordSource属性指定表格数据源。其中数据类型共有5种取值范围:0-表、1-别名(默认值)、2-提示、3-查询(.qpr)、4-SQL语句。

(2)ColumnCount属性:指定表格的列数,即一个表格对象所包含的列对象数目。(3)LinkMaster属性:用于指定表格控件中所显示的子表的父表名称。(4)ChildOrder属性:用于指定建立一对多的关联关系,子表所要用到的索引。该属性类似于SET ORDER命令。

(5)RelationalExpr属性:确定基于主表字段的关联表达式。2常用的列属性

(1)ControlSource属性:指定要在列中显示的数据源,常见的是表中的一个字段。

(2)CurrentControl属性:指定列对象中的一个控件,该控件用以显示和接收列中活动单元格的数据。

(3)Sparse属性:用于确定CurrentControl属性是影响列中的所有单元格还是影响活动单元格。

3常用的标头(Header)属性

(1)Caption属性:指定标头对象的标题文本,显示于列顶部。(2)Alignment属性:指定标题文本在对象中显示的对齐方式。考点22 页框(PageFrame)控件

页框是包含页面(Page)的容器对象,其常用属性如下。

(1)PageCount属性:用于指明一个页框对象所包含的页对象的数量。最小值为0,最大值为99。

(2)Pages属性:该属性是一个数组,用于存取页框中的某个页对象。(3)Tabs属性:指定页框中是否显示页面标签栏。

(4)TabStretch属性:如果页面标题文本太长,可通过设置该属性利用多行显示。其中0表示多重行,1表示单行(默认值)。

(5)ActivePage属性:返回页框中活动页的页号,或使页框中的指定页 7.1菜单设计

9.1 Visual FoxPro系统菜单 考点1 菜单结构 Visual FoxPro支持两种类型的菜单:条形菜单和弹出式菜单。菜单项的名称显示于屏幕供用户识别,菜单及菜单项的内部名称或选项序号则用于在代码中引用。每一个菜单项都可以选择设置一个热键和一个快捷键。无论哪种类型的菜单,当选择某个选项时都会有一定的动作,这个动作可以是下列3种情况之一:执行一条命令、执行一个过程或激活另一个菜单。考点2 系统菜单 Visual FoxPro系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。条形菜单的内部名字为_MSYSMENU,也可看做是整个菜单系统的名字。

条形菜单中常见选项的名称及内部名字如表9-1所示,各弹出式菜单的内部名字如表9-2所示。表9-3的是“编辑”菜单中常用选项的选项名称和内部名字。表9-1 主菜单(MSYSMENU)常见选项

表9-2 弹出式菜单的内部名字

表9-3 “编辑”菜单(_MEDIT)常用选项

通过SET SYSMENU命令可以允许或禁止在程序执行时访问系统菜单,也可以重新配置系统菜单,格式如下。

SET SYSMENU ON|OFF AUTOMATIC |TO[<弹出式菜单名表>] |TO[<条形菜单项名表>] |TO[DEFAULT]|SAVE|NOSAVE 小提示:

如不带任何参数,直接SET SYSMENU TO命令,将屏蔽系统菜单,使系统菜单不可用。9.2 下拉式菜单设计

考点3 菜单设计的基本过程

用菜单设计器设计下拉式菜单的基本过程如下。(l)调用菜单设计器。

(2)在“菜单设计器”窗口中定义菜单,指定菜单的各项内容,定义完成后,通过菜单命令“保存”或直接使用快捷键Ctrl+W保存菜单。

(3)通过菜单命令“菜单”*“生成”命令,产生可执行的菜单程序文件(MPR)。

(4)在命令窗口中,使用DO命令执行菜单文件,此处的文件扩展名MPR不能默认。菜单设计的基本流程如图9-1所示。

图9-1 菜单设计的基本流程图 考点4 定义菜单

1“菜单设计器”窗口

“菜单设计器”窗口每页显示和定义一个菜单,可以是条形菜单(菜单栏),也可以是弹出式菜单(子菜单)。“菜单设计器”窗口打开时,首先显示和定义的是条形菜单,即主菜单名。窗口的左边是一个列表框,其中每一行定义当前菜单的一个菜单项,包括“菜单名称”、“结果”和“选项”3列内容(如图9-2所示)。(1)“菜单名称”列。(2)“结果”列。(3)“选项”列。2“显示”菜单

在菜单设计一器环境下,系统“显示”菜单会出现两条命令。(1)“常规选项”对话框。(2)“菜单选项”对话框。

图9-2 “菜单设计器”窗口 考点5 用编程方式定义菜单

无论是条形菜单还是弹出式菜单,都可以通过命令进行定义和设计。此处介绍几种有关菜单定义的简单命令。(1)条形菜单定义。(2)弹出式菜单定义。

考点6 为顶层表单添加菜单

为顶层表单添加下拉式菜单的方法和过程如下。(1)在“菜单设计器”窗口中设计好下拉式菜单。

(2)打开“常规选项”对话框,选中对话框右下角的“顶层表单”复选框。(3)将表单的ShowWindow属性设置为2,使之成为顶层表单。(4)在表单的Init事件中添加调用菜单的程序代码: DO<文件名>WITH This[,“<菜单名>”] 此处的<文件名>是指被调用的菜单程序文件(MPR),<菜单名>是为被添加的下拉式菜单的条形菜单指定的一个内部名字。

(5)在表单的Destroy事件中添加清除菜单的程序代码: RELEASE MENU<菜单名>[EXTENDED] 其中EXTENDED表示在清除条形菜单时一起清除其下属的所有子菜单。9.3 快捷菜单设计

考点7 快捷菜单的建立与执行

与下拉式菜单相比,快捷菜单没有条形菜单,只有弹出式菜单。建立快捷菜单的方法和过程如下。

(1)打开“新建”对话框二

(2)在“新建”对话框中选择“菜单”选项.单击“新建文件”按钮。

(3)在“新建菜单”对话框中选择“快捷菜单”选项,打开“快捷菜单设计器”窗口。

(4)用与设计下拉式菜单相似的方法,在“快捷菜单设计器”窗口中设计快捷菜单,生成菜单程序文件。

(5)在快捷菜单的“清理”代码中添加清除菜单的命令,使得在选择、执行菜单命令后能及时清除菜单,释放其所占用的内存空间,格式为: RELEASE POPUPS<快捷菜单名>[EXTENDED](6)在设计器环境下,选定需要添加快捷菜单的对象。

3.计算机二级MS office应用考点重点 篇三

1.一维数组的定义方式为:

类型说明符数组名[常量表达式]

(1)数组名的命名方法与变量名相同,遵循标识符命名规则;

(2)数组是用方括号括起来的常量表达式,不能用圆括号;

(3)常量表达式表示数组元素的个数,即数组的长度,数组的下标从0开始,下标的最大值为:常量表达式-1;

(4)常量表达式中可以包括常量和符号常量,不能包括变量。

可以用赋值语句或输入语句使数组中的元素得到值,但要占用运行时间。可以使数组在运行之前初始化,即在编译阶段使之得到初值。

2.对数组初始化可以用以下方法实现:

(1)在定义数组时对数组元素赋以初值。如:

staticinta[10]={0,1,2,3,4,5,6,7,8,9};

经过上面的定义和初始化后,a[0]=0,a[1]=1,…,a[9]=9。

(2)初始化时可以只对一部分元素赋初值。例如:

staticinta[10]={0,1,2,3,4};

定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素初值为0。

(3)如果想使一个数组的元素值全部为0,可以用下面的方法:

staticinta[10]={0,0,0,0,0,0,0,0,0,0};

不能用:

staticinta[10]={0*10};

如果对static型数组不赋初值,系统会对定义的所有数组元素自动赋以0值。

(4)在对全部数组元素赋初值时,可以不指定数组长度。

3.一维数组的引用方法是:

C语言规定不能一次引用整个数组,引用时只能逐个元素引用,数组元素的表示形式为:

数组名[下标]

下标可以是整型常量或整型表达式。如:

a[0]=a[5]+a[7]-a[2*3];

二维数组的定义、初始化和引用

1.二维数组定义的一般形式为

类型说明符数组名[常量表达式][常量表达式]

C语言采用上述定义方法,我们可以把二维数组看做是一种特殊的一维数组:它的元素又是一维数组。在C语言中,二维数组中元素的排列顺序是:先按行存放,再按列存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。

2.二维数组的初始化:二维数组可以用下面的方法初始化:

(1)分行给二维数组赋初值。如:

staticinta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

以上赋值把第一个花括号内的数据赋给第一行元素,第二个花括号内数据赋给第二元素…,即按行赋值。

(2)可以将所有的数据写在一个花括号内,按数组排列的顺序对各元素赋值。

(3)可以对数组的部分元素赋初值。如:

staticinta[3][4]={{1},{5},{9}};

以上赋值的结果是:数组第一列的元素分别赋了初值1,5,9,其余元素的值都是0。

(4)如果对二维数组的全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

3.二维数组的引用:二维数组的元素可以表示为:

数组[下标][下标]

在引用二维数组时,必须是单个元素,不能是整个数组名。下标可以是一个表达式,但不能是变量。如果下标是一个表达式,注意表达式的值不能超出数组定义的上、下限。

1.计算机二级C语言程序设计考点:函数

2.计算机二级C语言程序设计考点:指针

3.计算机二级C语言考点:字符型数据

4.计算机二级c语言试题

5.计算机二级office考点

6.计算机考试二级C++语言程序设计考试大纲

7.全国计算机二级考试C++语言程序设计大纲

8.计算机等级考试二级C语言程序设计考试大纲

9.2017计算机考试二级C语言程序设计考试大纲

4.计算机二级MS office应用考点重点 篇四

1、第一部分 常见题目的解析

2、:“010-”部分自动输出,后八位为0到9的数字显示。

3、【输入掩码属性设置为: “010-”00000000 】

4、:查找并显示所有“李”姓学生

5、【在姓名字段的条件行输入: like “李*” 】

6、010303:在报表的页面页脚节区添加一个计算控件,显示系统年月。

7、【添加一个文本框控件,设置控件来源属性: =Date()】

8、010304:按“编号”字段的前4位分组统计每组记录的平均年龄,并将统计结果显示在组页脚节区。

9、【视图菜单--排序/分组--选择编号字段--组页脚选是。在设计视图中,将“编号”文本框移动到组页脚节,设置控件来源属性:=Left([编号],4)

10、在编号页脚添加一个文本框,对应的标签标题改为“平均年龄”,设置文本框的控件来源为“=avg([年龄])”,并设置文本框的“名称”属性为“tAvg” 】

11、020201:计算并输出教师最大年龄与最小年龄的差值,显示标题为“m_age”

12、【添加一个计算字段 m_age:Max([年龄])-Min([年龄])】

13、020303:设置报表主体节区内文本框“tDept”的控件来源为计算控件。要求该控件可以根据报表数据源里的“所属部门”字段值,从非数据源表对象“tGroup”中检索出对应的部门名称并显示输出。(提示:考虑DLookup函数的使用。)

14、【设置控件来源: =DLookUp(“名称”,“tGroup”,“所属部门=部门编号”)】

15、030103:设置“工作时间”字段的有效性规则为:只能输入上一五月一日以前(含)的日期

16、【“工作时间”字段的有效性规则为: <=DateSerial(Year(Date())-1,5,1)】

17、030104:将“在职否”字段的默认值设置为真值

18、【“在职否”字段的默认值设置为: True 】

19、030104:设置“邮箱密码”字段的输入掩码为将输入的密码显示为6位星号(密码)20、【输入掩码向导—选择密码—下一步—完成】

21、030105:将“性别”字段值的输入设置为“男”、“女”列表选择。

22、设计视图—性别字段—数据类型选择查阅向导—自行输入需要的值,下一步—第一行输入“男”,第二行输入“女”,下一步—完成23、030201:没有运动爱好

24、【“简历”字段条件行输入: not like “*运动*” 】

25、030203:聘期超过5年

26、【添加计算字段: 聘期:year(date())-year([聘用时间])对应的条件行输入:>5】

27、030204:将编号与姓名合二为一输出,标题为“管理人员”

28、【添加计算字段: 管理人员:[编号]+[姓名] 】

29、030303:设置复选框选项按钮opt1和opt2的“默认值”属性为假值。30、【选中按钮—属性—默认值设置为:False 】

31、030305:设置命令按钮bTest的单击事件属性为给定的宏对象m1

32、【选中命令按钮—属性—事件—单击事件—选择m1 】

33、040102:设置“简历”字段的设计说明为“自上大学起的简历信息”。

34、【设计视图—简历—说明列设置为: 自上大学起的简历信息】

35、040104:将学号为“20011001”学生的照片信息改成考生文件夹下的“photo.bmp”图像文件

36、【数据表视图—选中学号为20011001的照片—单击右键—插入对象—由文件创建—浏览—找到考生文件夹下的指定图像文件—确定—确定 】

37、040202:查找有摄影爱好的学生记录。

38、【“简历”字段条件行输入: like “*摄影*” 】

39、040203:显示“学号”和“平均成绩”两列内容。其中“平均成绩”一列数据由统计计算得到,将查询命名为“qT3”。

40、【查询—新建—设计视图—添加成绩表—选择学号和成绩字段—总计—成绩字段的总计行选择平均值—在“成绩”的前面添加:平均成绩: —保存—命名为 qT3 】

41、040204:将“tStud”表中女学生的信息追加到“tTemp”表对应的字段中

42、【查询类型选择追加查询,选择对应字段,性别字段的条件行设置为: “女” 】

43、050106:将“exam.mdb”数据库文件中的表对象“tLine”导入到“samp1.mdb”数据库文件内,表名不变。

44、【表对象—新建—导入表—选择考生文件夹下的“exam.mdb”数据库—表—tLine—确定】

45、050203:显示“tLine”表的所有字段内容,然后添加一个计算字段“优惠后价格”,计算公式为:优惠后价格=费用*(1-10%)。

46、【选择指定的字段之后,添加计算字段: 优惠后价格:[费用]*0.9 】

47、050204:删除“tBandOld”表中出发时间在2002年以前(不含2002年)的团队记录。

48、【建立删除查询,“出发时间”字段的条件设置为: <#2002-1-1# 】

49、050302:在“导游姓名”字段标题对应的报表主体区添加一个控件,显示出“导游姓名”字段值。50、【添加文本框控件,属性—控件来源设置为“导游姓名”—名称属性设置为: tName 】

51、050303:报表页脚区添加一个计算控件,要求依据“团队ID”来计算并显示团队的个数。计算控件放置在“团队数:”标签的右侧,计算控件命名为“bCount”。

52、【在报表页脚区添加文本框控件—属性—控件来源设置为:=Count([团队ID])】

53、060103:设置“工作时间”字段的默认值属性为本的4月1日(规定:本年号必须由函数获取)。

54、【设计视图—工作时间—默认值属性设置为: DateSerial(Year(Date()),4,1)】

55、060104:设置“年龄”字段的有效性规则为:不能是空值。

56、【设计视图—年龄字段的有效性规则属性设置为: Is Not Null 】

57、060106:设置“编号”字段的输入掩码为只能输入5位数字或字母形式。

58、【设计视图—编号—输入掩码属性设置为: AAAAA 】

59、060203:设计一个名为“单位奖励”的计算字段,计算公式为:单位奖励=经费*10%,并显示“tWork”表的所有字段内容和“单位奖励”字段。

60、【查询—新建—设计视图—添加tWork—选择所有字段—添加计算字段 单位奖励:[经费]*0.1 】

61、060204:将所有记录的“经费”字段值增加2000元。

62、【创建更新查询,选择经费字段—更新到设置为: [经费]+2000 】

63、070101:将学生“入校时间”字段的默认值设置为下一的一月一日(规定:本的年号必须用函数获取)。

64、【设计视图—入校时间—默认值属性设置为:DateSerial(Year(Date())+1,1,1)】 65、070105:将宏“mTest”重命名保存为自动执行。

66、【选中宏mTest—单击右键—重命名为: AutoExec —确定 】

67、070201:查找图书按“类型”字段分类的最高单价信息并输出,显示标题为“类别”和“最高单价”。68、【查询—新建—设计视图—添加tBook表—选择类别和单价—总计—单价字段总计行选择最大值—单价的前面添加: 最高单价: 】

69、070203:按出版社名称查找某出版社的图书信息,并显示图书的“书名”、“类别”、“作者名”和“出版社名称”4个字段的内容。当运行该查询时,应显示参数提示信息:“请输入出版社名称:”。70、【选择需要显示的字段—出版社名称字段的条件行输入: [请输入出版社名称:] 】

71、070204:按“类别”字段分组查找计算每类图书数量在5种以上(含5种)图书的平均价格,显示“类别”和“平均单价”两个字段的信息。

72、【选择类别和单价字段—总计—单价总计行选择平均值—单价条件行设置为: >=5 —单价前输入:

平均单价: 】

73、070301:“性别”字段的有效性文本设置为“只能输入男和女”。

74、【设计视图—性别—有效性文本设置为: 只能输入男和女 】 75、070302:设置报表“rEmp”按照“性别”字段降序(先女后男)排列输出;将报表页面页脚区内名为“tPage”的文本框控件设置为按“第N页/共M页”形式的页码显示。76、【设计视图—单击鼠标右键—排序/分组—性别—降序】

77、【选择tPage—属性—控件来源设置为: =“第”&[Page]&“页/共”&[Pages]&“页”】

78、或 【选择tPage—属性—控件来源—表达式生成器—通用表达式—第N页,共M页—双击“第”&[Page]&“页,共”&[Pages]&“页”—将“,”更改为“/”—确定】

79、080103:在“聘任日期”字段后添加“借书证号”字段,字段的数据类型为文本,字段大小为10,有效性规则为:不能是空值。

80、【设计视图:添加聘任日期—数据类型为文本—字段大小属性修改为10—有效性规则设置为: Is Not Null 】

81、080105:设置“职工ID”字段的输入掩码为只能输入5位数字形式。82、【设计视图—职工ID—输入掩码设置为: 00000 】

83、080202:计算每名学生所选课程的学分总和,并依次显示“姓名”和“学分”,其中“学分”为计算出的学分总和。

84、【选择姓名和学分字段—总计—分学字段总计行选择总计—学分前输入: 学分: 】 85、080203:查找年龄小于平均年龄的学生,并显示其“姓名”。

86、【选择姓名和年龄—年龄字段不显示—年龄条件行输入: <(Select avg(年龄)From tStudent)】

87、080204:将所有学生的“班级编号”、“学号”、“课程名”和“成绩”等值填入“tSinfo”表相应字段中,其中“班级编号”值是“tStudent”表中“学号”字段的前6位。

88、【选择所需字段—添加新字段 班级编号: Left([tStudent]![学号],6)—追加到“班级编号” 】

89、090202:将表对象“tStud”中有书法爱好学生的“学号”、“姓名”和“入校年”3列内容追加到目标表“tTemp”的对应字段内。

90、【创建追加查询—添加简历字段—简历条件设置为:Like “*书法*” —添加新字段:入校年: Year([入校时间])—注意:追加到行要设置对应字段 】

91、100101:将表对象“物品表”中的“生产厂家”字段重命名为“生产企业”。92、【物品表设计视图—生产厂家修改为“生产企业” 】

93、100102:建立表对象“职工表”、“物品表”和“销售业绩表”的表间关系,并实施参照完整性。

94、【点击关系按钮—显示表—产品号与物品号,实施参照完整性—编号与物品号,实施参照完整性 】 95、100103:将考生文件夹下Excel文件Test.xls中的数据链接到当前数据库中,要求数据中的第一行作为字段名,链接表对象命名为“tTest”。

96、【表对象—新建—链接表—找到考生文件夹下的Test.xls(文件类型为Execl)—链接—下一步—第一行包含列标题—下一步—名称修改为:tTest —完成 】

97、100105:在窗体fTest中,以命令按钮“bt1”为基准,调整命令按钮“bt2”和“bt3”的大小和水平位置。要求:按钮“bt2”和“bt3”的大小尺寸与按钮“bt1”相同,左边界与按钮“bt1”左对齐。98、【设置命令按钮的属性,宽度、高度、左边距、上边距 】

99、100201:查找产品最高储备与最低储备相差最小的数量并输出,标题显示为“m_data”。100、【添加新的计算字段: m_data: Min([最高储备]-[最低储备])】

101、100202:查找库存数量超过10000(不含10000)的产品,并显示“产品代码”、“产品名称”和“库存数量”。当运行该查询时,应显示提示信息:“请输入产品代码:”。

102、【添加所需字段—产品代码条件行输入: [请输入产品代码] —库存数量条件行输入: >10000 】 103、100204:创建一个交叉表查询,统计并显示每种产品不同规格的平均单价,显示时行标题为产品名称,列标题为规格,计算字段为单价。

104、【查询—新建—设计视图—添加数据源—查询类型选择交叉表查询—行标题为产品名称,列标题为规

格,计算字段为单价—单价字段的总计行选择平均值 】

105、110104:在当前数据库中,对表“employee”做一个备份,并命名为表“tEmp”。106、【选中employee表—单击右键—另存为—tEmp—确定 】

107、110105:设置表“employee”的有效性规则为:“津贴”字段的值必须小于等于“基本工资”字段值。108、【设计视图—津贴—有效性规则属性设置为: <= 1000 】

109、110106:将已有的“水费.xls”文件导入到samp1.mdb数据库中,并导入的表命名为“水费记录”。

110、【表—新建—导入表—找到考生文件夹下的“水费.xls”文件—导入—下一步—第一行包含列标题—下一步—下一步—下一步—我自己选择主键,职工号—下一步—命名为“水费记录” —完成 —按题目要求进入到设计视图中修改表的结构 】

111、110202:查找职称为“教授”或者“副教授”档案信息。

112、【选择所需字段—在职称字段的条件行输入:“教授” or “副教授” —职称字段不显示 】

113、110203:创建一个参数的查询,要求:当执行查询时,屏幕提示“请输入要查询的姓名”。查询结果显示姓名、性别、职称、工资总额,其中“工资总额”是一个计算字段,由“基本工资+津贴-住房公积金-失业保险”计算得到。

114、【选择所需的字段—姓名字段的条件行输入: [请输入要查询的姓名] —添加计算字段: 工资总额:[基本工资]+[津贴]-[住房公积金]-[失业保险] 】

115、110204:创建一个查询,查找有档案信息但无工资信息的职工,显示其“职工号”和“姓名”两个字段的信息。将查询命名为“qT4”。

116、【选中“查询”对象,单击“新建”按钮,选中“查找不配项查询”,单击“确定”按钮。

117、步骤2:选中“档案表”,单击“下一步”按钮,选中“工资表”,单击“下一步”按钮。分别选中表中“职工号”字段,单击“下一步”按钮。双击“职工号”和“姓名”字段,单击“下一步”按钮,在“请为查询指定名称”处输入“qT4”,】

118、1103:创建一个名为“menu”的窗体。

119、【窗体—新建—设计视图。按题目要求设计该窗体的属性和添加控件及设置控件属性。】

120、120104:设置“tStudent”表的显示格式,使表的背景颜色为“深青色”、网格线为“白色”、文字字号为五号。

121、【数据表视图—格式菜单—数据表—按题目要求设置格式】

122、120203:按输入的班级编号查找并显示“班级编号”、“姓名”、“课程名”和“成绩”的内容。其中“班级编号”数据由统计计算得到,其值为“tStudent”表中“学号”的前6位,所建查询名为“qT3”;当运行该查询时,应显示提示信息:“请输入班级编号:”。

123、【创建查询—选择所需字段—添加新字段:班级编号: Left([tStudent]![学号],6)—班级编号条件行输入:[请输入班级编号:] 】 124、120204:创建生成表查询。

125、【查询类型选择生成表查询,建立好之后要运行。】 126、130103:删除表中1949年以前出生的雇员记录。

127、【建立一个删除查询—选择出生日期字段—条件行输入: <#1949-1-1#—运行—关闭查询】 128、130105:设置“雇员编号”字段的输入掩码为只能输入10位数字或空格形式。129、【设计视图—雇员编号—输入掩码设置为:9999999999 】

130、130203:创建一个查询,统计每班每门课程的平均成绩,显示结果如下图所示。

131、【创建交叉表查询—行标题为班级—列标题为课程名—值为成绩字段的平均值—切换到SQL视图—将Avg(tGrade.成绩)更改为:int(Avg(tGrade.成绩))】

132、140102:设置“ID”字段的相应属性,使该字段在数据表视图中的显示名称为“学号”。133、设计视图—ID—标题属性设置为:学号134、140103:设置“入校时间”字段的有效性规则和有效性文本,具体规则是:输入日期必须在2000年1月1日之后(不包括2000年1月1日);有效性文本内容为:“输入的日期有误,重新输入”。

135、【设计视图—入校时间—有效性规则设置为:<#2000-1-1# —有效性文本属性设置为: 输入的日期

有误,重新输入 】

136、140106:将“tStud”表中的数据导出到文本文件中,并以“tStud.txt”文件名保存到考生文件夹下。137、【表对象—选中tstud表—单击鼠标右键—导出—按向导提示将表导出—命名为tStud 】 138、140202:创建一个查询,将所有学生设置为非党员。

139、【创建更新查询—选择党员否字段—更新为行设置为:False 】

140、140203:创建一个交叉表查询,要求能够显示各门课程男女生不及格人数。

141、【创建交叉表查询—行标题为性别—列标题为课程名—值为成绩的计数—添加成绩字段,条件行输入:<60 】

142、150105:删除“游客”表对象。

143、【表对象—选中游客表—点击删除按钮—是 】

144、150203:以表对象“tB”为基础,创建一个交叉表查询。要求:选择楼号为行标题列名称显示为“楼号”,“房间类别”为列标题来统计输出每座楼房的各类房间的平均房价信息。

145、【创建交叉表查询—添加字段: 楼号:Left([房间号],2)—设置楼号字段为行标题—房间类别字段为列标题—房价字段的平均值为值 】

146、150204:创建一个查询,统计出各种类别房屋的数量。所建查询显示两列内容,列名称分别为“type”和“num”。

147、【创建查询—选择tB表—选择房间类别和房间号—总计—房间类别总计行选择分组—房间的前面输入: type —房间号总计行选择计数—房间号前面输入:num 】

148、150302:将“fEmp”窗体上名为“btnP”的命令按钮由灰色无效状态改为有效状态。

149、【窗体设计视图—选择命令按钮—单击鼠标右键—属性—数据选项卡—可用更改为:是 】

150、160102:将考生文件夹下文本文件“Test.txt”中的数据导入追加到当前数据库的数据表“tTemp”中。151、【表对象—新建—导入表—找到考生文件夹下的指定文件—导入—导入到已经有的数据表tTemp 】 152、160201:查找没有绘画爱好学生。

153、【简历字段条件行输入:Not Like “*绘画*”,该字段不显示 】

154、160203:创建一个参数查询,查找学生的“学号”、“姓名”、“年龄”和“性别”4个字段内容。其中设置“年龄”字段为参数,参数值要求引用窗体fTemp上控件tAge的值。

155、【年龄字段的条件行输入: [Forms]![fTemp]![tAge] 或 Forms![fTemp]![tAge] 】

156、160204:创建追加查询,将表对象“tStud”中“学号”、“姓名”、“性别”和“年龄”4个字段内容追加到目标表“tTemp”的对应字段内,将查询命名为“qT4”。(规定:“姓名”字段的第一个字符为姓。要求将学生学号和学生的姓组合在一起,追加到目标表的“标识”字段中)。

157、【创建追加查询—添加所需字段—添加新的字段: 标识:[学号]+Left([姓名],1)】

158、170101:为表对象“职工表”追加一个新字段。字段名称为“类别”、数据类型为“文本型”、字段大小为2,设置该字段的有效性规则为只能输入“在职”与“退休”值之一。159、【该字段的有效性规则设置为: “在职” or “退休” 】

160、170104:更改窗体上3个命令按钮的Tab键移动顺序为:bt1->bt2->bt3->bt1->...。

161、【右键单击“bt1”按钮选择【Tab键次序】—选中“bt3”拖动鼠标到“bt2”下面,单击“确定”按钮 】 162、170204:创建一个更新查询,将表“tTemp”中“年龄”字段值加1,并清除“团员否”字段的值,所建查询命名为“qT4”。

163、【创建更新查询—添加年龄和团员否字段—年龄的更新到行设置为:[年龄]+1 —团员否的更新到行设置为: Null 】

164、180103:使用查阅向导建立“证件类别”字段的数据类型,向该字段键入的值为“身份证”、“军官证”或“护照”等固定常数。

165、【设计视图—证件类别—数据类型选择查阅向导—自行键入所需的值—第一行输入:身份证—第二行输入: 军官证—第三行输入:护照 —下一步—完成 】

166、180202:创建一个查询,能够在客人结账时根据客人的姓名统计这个客人已住天数和应交金额,并显示“姓名”、“房间号”、“已住天数”和“应交金额”,将查询命名为“qT2”。

167、注:输入姓名时应提示“请输入姓名:” 168、应交金额=已住天数*价格。

169、【创建查询—选择两个表为数据源—添加所需字段姓名和房间号—姓名字段的条件行输入:[请输入姓名:]—添加新字段: 已住天数: Day(Date()-[入住日期])—添加新字段: 应交金额:(Day(Date()-[入住日期]))*[价格] 】

170、180203:创建一个查询,查找“身份证”字段第4位至第6位值为“102”的纪录,并显示“姓名”、“入住日期”和“价格”3个字段内容,将查询命名为“qT3”。

171、【创建查询—添加姓名、入住日期、价格—添加身份证字段,该字段不显示—身份证字段的条件行设置为: Mid([身份证],4,3)=“102” 】

172、180301:将窗体“fEmp”上名称为“tSS”的文本框控件改为组合框控件,控件名称不变,标签标题不变。设置组合框控件的相关属性,以实现从下拉列表中选择输入性别值“男”和“女”。

173、【窗体的设计视图—选择窗体页脚未绑定的文本框tss—单击鼠标右键—更改为—组合框—选中该组合框—单击鼠标右键—属性—数据选项卡—行来源类型属性更改为:值列表—行来源属性设置为: 男;女 】

174、180302:将查询对象“qEmp”改为参数查询,参数为窗体对象“fEmp”上组合框“tSS”的输入值。

175、【查询对象—qEmp—设计视图—添加性别字段,不显示—性别条件行输入: [Forms]![fTemp]![tss] 或 Forms![fTemp]![tss] 】

176、180303:将窗体对象“fEmp”上名称为“tPa”的文本框控件设置为计算控件。要求依据“党员否”字段值显示相应内容。如果“党员否”字段值为True,显示“党员”两个字;如果“党员否”字段值为False,显示“非党员”3个字。

177、【窗体的设计视图—选择名为tPa的文本框控件—单击右键—属性—数据—控件来源属性设置为:

=IIf([党员否]=True,“党员”,“非党员”)】

178、190201:创建一个查询,查找并显示入校时间非空的男同学的“学号”、“姓名”和“所属院系”3个字段内容。

179、【创建查询—选择所需的字段—添加性别字段,不显示,条件行输入:“男”—添加入校时间字段,条件行输入: Is Not Null 】

180、190204:创建一个查询,将临时表对象“tTemp”中年龄为偶数的人员的“简历”字段清空,所建查询命名为“qT4”。

181、【创建更新查询—添加年龄字段—年龄条件行输入: [年龄] Mod 2=0 —添加简历字段—简历的更新到行设置为: “" —运行(这种方法是题目提供的,无法将简历字段清空。)】

182、【创建更新查询—添加年龄字段—年龄条件行输入: [年龄] Mod 2=0 —添加简历字段—简历的更新到行设置为: Null —运行 】

183、200102:设置表对象”员工表“的聘用时间字段的默认值为系统当前日期。184、【设计视图—聘用时间—默认值属性设置为: Date()】

185、200105:设置相关属性,实现窗体对象(名为”fTest“)上的记录数据不允许添加的操作(即消除新纪录行)。

186、【窗体的设计视图—窗体属性—数据—允许添加属性选择:否 】

187、200201:创建一个查询,查找并显示照片信息为空的男同学的”学号“、”姓名“、”性别“和”年龄“4个字段的内容。

188、【创建查询—添加学号、姓名、性别、年龄—性别条件行设置为: ”男“ —添加照片字段,不显示,条件行设置为: Is Null 】

189、200204: 创建一个查询,将临时表对象”tTmp“中女员工编号的第一个字符更改为”1“,所建查询命名为”qT4“。

190、【创建更新查询—添加员工编号,更新到行设置为: ”1“ & Mid([编号],2,5)(或者:”1“ & Right([编号],5))—添加性别字段,条件行输入: ”女“ 】

191、210102:设置表对象”职工表“的性别字段有效性规则为:男或女;同时设置相应有效性文本为”请输

入男或女“。

192、【设计视图—性别—有效性规则属性设置为: ”男“ or ”女“ —有效性文本属性设置为:请输入男或女 】

193、210104:删除职工表中姓名字段中含有”江“字的所有员工纪录。

194、【创建删除查询—添加姓名字段—条件行输入: like ”*江*“ —运行—关闭查询 】

195、210201:创建一个选择查询,查找并显示简历信息为空的学生的”学号“、”姓名“、”性别“和”年龄“4个字段内容,所建查询命名为”qT1“。

196、【创建查询—添加要显示的字段—添加简历字段,不显示,条件行输入: Is Null 】

197、210204: 创建一个操作查询,将表对象”tStud“中没有书法爱好的学生的”学员“、”姓名“、和”年龄“3个字段内容追加到目标表”tTemp“的对应字段内,将查询命名为”qT4“。

198、【创建追加查询—选择所需字段—添加简历字段,条件行输入: not like ”*书法*“ —运行 】 199、210302:将窗体对象”fEmp“上文本框”tPa“改为复选框类型,保持控件名称不变,然后设置控件来源属性以输出”党员否“字段值。

200、【窗体设计视图—选中tPa 文本框—点击键盘上的Delete键,删除该控件—添加一个复选框控件 —设置该控件名称属性为:tPa —控件来源设置为: 党员否 】

201、220201:创建一个查询,计算并输出学生中最大年龄与最小年龄的差值,显示标题为”s_data“,将查询命名为”qStud1“。

202、【创建查询—添加字段: s_data : Max([年龄])-Min([年龄] 】

203、220204:)创建一个查询,计算并显示”学号“和”平均成绩“两个字段内容,其中平均成绩是计算数学、计算机和英语3门课成绩的平均值,将查询命名为”qStud3“。

204、【创建查询—添加学号—添加新字段:平均成绩:([数学]+[计算机]+[英语])/3 】 205、230103:设置”学时“字段的相关属性,使其输入的数据必须大于0。206、【设计视图—学时—有效性规则属性设置为: >0 】

207、230104: 设置”开课日期“字段的输入掩码为”短日期“,默认值为本的九月一日(规定:本年号必须由函数获取)。

208、【设计视图—开课日期—输入掩码—短日期—默认值,设置为:

DateSerial(Year(Date()),9,1)】

209、230301:将表”tTemp“中年龄小于30岁(不含30)、职务为职员的女职工记录选出并添加进空白表”tEmp“里。

210、【创建追加查询—选择相应字段—年龄字段条件行设置为:<30 —性别条件行设置为:”女“ —运行 】

211、230302:将窗体”fEmp“的窗体标题设置为”信息输出“;将窗体上名为”btnP“命令按钮的外观设置为图片显示,图片选择考生文件夹下的”test.bmp“图像文件;将”btnP“命令按钮的单击事件设置为窗体代码区已经设计好的事件过程btnP_Click。

212、【窗体属性—标题属性设置为:信息输出 】

213、【窗体设计视图—选择btnp命令按钮—单击鼠标右键—属性—格式—图片—点击小按钮—浏览—选择考生文件夹下的图像文件 】

214、【命令按钮—属性—事件—单击事件—选择[事件过程] 】

215、240202:创建一个查询,查找并显示没有在职的教师的”编号“、”姓名“和”联系电话“3个字段内容,将查询命名为”qT2“。

216、【创建查询—添加编号、姓名、联系电话—添加在职否字段,不显示,条件行设置为: False 】

217、240203: 创建一个查询,将”tTeacher1“表中年龄小于等于45的党员教授或年龄小于等于35的党员副教授记录追加到”tTeacher2“表的相应字段中,将查询命名为”qT3“。

218、【创建追加查询—添加相应字段—年龄字段的条件行输入: <=45 ,下一行输入: <=35—政治面目字段的条件行输入: ”党员“,下一行输入: ”党员“ —职称字段的条件行输入: ”教授“,下一行输入: ”副教授“ 】

219、【创建好了之后运行查询,并保存命名一下】

220、240303:在报表的页面页脚区添加一个计算控件,以输出页码。计算控件放置在距上边0.25厘米、距左侧12.5厘米的位置,并命名为”tPage“。规定页码显示格式为”第N页/共M页“。221、【报表设计视图,添加的计算控件为文本框控件,设置它的格式和控件来源属性。(与前面的一个题目类似,这里不作详细介绍)】

222、250201:创建一个查询,按输入的教师姓名查找教师的授课情况,并按”上课日期“字段降序显示”教师姓名“、”课程名称“、”上课日期“3个字段的内容,将查询名命为”qT1“;当运行该查询时,应显示参数提示信息:”请输入教师姓名“。

223、【创建参数查询—选择教师姓名、课程名称、上课日期—教师姓名字段的条件行输入: [请输入教师姓名] —上课日期的排序行选择降序】

224、250203:对表”tGrade“创建一个分组总计查询,假设学号字段的前4位代表年级,要统计各个年级不同课程的平均成绩,显示”年级“、”课程ID“和”成绩之Avg“,并按”年级“降序排列,将查询命名为”qT3“。225、【创建查询—添加新字段: 年级: Left([学号],4),总计行选择分组,排序行选择降序—选择课程ID,总计行选择分组—选择成绩字段,总计行选择平均值】

226、250204: 创建一个查询,按”课程ID“分类统计最高分成绩与最低分成绩的差,并显示”课程名称“、”最高分与最低分的差“等内容。其中,最高分与最低分的差由计算得到,将查询命名为”qT4“。

227、【创建查询—添加所需字段—总计—课程ID字段的总计行选择分组—课程名称总计行选择分组—添加新字段: 最高分与最低分的差 : Max([成绩])-Min([成绩])】

228、260104:使用查阅向导建立”职务“字段的数据类型,向该字段键入的值为”职员“、”主管“或”经理“等固定常数。

229、【表对象—tEmployee—设计视图—职务字段—数据类型选择查阅向导—自行键入所需的值—依照题目要求依次输入 职员 主管 经理 —下一步—完成 】

230、260201:创建一个查询,要求显示在校学生的”身份证号“和”姓名“两列内容,所建查询命名为”qT1“。231、【 查询对象—新建—设计视图—选择tstud—选择身份证号和姓名字段—选择家长身份证号,该字段不显示,条件行输入: Is Not Null —保存命名该查询 】

232、260202:创建一个查询,要求按照身份证号码找出所有学生家长是本校校友的学生记录。输出学生身份证号、姓名及家长身份证号3列内容,标题显示为”身份证号“、”姓名“和”家长身份证号“,将查询命名为”qT2“。

233、【 查询对象—新建—设计视图—tstud—选择身份证号、姓名和家长身份证号—家长身份证号的条件行输入: in(Select [身份证号] From [tStud])—保存命名查询 】

234、260203:创建一个查询,要求检索出数学成绩为100分的学生的人数,标题显示为”num“,将查询命名为”qT3“。

235、这里规定,使用”身份证号“字段进行计数统计。

236、【 创建查询—选择身份证号和数学—总计—身份证号的总计行选择 计数,身份证号的前面输入:

num: —数学的条件行输入: 100 —保存命名查询 】

237、260204:创建一个查询,要求将表对象”tStud“中总分成绩超过270分(含270)的学生信息追加到空表”tTemp“中。其中,”tTemp“表的入学成绩为学生总分,将查询命名为”qT4“。238、【 创建查询—显示tstud表—选择追加查询,追加到表tTemp—选择身份证号和姓名字段—添加新字段: 入学成绩:[语文]+[数学]+[物理] —更新到行选择:入学成绩 —条件行输入: >=270 —运行—保存命名查询 】

239、260302:在报表对象rTeacher的报表页脚节区位置添加一个计算控件,计算并显示教师的平均年龄。计算控件放置在距上边0.3厘米、距左侧3.6厘米的位置,命名为”tAvg“。

240、【报表的设计视图—在报表页脚添加文本框控件—设置文本框的控件来源属性为: =Avg([年龄])—按题目要求设置名称属性、上边距属性和左边距属性 】

241、270103:设置表”tNorm“的有效性规则和有效性文本,有效性规则为:”最低储备“字段的值必须小于”最高储备“字段的值,有效性文本为”请输入有效数据“。

242、【步骤1:选中”表“对象,右键单击”tNorm“选择【设计视图】。

243、步骤2:右键单击”tNorm“表设计视图蓝色边框的”tNorm:表“字样处选择”属性“,在”有效性规则“行输入”[最低储备]<[最高储备]“。在”有效性文本“行输入”请输入有效数据“。关闭属性界面。】 244、270104:将”出厂价“字段的格式属性设置为货币显示形式。245、【设计视图—出厂价—格式—下拉菜单中选择货币 】

246、270105:设置”规格“字段的输入掩码为9位字母、数字和字符的组合。其中,前3位只能是数字,第4位为大写字母”V“,第5位为字符”-“,最后一位为大写字母”W“,其他位为数字。247、【设计视图—规格—输入掩码属性设置为: 000V-999W 】

248、270201:查找并显示有书法或绘画爱好学生的”学号“、”姓名“、”性别“和”年龄“4个字段的内容,将查询命名为”qT1“。

249、【添加简历字段,该字段不显示,条件行输入: like ”*书法*“。或行输入: like ”*绘画*“ 】 250、270202:创建一个查询,查找成绩低于所有课程总平均分的学生信息,并显示”姓名“、”课程名“和”成绩“3个字段的内容,将查询为”qT2“。

251、【创建查询—添加姓名、课程名、成绩—成绩字段的条件行输入: <(select avg([成绩])from tscore)】

252、270203:)以表对象”tScore“和”tCourse“为基础,创建一个交叉表查询。要求:选择学生的”学号“为行标题、”课程号“为列标题来统计输出学分小于3分的学生平均成绩,将查询命名为”qT3“。

253、【创建交叉表查询—选择学号、课程号—选择成绩字段,总计行选择平均值—选择学分字段,总计行选择条件,条件行输入: >3 —学号为行标题、课程号为列标题、成绩之平均值为值 】

254、270204:创建追加查询,将表对象”tStud“中”学号“、”姓名“、”性别“和”年龄“4个字段内容追加到目标表”tTemp“的对应字段内,将查询命名为”qT4“。(规定:”姓名“字段的第一个字符为姓,剩余字符为名。将姓名分解为姓和名两部分,分别追加到目标表的”姓“、”名“两个字段中)255、【创建追加查询—选择学号字段—添加新字段: 姓: Left([姓名],1)。追加到行选择姓—添加新字段:名: Mid([姓名],2)。追加到行选择名—选择性别、年龄字段—运行—保存命名该查询 】 256、280203:创建一个参数查询,查找教师的”编号“、”姓名“、”性别“和”职称“4个字段的内容。其中”性别“字段的准则条件为参数,要求引用窗体对象”fTest“上控件”tSex“的值,将查询命名为”qT3“。257、【前面的步骤略。“引用窗体控件”在性别的条件行输入 [forms]![fTest]![tSex] 】 258、290102:设置”年龄“字段的有效性规则为:不能是空值。259、【 设计视图--年龄字段的有效性规则属性--Is Not Null】 260、290103:设置”聘用时间“字段的默认值为系统当前年1月1号。

261、【设计视图-聘用时间--默认值--DAteserial(year(date()),1,1)】

262、290106:完成上述操作后,在”samp1.mdb“数据库文件中对表对象”tEmp“的备份,命名为”tEL“。263、【选中表-点右键-另存为-修改表名称-确定 】

264、290202:创建一个查询,查找教师的”编号“、”姓名“和”联系电话“3个字段内容,然后将其中的”编号“与”姓名“两个字段合二为一,这样,查询的3个字段内容以两列形式显示,标题分别为”编号姓名“和”联系电话“,将查询命名为”qT2“。

265、【步骤2:在”字段“行第一列输入”编号姓名: [编号]+[姓名]“,双击”联系电话“字段添加到”字段“行。其他步骤略】

266、290302:设计报表”rEmp“的主体节区内”tSex“文本框件控件依据报表记录源的”性别“字段值来显示信息:性别为1,显示”男“;性别为2,显示”女“。

267、【设计视图-tsex文本框-点右键-属性-控件来源输入:=IIf([性别]=1,”男“,”女“)】 268、300103:设置”入库日期“字段的默认值为系统当前日期的前一天的日期。269、【设计视图-入库日期-默认值设置为:date()-1 】

270、300105:设置”编号“字段的输入掩码为只能输入8位数字或字母形式。271、【输入掩码: AAAAAAAA 】

272、300204:创建一个查询,将表”tBmp“中”年龄“字段值加1,将查询命名为”qT4“。

273、【创建更新查询-选择年龄字段-更新到行输入:[年龄]+1-运行一次查询-保存命名】

274、300302:设计报表”rEmp“的主体节区内”tOpt“复选框控件依据报表记录源的”性别“字段和”年龄“字段的值来显示状态信息:性别为”男“且年龄小于20时显示为选中的打钩状态,否则显示为不选中的空白状态。

275、【设计视图-topt-点右键属性-控件来源行输入:=IIf([tSex]=”男“ And [tAge]<20,”1“,”0“)】 276、310203:创建一个查询,将表”tBmp“中所有”编号“字段值前面增加”05“两个字符,将查询命名为”qT3“。277、【创建更新查询-编号字段-更新到行输入: ”05“+[编号]-运行然后保存命名该查询 】

278、310204:创建一个查询,要求给出提示信息”请输入需要删除的职工姓名“,从键盘输入姓名后,删除表对象”tTmp“中指定姓名的记录,将查询命名为”qT4“。

279、【创建删除查询-选择姓名字段-条件行输入:[请输入需要删除的职工姓名] 】

280、310302:将报表”rEmp“的主体节区内”tAge“文本框控件改名为”tYear“,同时依据报表记录源的”年龄“字段值计算并显示出其4位的出生年信息。注意:当前年必须用相关函数返回。

281、【设计视图-tage-右键-属性-名称行输入:tYear-控件来源行:year(date()-[年龄] 】

282、320105:将”年代“字段的”有效性规则“设置为:输入的日期必须满足在1980年以后(含1980年)的作曲家,并设置”有效性文本“为:年代日期必须为1980年以后的作曲家。

283、【设计视图-年代-有效性规则:>=#1980-1-1#-有效性文本:年代日期必须为1980年以后的作曲家】 284、320201:创建一个查询,查找收藏品中CD盘最高价格和最低价格信息并输出,标题显示为”v_Max“和”v_Min“,将查询命名为”qT1“。

285、【创建查询-双击价格,双击价格-点总计-总计行选择最大值、最小值-字段名分别更改为:v_Max v_Min 】

286、320202:创建一个查询,查找并显示购买”价格“大于100元并且”购买日期“在2001年以后(含2001年)的”CDID“、”主题名称“、”价格“、”购买日期“和”介绍“5个字段的内容,将查询命名为”qT2“。287、【价格大于100元,条件行输入:>100 购买日期条件行:>=#2001-1-1# 】

288、320204:创建一个查询,对”tType“表进行调整,将”类型ID“等于”05“的记录中的”类型介绍“字段更改为”古典音乐“,将查询命名为”qT4“。

289、【创建更新查询-选择类型ID和类型介绍两个字段-类型ID条件行输入:”05“-类型介绍字段更新到行输入:”古典音乐“-运行保存命名查询】

290、330103:设置表”tStud“的”入校时间“字段有效性规则为:只能输入2009年10月以前的日期。291、【设计视图-入校时间-有效性规则输入: <#2009-10-1# 】

292、330106:将考生文件夹下文本文件tTest.txt中的数据链接到当前数据库中。要求:数据中的第一行作为字段名,链接表对象命名为tTemp。

293、【表对象-新建-链接表-确定-找到考生文件夹下的文本文件tTest.txt-链接-下一步-第一行包含字段名-下一步-下一步-链接表名称设置为:tTemp-完成-确定】

294、330202:...查找选修课程里含有”101“或者”102“信息的课程...295、【课程名条件行输入:in(”101“,”102“)或者 ”101“ or ”102“】 296、330203:...查找并显示姓名中含有”红“字学生...297、【姓名条件行输入:Like ”*红*“ 】

298、330204:...将”tTemp“表中”学分“字段的记录全部更新为0...299、【创建更新查询,学分更新到行输入:0 】

300、330301:将窗体”fEmp“上名称为”tSS“的文本框控件改为组合框控件,控件名称不变,标签标题不变。设置组合框控件的相关属性,以实现从下拉列表中选择输入性别值”男“和”女“。

301、【窗体设计视图-文本框tss-点右键-更改为-组合框-点右键-属性-行来源类型选择值列表-行来源输入:男;女 】

302、330302:将查询对象”qEmp“改为参数查询,参数为窗体对象”fEmp“上组合框”tSS“中的输入值。303、【查询设计视图-性别条件行输入:[forms]![femp]![tss] 】

304、330303:将窗体对象”fEmp“中名称为”tPa“的文本框控件设置为计算控件。要求依据”党员否“字段值显

示相应内容。如果”党员否“字段值为True,显示”党员“;如果”党员否“字段值为False,显示”非党员“。305、【窗体设计视图-tpa-点右键-属性-控件来源处输入:=IIF([党员否]=true,”党员“,”非党员“)】 306、340101:删除”tEmployee“表中1949年以前出生的雇员记录。

307、【创建删除查询-出生日期的条件行输入:<#1949-1-1#-运行不保存查询 】

308、340202:创建一个查询,查找每位员工在2005年的工资信息,并显示”工号“、”工资合计“和”水电房租费合计“3列内容。其中,”工资合计“和”水电房租费合计“两列数据均由统计计算得到,将查询命名为”qT2“。

309、【创建查询-添加职工表和工资表-选择工号、工资、水电房租费、年月-总计行分别设置为:分组、总计、总计、条件-工资字段前输入: 工资合计:-水电房租费前输入: 水电房租合计:-年月条件行输入:year([年月])=2005-保存命名查询 】

310、340203:创建一个查询,查找并显示员工的”姓名“、”工资“、”水电房租费“及”应发工资“4列内容。其中”应发工资“列数据由计算得到,计算公式为:应发工资=工资-水电房租费,将查询命名为”qT3“。

311、【创建查询-添加所需要的表-选择所需字段-添加新字段: 应发工资:[工资]-[水电房租费]-保存命名查询】

312、340204:创建一个查询,将表”tTemp“中”年龄“字段值均加1,将查询命名为”qT4“。

313、【创建更新查询-年龄字段的更新到行输入:[年龄]+1-运行查询-保存命名查询 】

314、340303:在报表页脚节区添加一个计算控件,计算并显示学生平均年龄。计算控件放置在距上边0.2厘米、距左边4.5厘米处,并命名为”tAvg“。

315、【设计视图-在页脚节区添加文本框控件-标签标题设置为:平均年龄-设置文本框的格式,名称,控件来源为:=avg([年龄])】

316、340304:按”编号“字段前4位分组统计各组记录个数,并将统计结果显示在组页脚节区。计算控件命名为”tCount“。

317、【设计视图-空白处点右键-排序/分组-编号,组页脚选是,分组形式选择前缀字符,保持同页选择整个组-选中编号文本框拖到编号页脚节区-设置编号控件来源为: =left([编号],4)-在组页脚添加文本框控件-设置文本框名称,控件来源为:=count([编号])】

318、350202:创建一个查询,计算每名学生所选课程的学分总和,并依次显示”姓名“和”学分“,其中”学分“为计算出的学分总和,将查询命名为”qT2“。

319、【创建查询并选择所需要的表-选择姓名和学分-总计-个字段总计行分别设置为:分组、总计-学分的前面输入: 学分:-保存命名查询 】

320、350203:创建一个查询,查找年龄小于平均年龄的学生,并显示其”姓名“,将查询命名为”qT3“。

321、【创建查询并选择所需要的表-选择姓名和年龄字段-年龄字段不显示,条件行输入:<(select avg([年龄])from tstudent)-保存命名查询 】

322、350304:创建一个查询,将所有学生的”班级编号“、”学号“、”课程名“和”成绩“等值填入”tSinfo“表相应字段中,其中”班级编号“值是”tStudent“表中”学号“字段的前6位,将查询命名为”qT4“。

323、【创建追加查询-选择对应字段-添加字段 班级编号:left([tstudent]![学号],6)-运行查询-保存命名查询 】

324、360104:将学生”入校时间“字段的默认值设置为本的一月一日(规定:本年号必须用函数获取)。

325、【设计视图-入校时间的人默认值字段设置为: dataserial(year(date()),1,1)-保存】

326、360201:创建一个查询,当运行该查询时,应显示参数提示信息”请输入爱好“,输入爱好后,在简历字段中查找具有指定爱好的学生,显示”学号“、”姓名“、”性别“、”年龄“和”简历“5个字段的内容,将查询命名为”qT1“。

327、【创建查询并选择所需的表-添加指定的5个字段-简历字段的条件行输入: [请输入爱好]-保存命名查询 】

328、360204:创建一个查询,将表”tStud“中男学生的信息追加到”tTemp“表对应的”学号“、”姓名“、”年龄“、”所属院系“和”性别“字段中,将查询命名为”qT4“。

329、【创建追加查询-选择对应字段-性别的条件行输入: 男-运行-保存命名查询 】

330、360302:设置报表”rEmp“,使其按照”聘用时间“字段升序排列并输出;将报表页面页脚区内名为”tPage“的文本框控件设置为系统的日期。

331、【报表设计视图-空白处点右键-排序与分组-聘用时间升序】 332、【设置文本框的控件来源属性为: =DAte()】

333、370201:创建一个查询,计算并输出学生的最大年龄和最小年龄信息,标题显示为”MaxY“和”MinY“,将查询命名为”qStud1“。

334、【创建查询并选择所需的表-双击两次年龄字段-在年龄字段的前面分别输入:MaxY: MinY:-总计-总计行分别选择最大值和最小值-保存命名查询 】

335、370301:将表”tTemp“中年龄小于30岁(不含30)的女性职员职工记录选出,并添加到空白表”tEmp“里。

336、提示:可以用普通复制或设计追加查询运行这两种方式实现。

337、【创建追加查询-选择对应字段-性别条件行输入:女-年龄字段条件行输入:<30-运行-保存命名 】 338、370302:将窗体”fEmp“的窗体标题设置为”信息输出“;将窗体上名为”btnP“命令按钮的外观设置为图片显示,图片选择考生文件夹下的”test.bmp“图像文件;将”btnP“命令按钮的单击事件设置为窗体代码区已设计好的事件过程btnP_Click。

339、【设计视图-空白处点右键-属性-标题属性设置为:信息输出-保存 】

340、【选中命令按钮-点右键-属性-图片-浏览-找到考生文件夹下的图片文件-确定-保存】 341、【命令按钮-点右键-属性-事件-单击事件选择事件过程-保存】

342、370303:将报表”rEmp“的主体节区内”tName“文本框控件设置为”姓名“字段内容显示,报表中的数据按”年龄“升序排列,年龄相同情况下按”所属部门“升序排列。343、【设置文本框的空间来源属性为:姓名】

344、【空白处点右键-排序与分组-年龄字段升序-所属部门升序 】

345、380104:将窗体fTest中名为”bTitle“的控件设置为”特殊效果:凿痕“显示。346、【设计视图-选中控件点右键-格式-特殊效果选择凿痕 】

347、380105:在窗体fTest上,以命令按钮”bt1“为基准(这里按钮”bt1“和”bt3“尺寸相同、左边对齐),调整命令按钮”bt2“的大小和位置。要求:按钮”bt2“的大小尺寸与按钮”bt1“相同、左边界与按钮”bt1“左对齐、竖直方向位于按钮”bt1“和”bt3“的中间位置。348、【按照bt1的尺寸设置bt2对应的格式属性】 349、步骤1:右键单击”bt1“按钮选择【属性】,查看”左边距“、”上边距“、”宽度“和”高度“并记录下来。关闭属性界面。

350、步骤2:右键单击”bt3“按钮选择【属性】,查看”左边距“、”上边距“、”宽度“和”高度“并记录下来。关闭属性界面。

351、步骤3:要设置”bt2“与”bt1“大小一致、左对齐且位于”bt1“和”bt3“之间,需右键单击”bt2“按钮选择【属性】,分别在”左边距“、”上边距“、”宽度“和”高度“行输入”3.5cm“、”2cm“、”3cm“和”1cm“,关闭属性界面。

352、步骤4:单击工具栏中”保存“按钮,关闭”关系“界面353、380202:创建一个查询,根据教师姓名查找某教师的授课情况,并按”上课日期“字段降序显示”教师姓名“、”课程名称“和”上课日期“3个字段的内容,所建查询名为”qT2“;当运行该查询时,应显示参数提示信息”请输入教师姓名“。

354、【创建查询并添加所需的表-选择教师姓名、课程名称和上课日期字段-教师姓名的条件行输入:[请输入教师姓名]-上课日期的排序行设置为:降序-保存命名查询 】 355、380204:创建一个查询,假设”学生ID“字段的前4位代表年级,要统计各个年级不同课程的平均成绩,显示”年级“、”课程ID“和”成绩之Avg“,并按”年级“降序排列,所建查询为”qT4“。

356、【创建查询并选择所需的表-添加字段: 年级:left([tstud]![学生ID],4)-选择课程ID字段和成绩字段-总计-总计行分别选择分组、分组和平均值-成绩字段的前面输入: 成绩之Avg:-保存命名查

询】

357、380301:将窗体”fEmp“上文本框”tSS“更改为组合框类型,且控件名称保持不变。358、【设计视图-选中文本框-点右键-更改为-组合框-保存】

359、380302:修改查询对象”qEmp“为参数查询,参数为引用窗体对象”fEmp“上文本框”tSS“的输入值。360、【查询设计视图-性别的条件行输入:[forms]![femp]![tss]-保存】

361、380303:设置窗体对象”fEmp“上文本框”tAge“为计算控件。要求根据”年龄“字段值依据以下计算公式计算并显示人员的出生年。

362、计算公式:出生年=Year(Date())-年龄或出生年=Year(Now())-年龄。

363、【设计视图-设置文本框的控件来源属性为:=year(date())-[年龄]-关闭属性对话框-保存 】 364、390102:设置”性别“字段的”有效性规则“属性为:只能输入”男“或”女“。365、【设计视图-性别-有效性规则属性设置为: ”男“ or ”女“ 】

366、390105:使用查阅向导建立”职务“字段的数据类型,向该字段键入的值为”职员“、”主管“或”经理“等固定常数。

367、【设计视图-职务-数据类型选择查阅向导-自行键入所需的值-第一行输入职员,依次输入主管、经理

-下一步-完成-保存】

368、390201:设置”档案表“表中的”性别“字段的有效性规则为其值只能为”男“或”女“,有效性文本为”性别字段只能填写男或女“。

369、【表的设计视图-性别字段-有效性规则属性设置为:”男“ or ”女“-有效性文本设置为:性别字段只能填写男或女 】

370、390203:创建一个查新查询,用于计算水费,计算公式:水费=3.7*(本月水-上月水)所建查询名为”qT2“。

371、【创建查询并选择所需要的表-添加新字段 水费:3.7*([本月水]-[上月水])-保存命名】 372、390301:创建一个名为”Salary“的报表,按表格布局显示查询”qT“的所有信息。

373、【报表-新建-自动创建报表:表格式,数据来源选择qt-确定-保存-命名为:Salary-确定 】 374、390302:设置报表的标题属性为”工资汇总表“。

375、【设计视图-空白处点右键-报表属性-标题设置为:工资汇总表 】 376、390303:按职称汇总出”基本工资“的平均值和总和。

377、”基本工资“的平均值计算控件名称为”savg“、”总和“计算控件名称为”ssum“。378、注间:请在组页脚处添加计算控件。

379、【设计视图-空白处点右键-排序与分组-职称,组页脚选择是,保持同页选择整个组-选中职称文本框拖到职称页脚-在职称页脚添加文本框控件-标签标题设置为基本工资平均值-文本框名称为savg,控件来源属性设置为:=avg([基本工资])】

380、【同理添加另一个文本框,名称为ssum,控件来源为: sum([基本工资])】

381、390304:)在”eSalary“报表的主体节上添加两个计算控件:名为”sSalary“的控件用于计算输出实发工资;名为”ySalary“的控件用于计算输出应发工资。382、计算公式为:

383、应发工资:基本工资+津贴+补贴;

384、实发工资:基本工资+津贴+补贴-住房基金-失业保险 385、【设计视图-主体节添加文本框-标签标题可以设置为:应发工资-文本框名称为ySalary,控件来源为:=[基本工资]+[津贴]+[补贴] 】

386、【同理设置另一个计算控件,控件来源为:=[基本工资]+[津贴]+[补贴]-[住房基金]-[失业保险] 】 387、400102:”成绩“字段的输入值为非负数,并在输入出现错误时提示”成绩应为非负数,请重新输入!“信息。

388、【设计视图-成绩-有效性规则属性设置为:>=0-有效性文本属性设置为:成绩应为非负数,请重新输入!】

389、400103:将”tGrade“表中成绩低于60分的记录全部删除。

390、【创建删除查询-成绩条件行输入:<60-运行-关闭不保存查询 】

391、400201:创建一个查询,查找并显示单价高于平均单价的图书”书名“和”出版社名称“等字段内容,所建查询名为”qT1“。

392、【创建查询并选择需要的表-选择所需字段-单价字段不显示,条件行输入:>(select avg([单价])from tbook)-保存命名 】

393、400204:创建一个查询,统计每名雇员的售书总量,并将显示的字段名设为”姓名“和”总数量“,所建查询名为”qT4“。

394、【创建查询并选择需要的表-选择姓名、数量字段-总计-总计行分别选择分组、总计-数量字段的前面输入 总数量: 】

395、410103:”工作日期“字段的默认值为系统当前日期的后一天。396、【设计视图-默认值属性设置为:date()-1 】

397、410202:创建一个查询,统计年龄小于30岁的医生被病人预约的次数,且显示结果按预约人数降序排序(如下图所示),所建查询名为”qT2“。

398、【创建查询并选择需要的表-选择医生姓名、病人ID、年龄字段-总计-总计行分别选择分组、计数、条件-病人ID前输入 预约次数:-年龄条件行输入 <30-保存命名】

399、410203:创建一个查询,删除表对象”tTemp“内所有”预约日期“为10月的记录,所建查询名为”qT3“。400、【创建删除查询-预约日期的条件行输入:month([预约日期])=10-运行-保存命名】

401、410204:现有一个已经建好的”fQuery“窗体,如下图所示。运行该窗体后,在文本框(文本框名称为tName)中输入要查询的科室名,然后按下”查询“按钮,即运行一个名为”qT4“的查询。”qT4“查询的功能是显示所查科室的”科室ID“和”预约日期“。请设计”qT4“查询。

402、【创建查询并选择需要的表-选择科室ID和预约日期字段-科室ID的条件行输入 :[forms]![fQuery]![tname]-保存命名】

403、420105:将宏”mTest“重命名为自动运行的宏。404、【选中宏-点右键-重命名为:autoexec 】

405、420202:创建生成表查询,组成字段是没有书法爱好学生的”学号“、”姓名“和”入校年“3列内容(其中”入校年“数据由”入校时间“字段计算得到,显示为4位数字年的形式),生成的数据表命名为”tTemp“,将查询命名为”qT2“。

406、【创建生成表查询-选择学号、姓名字段-添加新字段 入校年:year([入校时间])-选择简历字段,不显示,条件行输入:not like ”*书法*“-运行-保存命名 】

407、420301:删除表对象”tEmp“中年龄在25到45岁之间(不含25和45)的非党员职工记录信息。

408、【创建删除查询-年龄字段条件行输入:>25 and <45-党员否字段条件行输入 :fasle-运行-关闭不保存 】 409、430203:创建一个查询,将表”tBmp“中”编号“字段值的前面均增加”05“两个字符,将查询命名为”qT3“。

410、【创建更新查询-编号字段的更新到行输入: ”05“+[编号]-运行-保存命名】

411、430204:创建一个查询,删除表对象”tTmp“里所有姓名含有”红“字的记录,将查询命名为”qT4“。

412、【创建删除查询-姓名字段条件行输入:like ”*红*“-运行-保存命名】

413、430302:将主体节区中”性别“标签右侧的文本框显示的内容设置为”性别“字段值,并将文本框名称改为”tSex“。

414、【设计视图-选中文本框-属性-名称设置为:tSex-控件来源属性设置为:性别 】

415、440105:将表对象”职工表“导出到考生文件夹下的”samp.mdb“空数据库文件中,要求只导出表结构定义,导出的表命名为”职工表bk“。

416、【选中职工表-点右键-导出-选择导出位置-只导出表结构定义-命名为职工表bk 】

417、440201:创建一个查询,查找并显示简历信息为空的学生的”学号“、”姓名“、”性别“和”年龄“4个字段内容,将查询命名为”qT1“。

418、【创建查询并选择所需的表-选择要求显示的字段-选择简历字段,条件行输入:is null-保存命名】

419、440203:创建一个查询,按系别统计各自男女学生的平均年龄,显示字段标题为”所属院系“、”性别“

和”平均年龄“,将查询命名为”qT3“。

420、【创建查询并选择所需要的表-选择所属院系、性别、年龄字段-总计-总计行分别选择分组、分组和平均值-年龄字段前输入平均年龄:-保存命名】

421、440204:创建一个查询,将表对象”tStud“中没有书法爱好的学生的”学号“、”姓名“、和”年龄“3个字段内容追加到目标表”tTemp“的对应字段内,所建查询命名为”qT4“。

422、【创建追加查询-选择对应字段-选择简历字段,条件行输入:not like ”*书法*“-运行-保存命名】

423、440301:将窗体”fEmp“上文本框”tSS“改为组合框类型,保持控件名称不变。设置其相关属性实现下拉列表形式输入性别”男“和”女“。

424、【设计视图-选中文本框-点右键-更改为-组合框-点右键-属性-数据-行来源类型选择值列表-行来源输入:男;女 】

425、440302:将窗体对象”fEmp“上文本框”tPa“改为复选框类型,保持控件名称不变,然后设置控件来源属性以输出”党员否“字段值。

426、【选中文本框-按键盘上delete删除文本框-添加复选框-设置名称控件来源设置为党员否字段 】

427、440303:修正查询对象”qEmp“设计,增加退休人员(年龄>=55)的条件。

428、【查询设计视图-年龄字段条件行输入:>=55-保存 】

429、450106:将考生文件夹下Excel文件”Test.xls“中的数据导入到当前数据库的新表中。要求第一行包含列标题,导入其中的”编号“、”姓名“"性别”“年龄”和“职务”5个字段,选择“编号”字段为主键,新表命名为“tmp”。

430、【表对象-新建-导入表-找到考生文件夹下的文件-导入-下一步-第一行包含列标题-下一步-新表中下一步-点所属部门不导入字段复选框打钩-聘用时间、简历字段同理-下一步我自己选择主键下一步-表名称为:tmp-完成-确定】

431、450203:创建一个参数查询,查找并显示学生的“学号”、“姓名”、“性别”和“年龄”4个字段内容。其中设置性别字段为参数,参数条件要引用窗体“fTmp”上控件“tSS”的值,将查询命名为“qT3”。

432、【创建查询并选择需要的表-选择题目要求的字段-性别的条件行输入:[forms]![ftmp]![tss]-保存命名 】

433、450204:创建一个查询,删除临时表对象“tTemp”中年龄为奇数的记录,将查询命名为“qT4”。

434、【创建删除查询-年龄字段的条件行输入:[年龄] mod 2=1-运行-保存命名 】

435、450303:将报表纪录数据按照姓氏分组升序排列,同时要求在相关组页眉区域添加一个文本框控件(命名为“tm”),设置属性显示出姓氏信息来,如“陈”、“刘”、...等。

436、注意,这里不用考虑复姓等特殊情况。所有姓名的第一个字符视为其姓氏信息。

437、【设计视图-空白处点右键-排序与分组-姓名升序,组页眉选择是-关闭-选中姓名文本框拖到姓名页眉-控件来源设置为:=left([姓名],1)-关闭-保存 】

438、460103:设置“入校时间”字段的有效性规则和有效性文本。有效性规则为:输入的入校时间必须为9月;有效性文本内容为:输入的月份有误,请重新输入;

439、【设计视图-入校时间字段-有效性规则属性设置为:month([入校时间])=9-有效性文本设置为:输入的月份有误,请重新输入 】

440、460105:为“政治面目”字段创建查阅列表,列表中显示“团员”、“党员”和“其他”3个值。(提示:将该字段的数据类型设置为“查阅向导”); 441、【提示:使用查阅向导数据类型 】

442、460203:创建一个交叉表查询,统计并显示各门课程男女生的平均成绩,统计显示结果如下图所示。将查询命名为“qT3”。443、要求:使用查询设计视图,用已存在的数据表做查询数据源,并将计算出来的平均成绩用整数显示(使用函数)。

444、【创建交叉表查询-选择所需要的表-行标题为性别-列标题为课程名称-值为成绩的平均值,成绩字段的总计行选择平均值-视图菜单下选择SQL视图-将Avg(tScore.成绩)更改为:int(Avg(tScore.成绩))-保存命名 】

445、460204:创建一个查询,运行该查询后生成一个新表,表名为“tTemp”,表结构包括“姓名”、“课程名”和“成绩”等3个字段,表内容为不及格的所有学生记录。将查询命名为“qT4”。要求创建此查询后运行该查询,并查看运行结果。

446、【创建生成表查询-选择需要的表与字段-注意有一个条件成绩 <60 】 447、460304:假设“tStud”表中,“学号”字段的第5位和6位编码代表该生的专业信息,当这两位编码为“10”时表示“信息”专业,为其他值时表示“管理”专业。设置窗体中名称为“tSub”的文本框控件的相应属性,使其根据“学号”字段的第5位的第6位编码显示对应的专业名称;

448、【报表设计视图-选中文本框-点右键-控件来源属性设置为:=IIf(mid([tnum],5,2)=“10”,“信息”,“管理”)-保存-关闭属性界面 】

上一篇:宋词里的中国作文600字下一篇:怀念过去的句子参考