文档库 最新最全的文档下载
当前位置:文档库 › EXCEL_VBA应用教程

EXCEL_VBA应用教程

EXCEL_VBA应用教程
EXCEL_VBA应用教程

EXCEL VBA应用教程--第1讲什么是EXCEL VBA

第1讲什么是EXCEL VBA

作者:https://www.wendangku.net/doc/9c1584235.html,/landmao

1.1 为什么要学习EXCEL VBA

现在,财务软件已经趋于普及,会计人员的工作效率大幅度提高,减轻了会计人员大工作强度。财务软件但优点是从数据但输入、处理、输出实现了一体化,在会计数据但利用方面,尽管财务软件一直都作改进,但客观上还是满足不了管理工作但要求。因此,作实际工作中,EXCEL被大量应用,EXCEL但特点是简单易用,操作灵活,大大地弥补了会计软件地不足。但是,EXCEL处理数据的缺点是,每一步都要人工操作和控制,对重复性的工作,每次都要重复去作。

EXCEL VBA能够将重复的工作编写成程序,这样就能够提高效率和避免人为操作的错误。

1.2 什么是VBA

VBA(Visual Basic For Applications)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。VBA是Visual Basic的一个子集,VBA 不同于VB,原因是VBA要求有一个宿主应用程序才能远行(需要在EXCEL等软件的运行下才能运行),而且不能用于创建独立应用程序。而VB可用于创建独立的应用程序。VBA可使常用的过程或者进程自动化,可以创建自定义的解决方案,最适用于来定制已有的桌面应用程序。

通常意义上的VBA就是在Office中包含着的一种加强Office功能的Basic 语言。经过发展,在Office中,Word、Excel、Access、PowerPoint等个软件都有了自己的程序设计语言,分别称为WordBasic、ExcelBasic、AccessBasic、PowerPointBasic (在Outlook中的开发语言为Visual Basic Scripting Edition)。通常统一称为VBA(VB for Application)。

本讲座,主要基于EXCEL VBA进行讲解。

VBA和VB的区别包括如下几个方面:

(1) VB是设计用于创建标准的应用程序,而VBA是在已有的应用程序(EXCEL 等)下运行,实行有关操作、处理、查询等的自动化,提高效率。

(2)VB具有自己的开发环境,而VBA必须寄生于已有的应用程序(如EXCEL)。

(3)要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),可独立运行。而VBA开发的程序必须依赖于它的"父"应用程序,例如EXCEL,如编写的EXCEL VBA程序,没有安装EXCEL是无法运行的。

虽然一些不同,VBA和VB在结构上仍然十分相似。如果你已经对VB有一些基础,学习VBA就非常容易。当掌握EXCEL VBA后,对WORD、ACCESS等中应用VBA创建解决方案,也就基本掌握了。

1.3 应用EXCEL VBA的好处

在EXCEL中,使用VBA可以实现的功能主要包括:

(1)创建报表。

(2)对数据进行复杂的操作和分析。

(3)使重复的工作自动化。

(4)自定义EXCEL工具栏,菜单和界面。

(5)自定义EXCEL,使其成为开发平台。

用EXCEL作为开发平台有如下原因:

(1)EXCEL本身功能强大,包括打印,文件处理,格式化和文本编辑。大家中在EXCEL使用中已经掌握了EXCEL基本概念、操作方法,采用EXCEL VBA能够更加提高效率,使用者容易接受。

(2)EXCEL内置大量函数和处理功能,通过EXCEL VBA能够高效率地简单应用。

(3)可连接到多种数据库,便于与财务软件等交换数据。

(4)VBA简单易学,容易被会计人员及其管理人员掌握,易于大范围推广应用。用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件的打开和保存、处理、打印等。而用EXCEL作为开发平台,则由于EXCEL已经具备这些基本功能,你要做的工作只是使用它。

1.4 怎样学习EXCEL VBA

掌握EXCEL的人很多,但要在上面编写程序,也是需要学习的。要学习EXCEL VBA,首先应该购买一本EXCEL VBA的书籍,然后对照上面的案例就行学习和操作。同时,要根据自己的业务需要,结合实际编写一些实用的小功能。

现在网络上的EXCEL VBA很多,遇到问题,可以通过搜索,一般都能够找到。通过积累,逐渐就掌握了。一般需要三个月左右都时间。

本讲座将结合案例,在逐步讲解EXCEL VBA基本知识和方法的基础上,通过实际应用的方式来学习。

EXCEL VBA应用教程--第2讲EXCEL VBA的开发环境和开发过程

第2讲 EXCEL VBA的开发环境和开发过程

作者:https://www.wendangku.net/doc/9c1584235.html,/landmao

2.1 什么是VBE

VBE(Visual Basic Editor)是编写VBA代码的工具,窗口结构和VB的编辑器相似。和VB编辑器不同的是,VBE不能单独打开,必须依附于他所支持的应用程序,如EXCEL。

2.2 启动VBE 环境

在Excel菜单中,选择工具——宏——Visual Basic 编辑器,或者按快捷键Alt+F11即可进入。

安全性设置:要编写VBA程序和运行VBA程序,需要进行“安全性”设置,不然编写当VBA程序无法运行。在Excel菜单中,选择工具——宏——安全性,进入安全性设置,一般选择“中”,如果不行就选择“低”。

2.3 VBE 的应用

进入VBE编辑器后,就能编写有关低界面后程序。VBE编辑器主要包括以下部分:

1、代码窗口。就是在这里写VBA的代码,也是在这里查看代码的。

2、对象窗口。可以在这里设定窗体的界面(如果使用了窗体的话),在这里能很直观地设定窗体各个控件的布局。

3、对象浏览器。在这里可以查看所有对象库、特定对象或你自己的工程,包括所有的对象的列表与每个对象的成员列表。

4、工程资源管理器。在这里,我们可以很方便地管理工程中的模块、类模块与窗体,还可以很容易地在代码与对象间切换。

5、属性窗口。在这里可以很简单地设定很多对象相关的属性,简单到只要用鼠标选择即可。

6、工具箱。在插入窗体后,可以从工具箱添加各种控件。

7、立即窗口。其主要工作是:

(1)在开发过程中,用Debug.Print输出的内容就在此显示。

(2)当代码是Break模式时,查看对象和变量的状态。

(3)用?加上语句,就可以看到运行的结果,在很多情况下比用msgbox报出方便多了。

2.4 使用VBA帮助和寻找资源

1.VBA帮助。VBA的帮助中包含Excel所有属性、对象、方法等的说明,学习VBA 的过程中,经常查阅VBA帮助,对了解Excel所有属性、对象、方法很有帮助。在查看别人的代码时,对不熟悉的部分,只要将光标移到其中,再按F1键,就能快速查获到相关的帮助。我们还可以在帮助的应答向导中,键入相关的关键词,来查找我们需要的内容。

2.网络的搜索。网络的好处就在于信息量之巨大,而要查找到我们需要的信息时,最基本的就是用好搜索。通过如百度、Google等,只要键入合适用的关键词,就能找出不少相关的信息。

2.5 EXCEL VBA的开发过程

1. EXCELVBA开发过程简介

在开发一个具体的业务程序时,需要对以下问题有个大致的考虑。

1)使用者。这决定了程序的操作难度及界面感观。

2)数据来源和保存在哪里。这决定了程序的结构。

3)如何操作。这将决定程序的界面和细节。

4)数据处理的结果。最终决定程序的价值。

2.认识不同的控件

开始时关闭所有工作簿,打开一个新工作簿并另存为一个具体名字,一般用项目名称。在工具栏上单击鼠标右键,从快捷菜单中选择"窗体",显示"窗体"工具栏.其中有16个控件,只有9个可放到工作表内。

1)标签:它用于表现静态文本。

2)分组框:它用于将其他控件进行组合。

3)按钮:用于执行宏命令。

