第八章考点总结Word下载.docx
《第八章考点总结Word下载.docx》由会员分享,可在线阅读,更多相关《第八章考点总结Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
命令按钮的名称为bt1时,单击事件代码为:
bt1_click();
窗体的加载代码是:
Form_Load;
五、VBA程序的书写格式:
(课本206页)
1)一个语句,通用写成一行;
当一行写不下时,可以续行符(_)将语句写在下一行。
2)可以使用冒号(:
)将多个语句写在一行中。
3)可以在程序中加入注释语句,以说明程序。
其实现有两种方式:
格式一是Rem注释语句格式二是‘注释语句。
六、控件或窗体属性的访问方式:
(本窗体是指产生事件的窗体或产生事件的控件所在的窗体)(课本210页四.数据库对象变量)
a、访问本窗体的属性:
Me.属性名或者属性名。
如:
Me.Caption=”学生窗体”。
b、访问本窗体中控件的属性:
Me.控件名.属性名或者控件名.属性名
Me.用户名.Value=”张三”或用户名.Value=”张三”。
c、访问其它窗体的属性:
Forms!
窗体名.属性名。
d、访问其它窗体中控件的属性:
窗体名.控件名.属性名。
七、变量的作用范围(课本210页三.变量的作用域)
在过程中声明的变量(局部变量),只能在本过程中作用,而在过程外部是不能对其进行访问的。
而在过程外声明的变量(全局变量),在本模块中的所的过程都可对此同一个变量进行访问。
例子如下:
a、一般是先声明变量而后使用,但也可以直接使用,此时一般是作为局部变量。
b、变量在声明时,都有一个默认值。
数值类型的变量为0,而字符串类型的为空字符串(“”)。
c、当局部变量与全局变量同名时,在过程中优先使用的是局部变量。
八、变量的生命周期(课本210页三.变量的作用域)
局部范围:
在过程中定义的变量,其生命周期是从开始执行时开始,到过程结束时为止。
每次调用时,都是一次新的开始。
但用static定义的局部变量,其持续时间是整个应用程序的时间,多次调用都是同一个变量。
全局范围:
在模块中定义的变量,其生命周期是整个模块的执行时间,多个过程访问是的同一个变量。
九、数组的下标与元素的访问(课本211页五.数组)
数组可以用来保存同类型的多个数据。
使用数组的好处就是数组中的所有值都以一个名称进行存储,并且可以使用下标来单独地标识这些数组元素。
定义的格式:
Dim数组名([下标下界to]下标上界)as数据类型
当省略了下标下界时,其默认的下标下界值是0。
也可以在模块的声明部分使用”OptionBase0/1”语句来将数组的默认下标从0改了1。
定义:
Dimid(9)asInteger
在计算机中的表示方式为:
Dimid(2to11)asInteger
从上图的2位置开始的
Dim座位号(3,1to5)asInteger
一十、数值函数:
重要(课本213页)附表A
a、abs(数值):
求数值的绝对值。
b、int(数值)和fix(数值)(重要):
都是用来求数值的整数部分。
当数值为正数时,两都的结果相同;
但当数值为负数时,int返回小于或等于参数值的第一个负数,而fix返回大于或等于参数值的第一个负数。
int(3.9)=fix(3.9)=3,但int(-3.9)=-4而fix(-3.9)=-3。
c、sqr(数值):
返回数值的平方根。
如sqr(9)=3。
d、Rnd():
返回一个0~1之间的一个单精度数。
e、Sgn(数值):
返回数值的符号。
正数返回1,负数返回-1,0返回0。
一十一、字符函数(重要):
(课本214页)附表A
a、inStr([开始位置,]母字符串,子字符串):
返回子字符串第一次在母字符串中出现的位置。
如没有开始位置,则是指从第一个字符开始(即从1开始)。
inStr(“98765”,”65”)=4。
如在母字符串中找不到,则返回0。
b、len(字符串):
返回字符串中字符的个数。
c、left(字符串,字符个数):
从字符串的左边起截取指定个数的字符。
Right(字符串,字符个数):
从字符串的右边起截取指定个数的字符。
Mid(字符串,开始的位置[,字符个数]):
从字符串的指定位置起截取指定个数的字符,如省略第三个参数,则表示一直截取到最后一个。
left(“计算机等级考试”,3)=”计算机”,Right(“计算机等级考试”,4)=”等级考试”,Mid(“计算机等级考试”,4)=”等级考试”。
d、space(数值):
返回指定数值的空格字符串。
一十二、日期函数(重要):
(课本215页)
a、Date():
表示系统当前的日期;
Time():
表示系统当前的时间;
Now():
表示系统当前的日期和时间。
b、Year(日期):
返回指定日期中的年数;
Month(日期):
返回指定日期中的月数;
Day(日期):
返回指定日期中的天数;
Weekday(日期):
返回指定日期中的星期数,星期日为1。
一十三、类型转换函数:
(课本218页)
a、Asc函数:
Asc(“字符串”),返回字符串首字符的ASCII值。
Asc(“abcd”),返回值为:
97(a的ASCII值为97)。
b、Chr函数:
Chr(数值),返回ASCII数值对应的字符。
Chr(97),返回值为:
a
c、Str函数:
Str(数值),将数值转换成相应的字符串,对应的字符串中总有一个字符用来表示数值的正负。
Len(Str(99))=3,而Len(Str(-6))=2。
(重要)
d、Val函数:
Val(“字符串”),将字符串转换成数值。
其能自动去掉字符串中的空格、制表符和换行符,
并且直到第一个非数值字符为止。
Val(“345”)=345,而Val(“345abc678”)=345(重要)
e、Nz函数:
Nz(表达式[,指定值]),当表达式的值为空(null)时,将其值转换成0、空字符串(“”)或指定的值。
Val(Nz(InputBox(“请输入分数”,”60”)),相当于指定了输入默认值为60。
一十四、算术运算符(课本219页)
算术运算符有乘幂(^)、乘法(*)、除法(/)、整数除法(\)、求模运算(mod)、加法(+)及减法(-)。
1)整数除法时,若操作数有小数,则先取整后再运算,其结果也仅取整数。
取整是仅要数值的整数部分,不进行四舍五入。
9.8\2=4
2)求模运算时,若操作数有小数,则选进行四舍五入后再进行运算,其结果的符号仅与被除数的相同。
-9.8mod3=-1
3)运算的优先级从高到低:
乘幂、乘法与除法、整数除法、求模运算、加法与减法。
3*3\3/3=9
一十五、连接运算符(课本220页)
字符串连接运算符能将两个操作数连接成一个字符串,有”&
”和”+”两个。
1)“&
”运算符是将两个操作数强制当作字符串连接。
”2+3”&
“=”&
(2+3)结果为”2+3=5”
2)“+”运算符是将两个字符串连接成一个字符串。
即仅当两个操作数都是字符串时,才能进行连接。
一十六、运算符的优先级(课本220页)
不同运算符间的优先级从高到低为:
算术运算符>
连接运算符>
关系运算符>
逻辑运算符>
赋值运算符。
a=10:
b=5:
c=6
MsgBoxa=b+c结果为:
0,原因是a=b+c整个当作一个表达式,关系运算符>
赋值运算符(10=11为假)
一十七、控制语句:
条件与循环语句(课本220页)笔试题容易出,重点讲
条件语句的:
if…then…endif和SelectCase…EndSelect结构。
而循环语句有:
for…next和do…loop结构。
对于此类型的题目,最好的方法是逐一的写出其执行的完整过程,最后得出结果。
从考试题目来看,一般只要几步都可以得出结果。
如下所示:
例一:
n=10;
m=l;
k=1
DoWhilek<
=n
m=m*2
k=k+1
Loop
MsgBoxm1024
一十八、条件函数(课本226页)
一十九、按值传递参数(课本236页)
当在进行声明时,如果在形参名称前使用了ByVal关键字的话,则是按值传递参数。
其特征时,当将实参的值赋值给形参之后,两者之间没有了任何关系。
即以后在过程上修改了形参的值,对实参没有任何的影响。
Subswap(ByValaasInteger,ByValbasInteger)
Dimcasinterger
C=a:
a=b:
b=c
Endsub
X=10:
y=20
Swap(x,y)
分析:
因为声明时,参数名称前有ByVal关键字,故是按值传递参数的形式。
在调用时,将实参的值赋给相应的形参:
a=x=10,b=y=20,之后,a与x,b与y之间就是独立的不同变量。
当执行交换语句后,a与b的值进行了交换,即a=20,b=10。
此时,x与y的值不受影响,还是原值,即x=10,y=20.
二十、按引用传递参数(课本236页)
当在进行声明时,如果在形参名称前使用了ByRef关键字的话,则是按引用传递参数。
其特征时,实参与形参相应于同一个变量。
即以后在过程上修改了形参的值,就相当于修改了实参的值。
当参数名称前没有ByVal或ByRef时,其默认是按引用传递参数(ByRef)。
Subswap(ByRefaasInteger,ByRefbasInteger)
因为声明时,参数名称前有ByRef关键字,故是按引用传递参数的形式,此时,a相当于x,b相当于是y.
交换前,a=x=10,b=y=20
交换后,x=a=20,y=b=10
二十一、消息框(MsgBox)(课本248页)或者是附表A
消息框用于在对话框中显示消息、等待用户单击按钮,并返回一个整数值告诉用户单击哪一个按钮。
其格式为:
MsgBox“提示的内容”,对话框的类型,”提示的标题”。
其中对话框的类型的值有:
同时,在MsgBox中还可以显示一些标志信息,例如提问等,不同的标志信息和按钮可以使用“+”号连接起来共同显示,例如,下面的代码运行效果如下图所示:
MsgBox“确实要删除数据吗?
”,vbQuestion+vbYesNo,”删除数据”
二十二、VBA程序中执行宏操作的方式(课本247页)
在VBA程序中,可以通过DoCmd对象来操纵所有的宏操作。
考试考得多的宏操作有:
打开表(OpenTable)、打开查询(OpenQuery)、打开窗体(OpenForm)、打开报表(OpenReport)、打开宏(OpenMacro)以及对这些对象的关闭操作(Close)。
二十三、数据库编程方式:
VBA中提供了三种数据库访问方式:
ODBC,开放数据库互连;
DAO,数据访问对象;
ADO,Active数据对象。
二十四、DAO编程
(一)DAO模型结构(课本260页)
DBEngine:
是DAO模型的最上层对象,而且包含并控制DAO模型中的其他全部对象。
Workspace:
表示一个工作区,代表一种访问数据库的方式。
默认的是DAO方式。
Database:
代表打开的一个数据库,可对其进行操作。
RecordSet:
代表数据访问所返回的一个记录集。
Field:
代表记录集中的一个字段。
(二)通过DAO访问数据(课本260页)
(三)通过DAO更新数据
subupdateData()
‘第一部分:
定义相应的变量
DimwsasDAO.Workspace
DimdbasDAO.Database
DimrsasDAO.Recordset
DimfdasDAO.Field
‘第二部分:
访问数据库
setws=DBEngine.Workspaces(0)
setdb=ws.OpenDatabase(“c:
\教学管理数
据.mdb”)
setrs=db.OpenRecordSet(“学生表”)
setfd=rs.Fields(“姓名”)
‘第三部分:
遍历记录集中的每一行
dowhileNotrs.eof
rs.Edit
fd=fd&
“a”
rs.Update
rs.MoveNext
loop
‘第四部分:
关闭
rs.Close
db.Close
setrs=Nothing
setdb=Nothing
二十五、ADO编程:
重要
(一)ADO对象(课本261页)
Connection:
代表与数据库建立的一个连接对象,就好象一个通道。
Commend:
代表一个SQL命令。
RecordSet:
Field:
(二)通过ADO访问数据(课本267页)
sublookData()
DimcnasADODB.Connection
DimrsasADODB.Recordset
DimfdasADODB.Field
cn.Provider=”Microsoft.Jet.OLEDB.4.0”
cn.Open“c:
\教学管理数据.mdb”
rs.Open“学生表”,cn
setfd=rs.Fields(“姓名”)
Debug.printfd
rs.Close
setrs=Nothing
setdb=Nothing
endsub
(三)通过ADO更新数据
cn.Provider=”Microsoft.Jet.OLEDB.4.0”
\教学管理数据.mdb”
二十六、访问数据库的函数:
重要(课本277页)
下列四个函数可以用来直接访问记录集中的数据。
格式为:
函数名(字段名称,记录集[,条件]),其中记录集可以是表、查询或SQL语句。
1、DCount函数:
返加指定记录集中的记录个数。
2、DAvg函数:
返加指定记录集中某字段的平均值。
3、DSum函数:
返加指定记录集中某字段的总和。
4、DLookup函数:
返回指定记录集中某字段的值。
(课本278页)
例子1:
在一个文本框中显示所有女教师的总人数。
则在文本框的控件来源中填入:
=Dcount(“编号”,”教师表”,”性别=’女’”)
例子2:
根据窗体上一个文本框控件(名为tNum)中输入的课程编号,而从课程表里对应的课程名称显示在另一个文本框控件(名为tName)中。
PrivatesubtNum_AfterUpdate()
Me.tName=DLookup(“课程名称”,”课程表”,”编号=’”&
me.tNum&
“’”
在SQL语句的条件中,当字段的内容为字符串型的时,要用单引号括起来的。
姓名为张三的学生,应写成:
姓名=’张三’