1、命令按钮的名称为bt1时,单击事件代码为:bt1_click();窗体的加载代码是:Form_Load;五、 VBA 程序的书写格式:(课本206页)1) 一个语句,通用写成一行;当一行写不下时,可以续行符(_)将语句写在下一行。2) 可以使用冒号(:)将多个语句写在一行中。3) 可以在程序中加入注释语句,以说明程序。其实现有两种方式:格式一是 Rem 注释语句 格式二是 注释语句。六、 控件或窗体属性的访问方式:(本窗体是指产生事件的窗体或产生事件的控件所在的窗体)(课本210页 四.数据库对象变量)a、 访问本窗体的属性:Me.属性名或者属性名。如:Me.Caption=”学生窗体”。b、
2、访问本窗体中控件的属性:Me.控件名.属性名或者控件名.属性名Me.用户名.Value=”张三”或用户名.Value=”张三”。c、 访问其它窗体的属性:Forms!窗体名.属性名。d、访问其它窗体中控件的属性:窗体名.控件名.属性名。七、 变量的作用范围(课本210页 三.变量的作用域)在过程中声明的变量(局部变量),只能在本过程中作用,而在过程外部是不能对其进行访问的。而在过程外声明的变量(全局变量),在本模块中的所的过程都可对此同一个变量进行访问。例子如下:a、 一般是先声明变量而后使用,但也可以直接使用,此时一般是作为局部变量。b、 变量在声明时,都有一个默认值。数值类型的变量为0,而
3、字符串类型的为空字符串(“”)。c、 当局部变量与全局变量同名时,在过程中优先使用的是局部变量。八、 变量的生命周期(课本210页 三.变量的作用域)局部范围:在过程中定义的变量,其生命周期是从开始执行时开始,到过程结束时为止。每次调用时,都是一次新的开始。但用static定义的局部变量,其持续时间是整个应用程序的时间,多次调用都是同一个变量。全局范围:在模块中定义的变量,其生命周期是整个模块的执行时间,多个过程访问是的同一个变量。九、 数组的下标与元素的访问(课本211页 五.数组)数组可以用来保存同类型的多个数据。使用数组的好处就是数组中的所有值都以一个名称进行存储,并且可以使用下标来单独
4、地标识这些数组元素。定义的格式: Dim 数组名(下标下界 to 下标上界) as 数据类型当省略了下标下界时,其默认的下标下界值是0。也可以在模块的声明部分使用”Option Base 0/1”语句来将数组的默认下标从0 改了 1。定义: Dim id(9) as Integer 在计算机中的表示方式为: Dim id(2 to 11) as Integer 从上图的2位置开始的Dim 座位号(3, 1 to 5) as Integer一十、 数值函数:重要(课本213页)附表Aa、abs(数值):求数值的绝对值。b、int(数值)和 fix(数值) (重要):都是用来求数值的整数部分。当数
5、值为正数时,两都的结果相同;但当数值为负数时,int 返回小于或等于参数值的第一个负数,而 fix 返回大于或等于参数值的第一个负数。int(3.9)=fix(3.9)=3,但 int(-3.9)= -4 而 fix(-3.9)= -3。 c、sqr(数值):返回数值的平方根。如 sqr(9)=3。d、Rnd():返回一个01 之间的一个单精度数。e、Sgn(数值):返回数值的符号。正数返回1,负数返回-1,0 返回 0。一十一、 字符函数(重要):(课本214页)附表Aa、inStr(开始位置,母字符串,子字符串):返回子字符串第一次在母字符串中出现的位置。如没有开始位置,则是指从第一个字符
6、开始(即从 1 开始)。inStr(“98765”,”65”)=4。如在母字符串中找不到,则返回0。b、len(字符串):返回字符串中字符的个数。c、left(字符串,字符个数):从字符串的左边起截取指定个数的字符。Right(字符串,字符个数):从字符串的右边起截取指定个数的字符。Mid(字符串,开始的位置,字符个数):从字符串的指定位置起截取指定个数的字符,如省略第三个参数,则表示一直截取到最后一个。left(“计算机等级考试”,3)=”计算机”,Right(“计算机等级考试”,4)=” 等级考试”,Mid(“计算机等级考试”,4)=” 等级考试”。d、space(数值):返回指定数值的空
7、格字符串。一十二、 日期函数(重要):(课本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数值对应的字符。Ch
8、r(97),返回值为:a c、 Str函数:Str(数值),将数值转换成相应的字符串,对应的字符串中总有一个字符用来表示数值的正负。Len(Str(99)=3,而 Len(Str(-6)=2。 (重要)d、Val函数:Val(“字符串”),将字符串转换成数值。其能自动去掉字符串中的空格、制表符和换行符,并且直到第一个非数值字符为止。Val(“3 45”)=345,而 Val(“345abc678”)=345(重要)e、 Nz函数:Nz(表达式,指定值),当表达式的值为空(null)时,将其值转换成0、空字符串(“”)或指定的值。Val(Nz(InputBox(“请输入分数”,”60”),相当于
9、指定了输入默认值为60。一十四、 算术运算符(课本219页 )算术运算符有乘幂()、乘法(*)、除法(/)、整数除法()、求模运算(mod)、加法(+)及减法(-)。1) 整数除法时,若操作数有小数,则先取整后再运算,其结果也仅取整数。取整是仅要数值的整数部分,不进行四舍五入。9.82=4 2) 求模运算时,若操作数有小数,则选进行四舍五入后再进行运算,其结果的符号仅与被除数的相同。-9.8 mod 3=-1 3) 运算的优先级从高到低:乘幂、乘法与除法、整数除法、求模运算、加法与减法。3*33/3=9 一十五、 连接运算符(课本220页)字符串连接运算符能将两个操作数连接成一个字符串,有”&
10、”和”+”两个。1) “&”运算符是将两个操作数强制当作字符串连接。”2+3” & “=” & (2+3) 结果为”2+3=5” 2) “+”运算符是将两个字符串连接成一个字符串。即仅当两个操作数都是字符串时,才能进行连接。一十六、 运算符的优先级(课本220页)不同运算符间的优先级从高到低为:算术运算符连接运算符关系运算符逻辑运算符赋值运算符。a=10:b=5:c=6 MsgBox a=b+c 结果为:0 ,原因是a=b+c整个当作一个表达式,关系运算符赋值运算符(10=11为假) 一十七、 控制语句:条件与循环语句(课本220页)笔试题容易出,重点讲条件语句的:ifthenend if和
11、Select Case End Select结构。而循环语句有:fornext和 doloop 结构。对于此类型的题目,最好的方法是逐一的写出其执行的完整过程,最后得出结果。从考试题目来看,一般只要几步都可以得出结果。如下所示:例一:n=10; m=l; k=1 Do While k=n m=m*2 k=k+1 Loop MsgBox m 1024一十八、 条件函数(课本226页)一十九、 按值传递参数(课本236页)当在进行声明时,如果在形参名称前使用了ByVal 关键字的话,则是按值传递参数。其特征时,当将实参的值赋值给形参之后,两者之间没有了任何关系。即以后在过程上修改了形参的值,对实参
12、没有任何的影响。Sub swap(ByVal a as Integer,ByVal b as Integer )Dim c as interger C=a:a=b:b=cEnd sub X=10:y=20Swap(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页)当在进行声明时,如果在形参名称前使用了B
13、yRef关键字的话,则是按引用传递参数。其特征时,实参与形参相应于同一个变量。即以后在过程上修改了形参的值,就相当于修改了实参的值。当参数名称前没有ByVal或 ByRef时,其默认是按引用传递参数(ByRef)。Sub swap(ByRef a as Integer,ByRef b as Integer )因为声明时,参数名称前有ByRef关键字,故是按引用传递参数的形式,此时,a相当于x,b相当于是y.交换前,a=x=10,b=y=20交换后,x=a=20,y=b=10二十一、 消息框(MsgBox) (课本248页)或者是附表A消息框用于在对话框中显示消息、等待用户单击按钮,并返回一个整
14、数值告诉用户单击哪一个按钮。其格式为:MsgBox “提示的内容”,对话框的类型,”提示的标题”。其中对话框的类型的值有:同时,在 MsgBox 中还可以显示一些标志信息,例如提问等,不同的标志信息和按钮可以使用“+”号连接起来共同显示,例如,下面的代码运行效果如下图所示:MsgBox “确实要删除数据吗?”, vbQuestion+vbYesNo,”删除数据”二十二、 VBA 程序中执行宏操作的方式(课本247页)在 VBA 程序中,可以通过DoCmd对象来操纵所有的宏操作。考试考得多的宏操作有:打开表(OpenTable)、打开查询(OpenQuery)、打开窗体(OpenForm)、打开
15、报表(OpenReport)、打开宏(OpenMacro)以及对这些对象的关闭操作(Close)。二十三、 数据库编程方式: VBA 中提供了三种数据库访问方式:ODBC,开放数据库互连;DAO,数据访问对象;ADO,Active 数据对象。二十四、 DAO 编程(一) DAO 模型结构(课本260页) DBEngine :是 DAO 模型的最上层对象,而且包含并控制DAO 模型中的其他全部对象。 Workspace :表示一个工作区,代表一种访问数据库的方式。默认的是DAO 方式。 Database :代表打开的一个数据库,可对其进行操作。 RecordSet :代表数据访问所返回的一个记录
16、集。 Field :代表记录集中的一个字段。(二) 通过DAO 访问数据(课本260页)(三) 通过DAO 更新数据sub updateData() 第一部分:定义相应的变量 Dim ws as DAO.Workspace Dim db as DAO.Database Dim rs as DAO.Recordset Dim fd as DAO.Field 第二部分:访问数据库 set ws=DBEngine.Workspaces(0) set db=ws.OpenDatabase(“c: 教 学 管 理 数据.mdb”) set rs=db.OpenRecordSet(“学生表”)set fd
17、=rs.Fields(“姓名”) 第三部分:遍历记录集中的每一行 do while Not rs.eof rs.Edit fd=fd & “a” rs.Update rs.MoveNext loop 第四部分:关闭 rs.Close db.Close set rs=Nothing set db=Nothing二十五、 ADO 编程:重要(一) ADO 对象(课本261页)Connection :代表与数据库建立的一个连接对象,就好象一个通道。Commend :代表一个SQL命令。RecordSet :Field :(二) 通过ADO 访问数据(课本267页)sub lookData() Dim
18、 cn as ADODB.Connection Dim rs as ADODB.Recordset Dim fd as ADODB.Field cn.Provider=”Microsoft.Jet.OLEDB.4.0” cn.Open “c:教学管理数据.mdb” rs.Open “学生表”,cn set fd=rs.Fields(“姓名”) Debug.print fd rs.Closeset rs=Nothing set db=Nothing end sub(三) 通过ADO 更新数据 cn.Provider=”Microsoft.Jet.OLEDB.4.0”教学管理数据.mdb”二十六、
19、 访问数据库的函数:重要(课本277页)下列四个函数可以用来直接访问记录集中的数据。格式为:函数名(字段名称,记录集,条件),其中记录集可以是表、查询或SQL语句。1、DCount函数:返加指定记录集中的记录个数。2、DAvg函数:返加指定记录集中某字段的平均值。3、DSum函数:返加指定记录集中某字段的总和。4、DLookup 函数:返回指定记录集中某字段的值。(课本278页)例子 1:在一个文本框中显示所有女教师的总人数。则在文本框的控件来源中填入:=Dcount(“编号”,”教师表”,”性别=女”) 例子 2:根据窗体上一个文本框控件(名为tNum)中输入的课程编号,而从课程表里对应的课程名称显示在另一个文本框控件(名为 tName)中。Private sub tNum_AfterUpdate() Me.tName=DLookup(“课程名称”,”课程表”,”编号=” & me.tNum & “”在 SQL语句的条件中,当字段的内容为字符串型的时,要用单引号括起来的。姓名为张三的学生,应写成:姓名=张三
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1