4)复选框:它是一个选择控件,通过单击可以选择和取消选择,可以多项选择。

5)选项按钮:通常几个选项按钮组合在一起使用,在一组中只能选择一个选项按钮。

6)列表框:用于显示多个选项并从中选择。只能单选。

7)组合框:用于显示多个选项并从中选择。可以选择其中的项目或者输入一个其它值。

8)滚动条:不是你常见的来给很长的窗体添加滚动能力的控件,而是一种选择机制。例如调节过渡色的滚动条控件。包括水平滚动条和垂直滚动条。

9)微调控件:也是一种数值选择机制,通过单击控件的箭头来选择数值。例如改变Windows日期或时间就会使用到微调控件。

3.向工作表添加控件

4.设置控件的特性

5.给控件命名

6.使用用户窗体

如果希望创建专业级的应用程序,并且方便用户输入数据,那么应该使用用户窗体。用户窗体可以作为程序的对话框和窗口.向用户窗体添加控件基本类似于向工作表添加控件。

在对用户窗体设计完成后,可以对其进行预览,方法是在VBA编辑器中选择该窗体,单击“运行”菜单中的三角符号“运行子过程/用户窗体”,三角符号在VBA工具栏上也可能看得到,旁边是一个垂直的等于符号,最右边是个小正方形符号,它们类似于录音机上的按钮。运行窗体的另一个方法是按F5键。

EXCEL VBA应用教程--第3讲常量、变量与数据类型(一)

第3讲常量、变量与数据类型

作者:https://www.wendangku.net/doc/9c1584235.html,/landmao

数据是程序运行的基础,在EXCEL VBA中,大量的数据是中EXCEL中的,但在程序运行中,还会有一些程序的控制数据。要掌握一种程序语言,必须了解该语言的数据类型有哪些以及该数据是如何声明的,以便得知该数据是使用哪种数据类型、该数据所能允许使用得最大和最小范围(生存期)、以及该数据占用多少内存空间。这样程序执行时才不会发生数据溢出(Overflow)和浪费内存空间得现象。

执行程序时,必须先将程序和数据加载到计算机的内存(RAM)中才能执行,若该数据会随着程序的执行而更改其值,我们称之为变量(Variable),而不发生变化的则时常量。常量指的时数据类型特定值的文字表示,常量被用来指定给变量当作变量值。程序运行时,语句中的每一个常量,都会分配到内存空间来存放其值。

3.1 标识符

变量和常量需要用一个名称来标识,这就是标识符。标识符名称第一个字符允许以大小字母、_或者中文名称(一般不建议用中文名称)开头,后面的字符可接A~Z、a~z、0~9或_等字符。

3.2 保留字

保留字又称关键词(Keyword),是程序语言中事先赋予某个标识符的一个特别意义,因此就不得再重复赋予不同的用途。其用法又一定的规范,在编写程序时,这些保留字若出现在程序中的语句时会以蓝色标示,以提醒用户这些标识符是属于系统保留字不可误用。

这后面的内容中,我们逐步学习涉及到的相关保留字,如if、then等等。

3.3 常量

所谓“常量”是指数据类型特定值的文字表示。常量被用来指定给变量当作变量值。程序运行时,语句中的每一个常量,都会分配到内存的空间来存放其值。

3.3.1 整数常量

整数常量由数字、+(正)、—(负)所组成。整数常量的表示方式由:二进制、八进制、十进制、十六进制。十进制整数常量是一串十进制数,十六进制常量是&H后面跟着一串十六进制数字(0~9、A~F),八进制常量则是&O(O 为字母)后面跟着一串八进制数字(0~7)。十进制常量直接以阿拉伯数字(0~9)来表示,二八进制常量和十六进制常量则以二进制数表示整数常量。常量的类型是由其值或是接在其后的数据类型字符来决定。如果未指定数据类型字符,则在Integer类型范围内的值会采用Integer整数数据类型;超出Integer范围大小的值则采用Long长整数数据类型。由于一般人比较习惯十进制数,本书所用的数值常量,大都采用十进制数表示。

3.3.2 浮点常量

浮点常量是整数常量后面跟着选择性的小数点和尾数,以及选择性的基底为10的指数。默认浮点常量是属于Double数据类型。如果指定Single、Double和Decimal数据类型字符,则常量就属于该数据类型。

数据常量的各数据类型所占的内存空间与可表示的大小范围如表所示。

字符串常量由一连串的字符组合而成,包括中文、英文字母、空格、数字、特殊符号。字符串常量可细分成:Char(字符)数据类型和String(字符串)数据类型,其所占的内存空间和允许的范围大小如表所示。

3.3.4 布尔常量

布尔常量只有两个值,一个为“True”、另一个为“False”,分别表示真与假、开与关、Yes与No等两种状态。Boolean数据类型常被使用在关系表达式及逻辑表达式条件式中,用来判断条件成立与否。

第3讲常量、变量与数据类型(二)

3.3.5 日期常量

日期常量代表以Date数据类型的值所表示的特定时间。常量可同时指定日期和时间、仅指定日期或仅指定时间。

设为12:00:00 AM。例:

#11:20:00 PM# (仅指定时间)

#9/9/2004# (仅指定日期)

#9/9/2004 12:45:00 PM# (同时指定日期及时间)

3.3.6 variant

Variant字符串类型的存储空间为22字节加上字符串的长度,其取值范围与变长字符串数据类型的取值范围相同,缺省值为Empty。

Variant数字型的存储空间为16字节,其取值范围与Double数据类型的取值范围相同,缺省值为Empty。

3.4 变量和数据类型

为了要避免变量占用太多的内存空间,VBA视数据的大小与数据种类尔给予不同的数据类型。将变量分成数值、字符串、布尔、日期等类型。各种数据类型所占用的字节(Byte)不相同。

使用变量的第一步是了解变量的数据类型.变量的数据类型控制变量允许保存何种类型的数据,各种类型的变量所需要的存储空间和能够存储的数值范围.

第3讲常量、变量与数据类型(三)

VBA数据类型表

数据类型存储空间数值范围

Byte1字节0 - 255

Booleam2字节True或者False

Integer2字节-32768 - 32767

Long(长整型)4字节-2147483648 - 2147483647

Single4字节负值范围:-3.402823E38 - -1.401298E-45正值范围:1.401298E-45 - 3.402823E38

Double8字节负值范围:-1.79769313486232E308 - -494065645841247E-324正值范围:4.94065645841247E-324 - 1.79769313486232E308

Currency8字节-922337203685477 - 922337203685477

Decimal14字节不包括小数时:+/-79228162514264337593543950335 包括小数时:+/7.9228162514264337593543950335

Date8字节1000年1月1日- 9999年12月31日

Object4字节任何引用对象

String(长字符串)10字节+1字节/字符0 - 约20亿

String(固定长度)字符串的长度 1 - 约65400

Varient(数字)16字节Double范围内的任何数值

Varient(文本)22字节+1字节/字符数据范围和变长字符串相同

3.5 变量的声明方式

在程序中,要使用变量,必须先使用Dim声明确定其数据类型,若在声明时未设置其初值,数值变量默认为0、字符串变量默认为空字符串。

使用Dim声明变量的方式如下:

Dim sum As Integer 声明sum为整型变量,初值默认为0

Dim string1,string2 As String 同时声明string1、string2为字符串类型变量初值空字符串

Dim cost As Integer =50 声明cost为整型变量,并设初值为50

第4讲运算符(一)

第4讲运算符

作者:https://www.wendangku.net/doc/9c1584235.html,/landmao

运算符(Operator)用来指定数据做何种运算。运算符按照运算时所需要的操作数(Operand)数目分成:单元运算符(Unary Operator),如:﹣9;二元运算符(Binary Operator),如a+b为一个加法表达式(Expression),其中a、b为操作数,加号为运算符,由于加号运算符在运算是需要两个操作数,因此称为二元运算符。

4.1 算术运算符

算术运算符是用来执行一般的数学运算,如:加、减、乘、除和取余数等运算。

4.2 关系运算符

关系表达式的功能式用来比较字符串或数值的大小。关系表达式经过运算后,其结果可以为真(True)或为假(False),通过其结果来决定程序的执行流程。

关系运算符与关系表达式

关系运算符意义数学式关系表达式= =相等A=B A= =B

<> 不相等A≠B A<>B

> 大于A>B A>B

< 小于A

>=大于或等于A≧B A>=B

<=小于或等于A≤B A<=B

Like按样式比较字符串字符串Like样式

Is比较对象对象A Is对象B TypeOf…Is测试对象数据类型If(TypeOf对象Is)Then Like子句样式用法如下所示:

Dim chksign As Boolean

chksign = “A” Like “A”…True

chksign = “a” Like “A”…False

chkFlag = “A” Like “AAA”…False

第4讲运算符(二)

4.3 逻辑表达式

逻辑表达式用来测试比较复杂的条件,一般都用来连接多个关系表达式。如:使用age变量当年龄,若条件为:10

If(age>10)And (age<=30) then

其中(age>10)和(age<=30)两者为关系表达式,两者间利用And逻辑运算符来连接。同样,逻辑表达式的运算结果只有真(True)或假(False)。逻辑表达式主要有两种类型的表达方式:

And、Or、Not、XOR逻辑运算符

AndAlso/OrElse逻辑运算符

例如,若a值为6,求下列逻辑运算后的结果:

(a>1) And (a<=10) …检查1

(a<1) Or (a>=5) …检查a是否小于大于5,结果为True

4.4 赋值运算符与复合赋值运算符

当需要指定某个变量的值、将某个变量或某个表达式的结果指定给某个变量时,就必须使用赋值运算符来完成。赋值运算符是以符号(=)来表示。

第5讲流程控制语句

第5讲流程控制语句

作者:https://www.wendangku.net/doc/9c1584235.html,/landmao

一个程序的流程,都是由顺序结构、选择结构和循环结构三者组合而成。顺序结构的特点是语句由上而下逐行地执行。选择结构是当程序执行时,欲改变程序执行的顺序时使用。循环结构俗称重复,当程序中有某个语句块需要循环执行时使用。因此,设计一个具有结构化的程序,除了必须具有清晰的逻辑分析能力外,要使用以上所述的三种结构来实现。

5.1 If语句

“选择结构”指当程序执行时,需要改变执行的流程时,则必须使用条件来做判断,若满足条件(即结果为True)则执行某个语句段,若不满足条件(即结果为False)则执行另一个语句段。

1.If…Then…Else语句

在设计程序时,常会碰到“如果…那么…”或时“如果…那么…否则…”的情况,这种情况便要使用If…Then…或是If…Then…Else…语句来完成。由下面语法可知,若满足条件就执行“Then语句块”,不满足条件n就执行“Else语句块”。其中条件可为关系表达式或多个关系表达式中用逻辑表达式连接的混合表达式,其语法形式如下所示:

If (条件 ) Then [Then 语句块]

Else [Else 语句块]

End If

2.If…Then…ElseIf语句

设计程序时,若碰到“如果…那么…否则如果…那么…否则”,便需使用If…Then…Elseif…Then…Else…语句来完成。如下面语法,若条件1的结果为True,则执行“Then语句块1”,接着继续执行EndIf后面的语句;若条件1

的结果为False,则检查条件2的结果,若为True则执行“ElseIf语句块2”,接着继续执行EndIf后面的语句。一直到所有结果的条件都不满足时,才执行Else后面的“Else语句块”。其语法如下所示:

If (条件1) Then [Then语句块1]

ElseIf (条件2) Then [ElseIf语句块2]

ElseIf (条件3) Then [ElseIf语句块3]

ElseIf [ElseIf语句块]

Eed If

5.2 Select Case选择语句

程序设计时若碰到多向选择时,当然可使用If…Then…ElseIf或嵌套的If…Then…Else来完成,但是太多的If会使得程序的复杂度提高,造成不易阅读且难维护;若改用下面的Select Case语句,程序不但看起来简洁而且易维护。如下面语法,若表达式的结果满足value1,则执行“Value1语句块”,再继续执行End Select后面的语句;若表达式的结果不满足value1,满足value2,,则执行“Value2语句块”,依次类推;若都不满足所设置的Case value值,便执行“Value2语句块”Else语句块后,再继续执行End Select后的语句。其语法形式如下:

Select Case 表达式

Case value1

[value1语句块]

Case value2

[walue2语句块]

End Select

表达式可以为变量、数值或字符串表达式,但要注意Case子句中的value必须和表达式的数据类型一致。

5.3 IIf选择语句

IIf式一个双重选择函数,如下面语法,若表达式的结果为True,则返回V1。否则返回V2。返回值可以为数值、字符串或表达式。IIf函数里面若还有IIF

函数就构成嵌套选择结构。其语法形式如下所示:

IIf(表达式,V1,V2)

5.4 循环语句

当程序执行时,需要将某个语句块执行多次时,便需要使用“循环结构”。按照循环执行次数确定是否分成For…Next语句(每次执行循环次数确定)和Do…语句(次数由当时条件决定)两大类。

1.For…Next语句

程序设计时,若希望由某个值开始,每执行指定的语句块一次,便将该数值增(减)一值,若结果比终值还小(大),便继续执行该语句块,直到不满足终值才离开该语句块,如重复显示某个数字10次、连续输入数据到数组等都必须使用下面语法来完成:

For counter = start To end [Step Increment]

语句块

[Exit For ]

语句块

Next For

若startend则Step不能省略,且Increment为负值。Start和end参数可以为小数。

2.For Each…Next语句

For Each…Next语句和For…Next功能一样,当满足条件时,会将For…Next 间的语句执行一次,直到不能满足条件为止。如下面语法,当group(指对象的集合或数组)内至少有一个元素,就能进入For Each…Next循环。一旦进入循环,便会针对group内的第一个元素来执行语句块一次;若group内有更多元素,则循环内的语句块就会针对每个元素来继续执行。当各元素都执行一次后,循环便结束,继续执行Next语句后面的语句。其语法形式如下所示:

For Each element In group

语句块

[Exit For]

[语句块]

Next element

其中element为必要项,是一个变量名称,用来在集合或数组的每个元素中重复。Element的数据类型必须是group中元素的数据类型。group为必要项,是一个对象变量,必须引用对象集合或数组statement为一选择项,介于For Each…Nex 之间的一行或数行语句,在group内的每个项目发生时执行一次。

3.Do While…Loop语句

设计程序时,当希望条件为True时才进入循环,执行循环内的语句块,直到碰到Loop再回到Do While,检查是否满足条件,若满足条件继续执行循环内的语句块,直到不满足才跳离循环继续执行Loop后面的语句。因此,循环内必须有语句将条件变为False,否则会变成无穷循环而无法跳出。若想中途离开循环可在要离开的地方插入Exit Do即可。

Do While(条件)

[Exit Do]

Loop

4.Do Until…Loop语句

此语句和Do While…Loop语句都属于前测试循环,两者使用上的差异在于,若不满足条件才进入循环时,必须使用Do Until…Loop;若满足条件才进入循环时,才使用Do While…Loop。其语法形式如下:

Do Until (条件)

语句块

[Exit Do]

语句块

Loop

5. Do…Loop While语句

程序中使用循环时,若需要第1次进入循环时不必检查是否满足条件,而直接进入循环,第2 次以后才需要检查是否满足条件,当条件条件为True时,才能再进入循环执行,此时便需要使用Do…Loop While语句。因此此种情况,循环至少执行一次,是属于后测试循环。其语法形式如下:

Do

语句块

[Exit Do]

语句块

Loop While(条件)

6. Do…Loop Until语句

此语句和Do…LoopUntil语句都属于后测试循环,两者使用上的差异在于,若不满足条件才进入循环时,必须使用Do…Loop Until。若满足条件才进入循环时必须使用Do…Loop While。其语法形式如下:

Do

语句块

[Exit Do]

语句块

Loop Until(条件)

在实际应用中,前三种应用会多一些,通过具体多设置,一般都能达到目的。因此,要把前三种掌握好。

第6讲函数

第6讲函数

作者:https://www.wendangku.net/doc/9c1584235.html,/landmao

6.1 函数概述

函数(function)是能完成特定任务的相关语句和表达式的集合。当函数执行完毕时,它会向调用它的语句返回一个值。如果不显示指定函数的返回值类型,就返回缺省的数据类型值。

1.Sub函数

Sub函数是以Sub…End Sub语句封闭起来的程序块。每当该函数被调用时,就会将存放在函数块内的语句执行一次。执行中若碰到End Sub 、Exit Sub 或Return便离开函数,回到调用此函数的下一个语句继续望下执行。编写程序时,在模块、对象类模块和结构中定义Sub函数。模块内的Sub函数都默认为Public,表示可以从应用程序任何位置调用此Sub函数。除了Main函数外,其他函数是在被调用才执行。

Sub函数定义的语法如下:

[Private∣Public]Sub函数名称([参数类表])

[程序块]

[Exit Sub]

End Sub

Sub函数是以Public Sub或Private Sub开头,最后以End Sub结束。当执行到End Sub后即返回紧接再原调用处的下一个语句继续往下执行。若中途要离开函数,可使用Exit Sub语句。

调用Sub函数的语法有下列两种方式:

语法1:Call函数名称([参数列表])

语法2:函数名称([参数列表])

调用程序与被调用程序之间若无数据传递,参数列表可省略(即不传任何参数);若不省略,参数列表的数目可以是一个或一个以上的参数。

2.Function函数

除系统提供的内置函数外,还提供了日期、时间、字符串等函数,另外还可以使用Function…End Function函数来编写属于自己的Function函数。

Sub函数和Function函数两者都可以做参数传递,但两者使用上的主要差异是Sub函数没有返回值,Function函数则有返回值。有关Function函数的语法如下:

[Public∣P rivate] Function函数名称([参数列表]) [As数据类型]

[语句块]

函数名=表达式

[Exit Function]

或(Return表达式)

End Function

6.2 测试函数

IsNumeric(x) 是否为数字, 返回Boolean结果,True or False IsDate(x) 是否是日期, 返回Boolean结果,True or False IsEmpty(x)是否为Empty, 返回Boolean结果,True or False IsArray(x) 指出变量是否为一个数组。

IsError(expression) 指出表达式是否为一个错误值

IsNull(expression) 指出表达式是否不包含任何有效数据(Null)。

IsObject(identifier) 指出标识符是否表示对象变量

6.3 数学函数

Sin(X)、Cos(X)、Tan(X)、Atan(x) 三角函数,单位为弧度

Log(x) 返回x的自然对数

Exp(x)返回 ex

Abs(x) 返回绝对值

Int(number)、Fix(number) 都返回参数的整数部分,区别:Int 将 -8.4 转换成 -9,而 Fix 将-8.4 转换成 -8

Sgn(number) 返回一个 Variant (Integer),指出参数的正负号

Sqr(number) 返回一个 Double,指定参数的平方根

VarType(varname) 返回一个 Integer,指出变量的子类型

Rnd(x)返回0-1之间的单精度数据,x为随机种子

6.4 字符串函数

Trim(string) 去掉string左右两端空白

Ltrim(string) 去掉string左端空白

Rtrim(string) 去掉string右端空白

Len(string) 计算string长度

Left(string, x) 取string左段x个字符组成的字符串

Right(string, x) 取string右段x个字符组成的字符串

Mid(string, start,x) 取string从start位开始的x个字符组成的字符串

Ucase(string) 转换为大写

Lcase(string) 转换为小写

Space(x) 返回x个空白的字符串

Asc(string) 返回一个 integer,代表字符串中首字母的字符代码

Chr(charcode) 返回 string,其中包含有与指定的字符代码相关的字符

6.5 转换函数

CBool(expression) 转换为Boolean型

CByte(expression) 转换为Byte型

CCur(expression) 转换为Currency型

CDate(expression) 转换为Date型

CDbl(expression) 转换为Double型

CDec(expression) 转换为Decemal型

CInt(expression) 转换为Integer型

CLng(expression) 转换为Long型

CSng(expression) 转换为Single型

CStr(expression) 转换为String型

CVar(expression) 转换为Variant型

Val(string) 转换为数据型

Str(number) 转换为String

6.6 日期函数

日期函数

名称说明

IsDate 语法:IsDate(表达式);功能:若该表达式为日期类型变量时,返回True;否则返回False。范例:check=IsDate(“2/21/1969”) …返回True;check=IsDate(”Hello”)?返回False Today 语法:Today;功能:设置或返回目前系统的日期

Now 语法:Now;功能:返回目前系统的日期与时间

Year 语法:Year(datetime);功能:返回公元年。范例:n=Year(”2/12/1999”)…n=1999 Month 语法:Month(datetime);功能:返回1~12月份。范例n=Month(“5/12/1969”)…n=5 Day 语法:Day(datetime);功能:返回日期。范例:n= Microsoft.VisualBasic.Day(“2/21/1969”)…n=21

MonthName 语法:MonthName(月份);功能:返回相对应的月份名称。范例:str= MonthName(3) …str=三月

WeekDay 语法:WeekDay(datetime);功能:返回星期几,其值为1~7。若返回1,表示星期日;返回2表示星期一……依次类推。范例:n=Weekday(”3/14/2003”)…n=6 表示这天为星期五

WeekdayName 语法:WeekdayName(n);功能:返回一星期中的第几天。n为1则返回星期日;n为2返回星期一……依次类推。范例:str=WeekdayName(5)…str=星期四

第7讲操作工作簿

作者:https://www.wendangku.net/doc/9c1584235.html,/landmao

Workbooks是workbook的集合,通过workbooks可以对工作簿进行有关对建立、打开、关闭等等操作。

1.新建工作簿

Add方法创建一个新的工作簿,并添加到Workbooks集合中,新工作簿成为活动工作簿。

Workbooks.Add

举例:

Workbooks.Add

Activeworkbook.saveas "E:book3.xls"

作用:新建一个工作簿,并保存在E:盘上,文件名为book3.xls。

举例:

Workbooks.Add

Thisworkbook.saveas "E:book4.xls"

作用:新建一个工作簿,并保存在E:盘上,文件名为book4.xls。

2.打开工作簿

该方法打开一个已存在的工作簿,其语法稍微有点复杂:

Workbooks.Open(FileName,UpdateLinks,ReadOnly,Format,Password,

_WriteResPassWord,IgnoreReadOnlyRecommended,Origin,Delimiter,

_Editable,Notify,Converter,AddToMRU)

在这些参数中,大多数参数很少用到(例如,几个与打开文本文件有关的参数)。所有的参数中,除了FileName外都是可选的。

参数FileName是所要打开的工作簿的文件名称。如果想要以只读的方式打开工作簿,则可将ReadOnly参数设置为True。

如果需要用密码来打开工作簿,则PassWord参数应该设置为该密码。如果需要使用密码而您没有指定密码,Excel将弹出对话框询问密码。

参数AddToMru指定将工作簿添加到最近使用的文件列表中,该参数值设置为True便添加该工作簿到最近使用的文件列表中,该参数的缺省值为False。

举例:

workbooks.Open ("e:book3.xls")

作用:打开e:book3.xls工作簿文件。

举例:

workbooks.Open FileName:="e:book3.xls"

作用与上相同。

举例:

workbooks.Open FileName:="e:book3.xls"

举例:

workbooks.Open FileName:="e:book4.xls",password:="12345"

增加了打开的密码。

3.激活工作簿

要激活工作簿,就使用activate方法,工作簿激活后,它将放在活动窗口中。

Workbooks(工作簿名称).activate

举例:

Workbooks(1).activate

作用:激活第一个工作簿。

4.保存工作簿

保存指定工作簿:

Workbooks("工作簿名称").save

保存当前工作簿:

activeWorkbook.save

5.关闭工作簿

Close方法关闭所有打开的工作簿。其语法为:

关闭所有的工作簿:

Workbooks.Close

关闭指定的工作簿:

Workbooks("工作簿名称").close

第8讲操作工作表

作者:https://www.wendangku.net/doc/9c1584235.html,/landmao

8.1 建立工作表

插入一个工作表:Sheets.Add

在指定工作表前插入工作表:

Sheets.Add Before:=Sheets(工作表名称或工作表序号) 举例:

Sheets.Add Before:=Sheets(“Sheet3”)

Sheets.Add Before:=Sheets(3)

在指定工作表后插入工作表:

Sheets.Add Before:=Sheets(工作表名称或工作表序号) 举例:

Sheets.Add After:=Sheets(“Sheet3”)

Sheets.Add After:=Sheets(3)

在最后插入工作表:

Sheets.Add After:=Sheets(Sheets.Count)

在最前插入工作表:

Sheets.Add Before:=Sheets(1)

插入2个空白工作表:

Sheets.Add Count:=2

这里利用自变量Count来控制插入工作表的数量。

检查工作表”Sheet2”是否存在:

Private Sub检查工作表是否存在()

Dim iCount As Integer

For iCount = 1 To Sheets.Count

If Sheets(iCount).Name = "Sheet2" Then

MsgBox "Sheet2已经存在"

Exit Sub

End If

Next iCount

End Sub

8.2 选取工作表

选取指定工作表:

Sheets(工作表名称或工作表序号).Select

举例:

Sheets(“Sheet2”).Select

Sheets(2).Select

设置活动工作表:

Sheets(工作表名称或工作表序号).Activate

举例:

Sheets("Sheet2").Activate

Sheets(2). Select

8.3 隐藏工作表

隐藏一个工作表:

Sheets(工作表名称或工作表序号).Visible=0

举例:

S heets(“Sheet2”).Visible=0

Sheets(2) .Visible=0

取消隐藏一个工作表:

Sheets(工作表名称或工作表序号).Visible=-1

举例:

Sheets(“Sheet2”).Visible=-1

Sheets(2) .Visible=-1

8.4 复制和移动工作表

1.复制

复制到指定工作表之前:

Sheets(工作表名称或工作表序号).Copy Befor:=Sheets(工作表名称或工作表序号) 复制到指定工作表之后:

Sheets(工作表名称或工作表序号).Copy After:=Sheets(工作表名称或工作表序号)

2.移动

移动到指定工作表之前:

Sheets(工作表名称或工作表序号).Move Befor:=Sheets(工作表名称或工作表序号) 移动到指定工作表之后:

Sheets(工作表名称或工作表序号).Move After:=Sheets(工作表名称或工作表序号) 8.5 删除工作表

删除指定工作表:Sheets(工作表名称或工作表序号).Delete

Sheets(”Sheet2”).Delete

Sheets(2).Delete

根据条件删除工作表

删除工作表名左边两位字符等”gz”的工作表

Private Sub 删除满足条件工作表

Dim I as integer

For i = .Sheets.Count To 1 Step -1

With .Sheets(i)

If Left(.NAME, 2)="gz" Then

.Delete

End If

End With

Next i

End Sub

8.6 工作表命名

修改指定工作表名称:Sheets(工作表名称或工作表序号).Name=工作表名称

把工作表Sheet2命名为GZSheet

Sheets(”Sheet2”).Name=”GZSheet”

Sheets(2).Name=”GZSheet”

注意:工作表的名称在一个工作中必须是唯一的,且不区分大小写和全半角的。也就是说在工作簿中把名称“SHEET2” ,”sheet2”看成是相同的名称。

8.7 工作表的保护

1.工作表的保护

Sheets(工作表名称或工作表序号).Protect password:=密码

2.解除工作表的保护

Sheets(工作表名称或工作表序号).Unprotect password:=密码

【转】EXCEL VBA应用教程----第9讲操作单元格

第9讲操作单元格

作者:https://www.wendangku.net/doc/9c1584235.html,/landmao

9.1 选取全部单元格

Cells.select

9.2 选取单元格

1.Range

Range表示单个单元格:Range(列标 & 行标)

举例:

选取A1单元格。

Range(" A1" )

Range(" A" & 1)

Range(“A1”).Select

数据库系统基础教程(第二版)课后习题答案

Database Systems: The Complete Book Solutions for Chapter 2 Solutions for Section 2.1 Exercise 2.1.1 The E/R Diagram. Exercise 2.1.8(a) The E/R Diagram Kobvxybz Solutions for Section 2.2 Exercise 2.2.1 The Addresses entity set is nothing but a single address, so we would prefer to make address an attribute of Customers. Were the bank to record several addresses for a customer, then it might make sense to have an Addresses entity set and make Lives-at a many-many relationship. The Acct-Sets entity set is useless. Each customer has a unique account set containing his or her accounts. However, relating customers directly to their accounts in a many-many relationship conveys the same information and eliminates the account-set concept altogether. Solutions for Section 2.3 Exercise 2.3.1(a) Keys ssNo and number are appropriate for Customers and Accounts, respectively. Also, we think it does not make sense for an account to be related to zero customers, so we should round the edge connecting Owns to Customers. It does not seem inappropriate to have a customer with 0 accounts;

数据库应用基础教程答案

数据库应用基础教程答案 【篇一:access数据库应用基础教程(第三版)习题及答 案】 txt>程(第三版)习题集答案 第1章数据库系统概述 1. 什么是数据库?什么是数据库系统?答:数据库(database) 是存放数据的仓库,严格的讲,数据库是长期存储在计算机内,有组 织的,可共享的大量数据集合。 数据库系统(database systems),是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的 数据处理的核心机构。它是一个实际可运行的存储、维护和应用系 统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。 2. 什么是数据库管理系统?它有哪些主要功能? 答:数据库管理系统(database management system)是一种操纵 和管理数据 库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。 数据库管理系统的主要功能有:数据定义、数据操作、数据库的运 行管理、数据组织、数据库的保护、数据库的维护和通信。 3. 说出几种常用的数据模型。 答:层次模型、网状模型、关系模型。 4. 什么是关系模型? 答:关系模型是用二维表的形式表示实体和实体间联系的数据模型。 5. 简述数据库设计的步骤。 答:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数 据库的建立和测试、数据库运行和维护。 第2章 sql 语言简介 1. 什么是sql语言?sql语言具有哪些特点和功能? 答:sql是一种数据库查询和程序设计语言,用于存取数据以及查询更新和管理关系 数据库系统。 sql的特点和功能有:查询,操作,定义和控制四个方面,sql语言 具有高度的非过程化,语言简洁,语义明显,语法结构简单,直观

数据库基础教程CH1 答案

Exercises 2.3.1 In this exercise we introduce one of our running examples of a relational database schema. The database schema consists of four relations, whose schemas are: Product (maker, model, type) PC (model, speed, ram. hd, price) Laptop (model, speed, ram, hd, screen, price) Printer (model, color, type, price) The Product relation gives the manufacturer, model number and type (PC, laptop, or printer) of various products. We assume for convenience that model numbers are unique over all manufacturers and product types; that assumption is not realistic, and a real database would include a code for the manufacturer as part of the model number. The PC relation gives for each model number that is a PC the speed (of the processor, in gigahertz), the amount of RAM (in megabytes), the size of the hard disk (in gigabytes), and the price. The Laptop relation is similar, except that the screen size (in inches) is also included. The Printer relation records for each printer model whether the printer produces color output (true, if so), the process type (laser or ink-jet, typically), and the price. Write the following declarations: a) A suitable schema for relation Product. b) A suitable schema for relation PC. c) A suitable schema for relation Laptop. d) A suitable schema for relation Printer. e)An alteration to your Printer schema from (d) to delete the attribute color. f)An alteration to your Laptop schema from (c) to add the attribute od (optical-disk type, e.g., cd or dvd). Let the default value for this attribute be 'none' if the laptop does not have an optical disk. Exercise 2.3.1a CREATE TABLE Product ( maker CHAR(30), model CHAR(10) PRIMARY KEY, type CHAR(15) ); Exercise 2.3.1b CREATE TABLE PC ( model CHAR(30), speed DECIMAL(4,2), ram INTEGER, hd INTEGER, price DECIMAL(7,2) );

数据库原理及应用教程第4版习题参考答案

习题参考答案 第1章习题参考答案 一、选择题 1. C 2. B 3. D 4. C 5. D 6. B 7. A 8. B 9. D 10. B 11. C 12. D 13. D 14. D 15. B 16. C 17. D 18. A 19. D 20. A 21. D 22. D 23. C 24. A 25. C 二、填空题 1. 数据库系统阶段 2. 关系 3. 物理独立性 4. 操作系统 5. 数据库管理系统(DBMS) 6. 一对多 7. 独立性 8. 完整性控制 9. 逻辑独立性 10. 关系模型 11. 概念结构(逻辑) 12. 树有向图二维表嵌套和递归 13. 宿主语言(或主语言) 14. 数据字典 15. 单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构 16. 现实世界信息世界计算机世界 三、简答题 1、简述数据库管理技术发展的三个阶段。各阶段的特点是什么? 答:数据库管理技术经历了人工管理阶段、文件系统阶段和数据库系统阶段。 (1)、人工管理数据的特点: A、数据不保存。 B、系统没有专用的软件对数据进行管理。 C、数据不共

享。D、数据不具有独立性。 (2)、文件系统阶段的特点: A、数据以文件的形式长期保存。 B、由文件系统管理数据。 C、程序与数据之间有一定的独立性。 D、文件的形式已经多样化 E、数据具有一定的共享性 (3)、数据库系统管理阶段特点: A、数据结构化。 B、数据共享性高、冗余度底。 C、数据独立性高。 D、有统一的数据控制功能。 2、从程序和数据之间的关系来分析文件系统和数据库系统之间的区别和联系 答:数据管理的规模日趋增大,数据量急剧增加,文件管理系统已不能适应要求,数据库管理技术为用户提供了更广泛的数据共享和更高的数据独立性,进一步减少了数据的余度,并为用户提供了方便的操作使用接口。数据库系统对数据的管理方式与文件管理系统不同,它把所有应用程序中使用的数据汇集起来,以记录为单位存储,在数据库管理系统的监督和管理下使用,因此数据库中的数据是集成的,每个用户享用其中的一部分。 3、简述数据库、数据库管理系统、数据库系统三个概念的含义和联系。答:数据库是指存储在计算机内、有组织的、可共享的数据集合。 数据库管理系统是软件系统的一个重要组成部分,它通过借助操作系统完成对硬件的访问,并对数据库的数据进行存取、维护和管理。 数据库系统是指计算机系统中引入数据库后的系统构成。它主要由数据库、数据库用户、计算机硬件系统和计算机软件系统几部分组成。 三者的联系是:数据库系统包括数据库和数据库管理系统。数据库系统主要通过数据库管理系统对数据库进行管理的。 4、数据库系统包括哪几个主要组成部分?各部分的功能是什么?画出整个数据库系统的层次结构图。 答:数据库系统包括:数据库、数据库用户、软件系统和硬件系统。 数据库主要是来保存数据的。 数据库用户是对数据库进行使用的人,主要对数据库进行存储、维护和检索等操作。 软件系统主要完成对数据库的资源管理、完成各种操作请求。 硬件系统主要完成数据库的一些物理上的操作,如物理存储、输入输出等。

南京理工大学《数据库系统基础教程》试题和答案

一、选择题60(选择一个最合适的答案,在答题纸上涂黑) 1.一个事务中的一组更新操作是一个整体,要么全部执行,要么全部不执行。这是事务的:A.原子性B.一致性 C.隔离性 D.持久性 2.在数据库的三级模式结构中,描述一个数据库中全体数据的全局逻辑结构和特性的是:A.外模式 B.模式 C.存储模式D.模式 3.关于联系的多重性,下面哪种说法不正确? A.一个多对多的联系中允许多对一的情形。 B.一个多对多的联系中允许一对一的情形。 C.一个多对一的联系中允许一对一的情形。 D.一个多对一的联系中允许多对多的情形。 4.考虑学校里的"学生"和"课程"之间的联系,该联系的多重性应该是: A. 一对一 B. 多对一 C. 一对多 D. 多对多 5.下面哪种约束要求一组属性在同一实体集任意两个不同实体上的取值不同。 A. 键(key)约束。 B. 单值约束。 C. 参照完整性。 D. 域(domain)约束 6.关系模型要求各元组的每个分量的值必须是原子性的。对原子性,下面哪种解释不正确:A.每个属性都没有部结构。 B.每个属性都不可再分解。 C.各属性值应属于某种基本数据类型。 D.属性值不允许为NULL。 7.对于一个关系的属性(列)集合和元组(行)集合,下面哪种说法不正确: A.改变属性的排列次序不影响该关系。 B.改变元组的排列次序不影响该关系。 C.改变元组的排列次序会改变该关系。 D.关系的模式包括其名称及其属性集合。 8.若R是实体集R1与R2间的一个多对多联系,将其转换为关系R',哪种说法不正确:A.R'属性应包括R1与R2的所有属性。 B.R'属性应包括R1与R2的键属性。 C.R1与R2的键属性共同构成R'的键。 D.R'的属性应包括R自身定义的属性。 9.关于函数依赖的判断,下面哪种说法不正确? A.若任意两元组在属性A上一致,在B上也一致,则有A → B成立。 B.若任意两元组在属性A上一致,在B上不一致,则A → B不成立。 C.若任意两元组在属性A上不可能一致,则不管在B上是否一致,有A → B成立。

Access数据库应用基础教程(第三版)习题及答案

Access数据库应用基础教程(第三版)习题集答案 第1章数据库系统概述 1. 什么是数据库?什么是数据库系统?答:数据库(database)是存放数据的仓库,严格的讲,数据库是长期存储在计算机内,有组织的,可共享的大量数据集合。 数据库系统(database systems),是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。 2. 什么是数据库管理系统?它有哪些主要功能? 答:数据库管理系统(database management system)是一种操纵和管理数据

库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。数据库管理系统的主要功能有:数据定义、数据操作、数据库的运行管理、数据组织、数据库的保护、数据库的维护和通信。 3. 说出几种常用的数据模型。 答:层次模型、网状模型、关系模型。4. 什么是关系模型? 答:关系模型是用二维表的形式表示实体和实体间联系的数据模型。 5. 简述数据库设计的步骤。 答:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的建立和测试、数据库运行和维护。 第2章 SQL 语言简介 1. 什么是SQL语言?SQL语言具有哪些特点和功能? 答:SQL是一种数据库查询和程序设计语言,用于存取数据以及查询更新和管理关系

数据库系统。 SQL的特点和功能有:查询,操作,定义和控制四个方面,SQL语言具有高度的非过程化,语言简洁,语义明显,语法结构简单,直观易懂的特点。SQL语言即可以作为独立语言使用,用户可以在终端键盘上直接键入SQL命令对数据库进行操作,也可以作为嵌入式语言,嵌入到其他高级语言中。 2. SQL语言包含哪几个部分? 答:SQL语言包含4个部分:数据定义语言(DDL-Data Definition Language)、数据查询语言(DQL-Data Query Language)、数据操纵语言(DML-Data Manipulation Language)、数据控制语言(DCL-Data Control Language) 3. 在联接查询中,包含哪几类联接?答:联接可分为3类: (1)内部联接(典型的联接运算,使用类似于 = 或 <> 的比较运算符)。内部联接使用比较运算符根据每个表的通用列中的值匹配两个表中的行。内部联接包括同等

2019年大学《数据库原理及应用教程》试题及答案

《数据库原理及应用教程》试题及答案 一、选择题 1、下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是 (B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构

C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 算法的空间复杂度是指(D) A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间 (13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A. 349 B. 350 C. 255 D. 351 (14) 结构化程序设计主要强调的是(B) A.程序的规模 B.程序的易读性

数据库系统基础教程(第二版)课后习题答案2

Database Systems: The Complete Book Solutions for Chapter 2 Solutions for Section 2.1 Exercise 2.1.1 The E/R Diagram. Exercise 2.1.8(a) The E/R Diagram Kobvxybz Solutions for Section 2.2 Exercise 2.2.1 The Addresses entity set is nothing but a single address, so we would prefer to make address an attribute of Customers. Were the bank to record several addresses for a customer, then it might make sense to have an Addresses entity set and make Lives-at a many-many relationship. The Acct-Sets entity set is useless. Each customer has a unique account set containing his or her accounts. However, relating customers directly to their accounts in a many-many relationship conveys the same information and eliminates the account-set concept altogether. Solutions for Section 2.3 Exercise 2.3.1(a) Keys ssNo and number are appropriate for Customers and Accounts, respectively. Also, we think it does not make sense for an account to be related to zero customers, so we should round the edge connecting Owns to Customers. It does not seem inappropriate to have a customer with 0 accounts;

数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”和“值”之分;○2数据受数据类型和取值范围的约束;○3数据有定性表示和定量之分;○4数据应具有载体和多种表现形式。 3、(1)数据管理的功能:○1组织和保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存;○2数据维护功能,即根据需要随时进行插入新数据,修改原数据和删除失效数据的操作;○3数据查询和数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全和完整性控制功能,即能保护数据的安全和完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。 4、(1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。其数据存储和数据操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露和破坏,也就是避免数据被人偷看、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效和相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件和用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。②数据库管理系统和主语言系统:数据库管理系统是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具是DBMS系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系统的开发和使用提供了良好的环境和帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。(3)关系:

数据库系统基础教程课后答案第五章

Exercise 5.1.1 As a set: Average = 2.37 As a bag: Average = 2.48 Exercise 5.1.2 As a set:

Average = 218 As a bag: Average = 215 Exercise 5.1.3a As a set:

As a bag: Exercise 5.1.3b πbore(Ships Classes) Exercise 5.1.4a For bags: On the left-hand side: Given bags R and S where a tuple t appears n and m times respectively, the union of bags R and S will have tuple t appear n + m times. The further union of bag T with the tuple t appearing o times will have tuple t appear n + m + o times in the final result. On the right-hand side: Given bags S and T where a tuple t appears m and o times respectively, the union of bags R and S will have tuple t appear m + o times. The further union of bag R with the tuple t appearing n times will have tuple t appear m + o + n times in the final result. For sets: This is a similar case when dealing with bags except the tuple t can only appear at most once in each set. The tuple t only appears in the result if all the sets have the tuple t. Otherwise, the tuple t will not appear in the result. Since we cannot have duplicates, the result only has at most one copy of the tuple t. Exercise 5.1.4b For bags: On the left-hand side:

vlookup函数的使用方法实例

VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用。VLOOKUP是按列查找,最终返回该列所需查询列序所对应的值;与之对应的HLOOKUP是按行查找的。 VLOOKUP函数的语法结构 整个计算机就相当于一门语言,首先我们就是要获取该函数的语法结构。以下是官网的语法结构 VLOOKUP(lookup_value, table_array, col_index_num, [range_looku p])。 书上表述就是VLOOKUP(查找值,查找范围,查找列数,精确匹配或者近似匹配) 在我们的工作中,几乎都使用精确匹配,该项的参数一定要选择为false。否则返回值会出乎你的意料。 VLOOKUP函数使用示范 vlookup就是竖直查找,即列查找。通俗的讲,根据查找值参数,在查找范围的第一列搜索查找值,找到该值后,则返回值为:以第一列为准,往后推数查找列数值的这一列所对应的值。这也是为什么该函数叫做vlookup(v为vertic al-竖直之意,lookup即时英文的查找之意)。 现有如下手机的每日销售毛数据(图左),A分销商需要提供四个型号的销售数据(图右)

这个时候,你大概可能回去一个一个人工查找,因为我所提供的数据数量很少,但是其实工作中这种数据很庞大的,人工查找无疑即浪费时间,而且不能让A分销商相信你所提供数据的准确性。接下来,我们就需要本次的主角登场了。使用vlookup函数。 第一步:选中要输入数据的单元格,=VLOOKUP(H3,$A$3:$F$19,5,FALSE)如图

数据库基础教程课后习题答案顾韵华

习题1 1、简述数据库系统的特点。 答:数据库系统的特点有: 1)数据结构化 在数据库系统中,采用统一的数据模型,将整个组织的数据组织为一个整体;数据不再仅面向特定应用,而是面向全组织的;不仅数据内部是结构化的,而且整体是结构化的,能较好地反映现实世界中各实体间的联系。这种整体结构化有利于实现数据共享,保证数据和应用程序之间的独立性。 2)数据共享性高、冗余度低、易于扩充 数据库中的数据能够被多个用户、多个应用程序共享。数据库中相同的数据不会多次重复出现,数据冗余度降低,并可避免由于数据冗余度大而带来的数据冲突问题。同时,当应用需求发生改变或增加时,只需重新选择不同的子集,或增加数据即可满足。 3)数据独立性高 数据独立性是由DBMS 的二级映像功能来保证的。数据独立于应用程序,降低了应用程序的维护成本。 4)数据统一管理与控制 数据库中的数据由数据库管理系统(DBMS )统一管理与控制,应用程序对数据的访问均经由DBMS 。DBMS 提供四个方面的数据控制功能:并发访问控制、数据完整性、数据安全性保护、数据库恢复。 2、什么是数据库系统? 答:在计算机系统上引入数据库技术就构成一个数据库系统(DataBase System ,DBS )。数据库系统是指带有数据库并利用数据库技术进行数据管理的计算机系统。DBS 有两个基本要素:一是DBS 首先是一个计算机系统;二是该系统的目标是存储数据并支持用户查询和更新所需要的数据。 3、简述数据库系统的组成。 答:数据库系统一般由数据库、数据库管理系统(及其开发工具)、数据库管理员(DataBase Administrator ,DBA )和用户组成。 4、试述数据库系统的三级模式结构。这种结构的优点是什么? 答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,同时包含了二级映像,即外模式/模式映像、模式/内模式映像,如下图所示。 数据库应用1…… 外模式A 外模式B 模式 应用2应用3应用4应用5…… 模式 外模式/模式映像 模式/内模式映像 数据库系统的这种结构具有以下优点: (1)保证数据独立性。将外模式与模式分开,保证了数据的逻辑独立性;将内模式与模式分开,保证了数据的物理独立性。 (2)有利于数据共享,减少了数据冗余。 (3)有利于数据的安全性。不同的用户在各自的外模式下根据要求操作数据,只能对

通达信指标公式编辑教程大全(函数+指标+实例)

通达信指标公式编辑教程大全(函数+指标+实例)简介 TDX的公式系统是一套功能强大、使用简单的计算机描述系统。用户可以通过对每日深沪两地交易所和历史上发送的行情数据按照简单的运算法则进行分析、选股、测试,在TDX当中一共提供了四大类公式编辑器: 1 技术指标公式编辑器 技术指标公式即通常所说画线指标,此类公式的主要目的是通过对数据采取一定的运算,将输出结果直观的显现在分析图上,为投资者提供研判行情的基本依据。此类指标至少要有一条输出线,本系统允许最多6条的输出线。 技术指标公式编辑器实现对技术图表分析中各类技术指标和自我定义的技术分析指标的编写,并且通过TDX的分析界面形成图表、曲线,以方便和寻找有意义的技术图形和技术特征。 2 条件选股公式编辑器 也就是通常意义上解释的智能选股。但我们的目的在于建立一个完全开放、自由的选股平台,可以通过对该平台的熟练使用,借助计算机的高速和准确的检索功能寻找满足您的理解的股票形态和技术特征,作到先知先觉,快人一步!并且提供相应的同样开放式的结果检测报告。 3 五彩K线公式编辑器 准确讲,该编辑器的功能是附属于条件选股功能之上的,我们可以通过该功能将满足条件的连续K 线形态赋予颜色,区别了其它的K线。 条件选股公式与五彩K线公式的区别: 条件选股公式和五彩K线公式都有且仅有一个输出,其目的都是为投资者提供买入或卖出点的指示,不同之处在于:条件选股公式仅对最近数据提示买入或卖出,而五彩K线公式则对输入的所有历史数据进行提示。另外,五彩K线公式的输出是在K线图上,通过各种颜色对提示数据进行标识,条件选股公式的输出是找出符合最近条件的所有股票。 4 交易系统公式编辑器 交易系统公式是通过设定买入和卖出点(有且仅有这两个输出),由计算机进行模拟操作。以此为依据,系统一方面可以进行五彩K线公式的功能,同时提示买入和卖出;另一方面可以通过模拟操作,对指标买卖的收益、指标的最佳参数及最佳指标等各情形进行测试。 交易系统是在条件选股功能上的一次大的延伸,旨在建立一套完整的交易规则体系,通过该编辑器对各个相关的交易环节,包括买入的切入、卖出、止损以及整体的交易性能检验等等作出定量的规定,帮助投资者建立一套属于自己的买卖规则和理论。 TDX系统所有的分析方法,包括技术指标、条件选股、交易系统和五彩K线,均采用开放平台进行描述。也就是说,所有分析方法的算法对用户时开放的,任何人都可以对原算法进行修改,或增加自己的新算法。 5 公式管理器

数据库系统原理与应用教程第四版课后答案

第一章 1、( 1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1 数据有“型”和“值” 之分;○2 数据受数据类型和取值范围的约束; ○3 数据有定性表示和定量之分;○ 4 数据应具有载体和多种表现形式。 3、( 1)数据管理的功能:○ 1 组织和保存数据功能,即将收集到的数据合理地分类组织,将 其存储在物理载体上,使数据能够长期的被保存;○2数据维护功能,即根据需要随时进行插入 新数据,修改原数据和删除失效数据的操作;○3 数据查询和数据统计功能,即快速的得到需要 的正确数据,满足各种使用要求;○4 数据的安全和完整性控制功能,即能保护数据的安全和完 整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织 并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。 4、( 1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的 计算机软件系统。 (2)数据库中的数据具有的特点:○ 1 数据库中的数据具有整体性,即数据库中的数据要保持自 身完整的数据结构;○2 数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数 据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、( 1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。数据库管理系统能 够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、 安全性进行操作的功能。 (2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。其数据存储和数据 操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作; 数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录; 数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的 需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数 据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠, 防止不合法的使用造成数据库泄露和破坏,也就是避免数据被人偷看、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效和相容,防止不合语意的错误数 据被输入或输出。 14、( 1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统( DBMS)、主语言系统、应用程序软件和用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系 统中它起着支持 DBMS 及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系 统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。②数据库管理系统和 主语言系统:数据库管理系统是为定义、建立、维护、使用及控制数据库而提供的有关数据 管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、 图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具是 DBMS 系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机 语言等各种软件工具.如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系 统的开发和使用提供了良好的环境和帮助。④应用系统及数据库:数据库应用系统包括为特 定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。 通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。( 3)关系:

SQLServer2008数据库应用教程课后答案

第1章数据库基础 一、单项选择题 1.C 2.A 3.C 4.D 5.D 6.B 7.A 8.B 9.B 10.D 11.C 12.A 13.C 14.B 15.A 16.B 17.A 18.D 19.B 20.B 21.A; D 22.A 23.C 24.D 25.B 26.B 27.B 28.D 29.B 30.B 二、填空题 1.概念;数据 2.属性 3.码 4.一对一联系;一对多(或多对一)联系;多对多联系 5.候选码 6.候选码 7.关系名(属性1,属性2,…,属性n) 8.关系数据结构;关系操作集合;关系完整性约束 9.实体;参照;用户定义的;实体;参照 10.空植 11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段 12.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的基础。 13.将需求分析得到的用户需求抽象为信息结构即概念模型。 14.将概念结构进一步转化为某一DBMS支持的数据模型,并对其进行优化。 15.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。 三、指出以下各缩写的英文意思和中文意思 1.DB:DataBase 2.DBMS:Database Management System 3.RDBMS: 4.DBS:DataBase System 5.DBA:Relational Database Management System 6.NF:Normal Form 7.DDL:Data Definition Language 四、按题目要求回答问题

Oracle11g数据库基础教程-参考答案

Oracle11g数据库基础教程 参考答案

第1章Oracle 11g数据库安装与配置1.简答题 (1) 企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序:标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。 (2) 常用数据库类型包括事务处理类、数据仓库类以通用类型。其中事务处理类型主要针对具有大量并发用户连接,并且用户主要执行简单事务处理的应用环境。事务处理数据库的典型应用有银行系统数据库、Internet电子商务数据库、证券交易系统数据库等。对于需要较高的可用性和事务处理性能、存在大量用户并行访问相同数据以及需要较高恢复性能的数据库环境,事务处理类型的配置可以提供最佳性能;数据仓库类型的数据库主要针对有大量的对某个主题进行复杂查询的应用环境。数据仓库的典型应用有客户订单研究、支持呼叫、销售预测、采购模式以及其他战略性业务问题的历史数据研究。对于需要对大量数据进行快速访问,以及复杂查询的数据库环境,数据仓库类型配置是最佳选择;通用类型配置的数据库是事务处理数据库与数据仓库配置的折衷方案。既可以支持大量并发用户的事务处理,又可以快速对大量历史数据进行复杂的数据扫描和处理。 (3) 数据库名可以由字母、数字、下划线(_)、#和美元符号($)组成,且必须以字母开头,长度不超过30个字符。在单机环境中,可以不设置域名,域名长度不能超过128个字符。Oracle服务标识符(SID)是一个Oracle实例的唯一名称标识,长度不能超过12个字符。(4) ● OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务,是数据库启 动的基础,只有该服务启动,Oracle数据库才能正常启动。(必须启动) ● OracleOraDb11g_home1TNSListener:监听器服务,该服务只有在远程访问数据库时 才需要(无论远程计算机还是本地计算机,凡是通过Oracle Net网络协议连接数据库都属于远程访问)。(必须启动) ● OracleOraDb11g_home1ConfigurationManager:配置Oracle启动时的参数的服务。(非 必须启动) ● OracleOraDb11g_home1ClrAgent:提供对.NET支持的Oracle数据库扩展服务。(非 必须启动) ● OracleJobSchedulerORCL:数据库作业调度服务。(非必须启动) ● OracleDBConsoleorcl:Oracle控制台服务,即企业管理器服务。只有该服务启动了, 才可以使用Web方式的企业管理器管理数据库。(非必须启动) ● OracleVssWriterORCL:是Oracle对VSS提供支持的服务。(非必须启动) ● OracleMTSRecoveryService:是允许数据库充当一个微软事务服务器、COM/COM+ 对象和分布式环境下的事务资源管理器的服务。

相关文档
相关文档 最新文档