数据库 模块与VBA程序设计习题_第1页
数据库 模块与VBA程序设计习题_第2页
数据库 模块与VBA程序设计习题_第3页
数据库 模块与VBA程序设计习题_第4页
数据库 模块与VBA程序设计习题_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章 模块与VBA程序设计_习题一、选择题1模块是存储代码的容器,其中窗体就是一种( )。AA类模块 B标准模块 C子过程 D函数过程2使用Dim声明变量,若省略“As类型”,则所创建的变量默认为( )。CAInteger BString CVariant D不合法变量3函数Len("Access数据库")的值是( )。AA9 B12 C15 D184函数Right(Left(Mid("Access_DataBase",10,3),2),1)的值是( )。AAa BB Ct D空格5在下列逻辑表达式中,能正确表示条件“m和n至少有一个为偶数”的是( )

2、。CAm Mod 2 = 1 Or n Mod 2 = 1 Bm Mod 2 = 1 And n Mod 2 = 1Cm Mod 2 = 0 Or n Mod 2 = 0 Dm Mod 2 = 0 And n Mod 2 = 06语句Select Case x 中,x为一整型变量,下列Case语句中,表达式错误的是( )。DACase Is > 20 BCase 1 To 10 CCase 2, 4, 6 DCase x > 107Sub过程和Function过程最根本的区别是( )。AASub过程的过程名不能返回值,而Function过程能通过过程名返回值BSub过程可以使用Ca

3、ll语句或直接便用过程名,而Function过程不能C两种过程参数的传递方式不同DFunction过程可以有参数,Sub过程不能有参数8VBA中用实参x和y调用有参过程PPSum(a, b)的正确形式是( )。BAPPSum a, b BPPSum x, y CCall PPSum(a, b) DCall PPSum x, y9在VBE的立即窗口输入如下命令,输出结果是( )。Bx=4=5? xATrue BFalse C4=5 D语句有错10程序调试的目的在于( )。DA验证程序代码的正确性 B执行程序代码C查看程序代码的变量 D查找和解决程序代码的错误二、填空题1在VBA中,要得到15,7

4、5区间的随机整数,可以用表达式_。Int(Rnd*61+15) 2定义了二维数组A(2 to 5, 5),则该数组的元素个数为 。243VBA中变量作用域分为3个层次,这3个层次的变量是_、_和_。局部变量,模块变量,全局变量4VBA的有参过程定义,形参用_说明,表明该形参为传值调用;形参用ByRef说明,表明该形参为_。ByVal,传地址调用5有如下VBA代码,运行结束后,变量n的值是 ,变量i的值是 。12,4n=0For i=1 To 3For j=-4 To -1n=n+1Next jNext i6设有以下窗体单击事件过程:Private Sub Form_Click()a=1For

5、i=1 To 3Select Case iCase 1,3a=a+1Casw 2,4a=a+2End SelectNext iMsgBox aEnd Sub打开窗体运行后,单击窗体,则消息框的输出内容是_。57进行ADO数据库编程时,用来指向查询数据时返回的记录集对象是 。RecordSet8RecordSet对象有两个属性用来判断记录集的边界,其中,判断记录指针是否在最后一条记录之后的属性是 。EOF三、问答题1在Access中,既然已经提供了宏操作,为什么还要使用VBA?答:在Access中宏提供的是常用的一些操作,但未包含所有操作。用户在表示一些自我需要的特定操作时,仍需使用VBA代码编

6、写其操作。 2什么是类模块和标准模块?它们的特征是什么?答:类模块是与类对象相关联的模块,所以也称为类对象模块。类模块是可以定义新对象的模块。新建一个类模块,表示新创建了一个对象,通过类模块的过程可定义对象的属性和方法。Access的类模块有3种基本形式:窗体类模块、报表类模块和自定义类模块。标准模块是指可在数据库中公用的模块,模块中包含的主要是公共过程和常用过程,这些公用过程不与任何对象相关联,可以被数据库的任何对象使用,可以在数据库的任何位置执行。常用过程是类对象经常要使用的过程,需要多次调用的过程。一般情况下,Access中所说的模块是指标准模块。类模块一般用于定义窗体、报表中某个控件事

7、件的响应行为,常通过私有的过程来定义。类模块可以通过对象事件操作直接调用。标准模块一般用来定义数据库、窗体、报表中多次执行的操作,常通过公有的过程来定义,标准模块通过函数过程名来调用。3什么是形参和实参?过程中参数的传递有哪几种?它们之间有什么不同?答:过程或函数声明中的形式参数列表简称形参。形参可以是变量名(后面不加括号)或数组名(后面加括号)。如果子过程没有形式参数,则子程序名后面必须跟一个空的圆括号。过程或函数调用时,其实际参数列表简称为实参,它与形式参数的个数、位置和类型必须一一对应,调用时把实参的值传递给形参。在VBA中实参与形参的传递方式有两种:引用传递和按值传递。在形参前面加上B

8、yRef关键字或省略不写,表示参数传递是引用传递方式,引用传递方式是将实参的地址传递给形参,也就是实参和形参共用同一个内存单元,是一种双向的数据传递,即调用时实参将值传递给形参,调用结束由形参将操作结果返回给实参。引用传递的实参只能是变量,不能是常量或表达式。在形参前面加上ByVal关键字时,表示参数是按值传递方式,是一种单向的数据传递。即调用时只能由实参将值传递形参,调用结束后不能由形参将操作结果返回给实参。实参可以是常量、变量或表达式。4编写程序,要求输入一个3位整数,将它反向输出。例如输入123,输出为321。答:在Access中设计的窗体如上图所示,转换命令按钮的单击事件代码如下:Pr

9、ivate Sub cmd_convert_Click() Dim v_result As String '结果变量 v_result = "" If Not IsNumeric(Text0.Value) Then MsgBox "输入的不为数值!" Exit Sub End If If Len(Text0.Value) <> 3 Then MsgBox "输入的不为3位数!" End If For i = 1 To 3 v_result = v_result & Mid(Text0.Value, 3 -

10、i + 1, 1) Next i MsgBox "结果:" & v_resultEnd Sub5利用IF语句求3个数X、Y、Z中的最大数,并将其放入MAX变量中。答:VBA代码如下:Private Sub Command1_Click() x = InputBox("请输入第一个数x的值", "请输入需比较的数") max = x y = InputBox("请输入第二个数y的值", "请输入需比较的数") If y > max Then max = y z = InputBox(

11、"请输入第三个数z的值", "请输入需比较的数") If z > max Then max = z Me.Text1.Value = Str(x) & "," & Str(y) & "," & Str(z) Me.Text3.Value = max End Sub 6使用Select Case结构将一年中的12个月份,分成4个季节输出。答:VBA代码如下:Private Sub Form_Load() Me.Text1.Value = "" End Sub

12、Private Sub Command5_Click() Me.Text1.Value = "" m% = InputBox("请输入欲判断季节的月份的值", "注意:只可为1-12之间的整数") Select Case m Case 2 To 4 ' 春季 Me.Label2.Caption = Trim(Str(m) & "月份的季节为" Me.Text1.Value = "春季" Case 5 To 7 '夏季 Me.Label2.Caption = Trim(St

13、r(m) & "月份的季节为" Me.Text1.Value = "夏季" Case 8 To 10 '秋季 Me.Label2.Caption = Trim(Str(m) & "月份的季节为" Me.Text1.Value = "秋季" Case 11 To 12, 1 Me.Label2.Caption = Trim(Str(m) & "月份的季节为" Me.Text1.Value = "冬季" Case Else '无效的月份 M

14、e.Text1.Value = "输入的是无效的月份" End Select End Sub 7求100以内的素数。答:VBA代码如下:Private Sub Command1_Click() Dim m As String Me.Text1.Value = "" m = "2" For i% = 3 To 99 Step 2 For j% = 2 To i - 1 Lx% = i Mod j If Lx = 0 Then Exit For End If Next If j > i - 1 Then m = m + "

15、 ," + Trim(Str(i) End If Next Me.Text1.Value = m End Sub 8利用ADO对象,对“教学管理”数据库的“课程”表完成以下操作:(1)添加一条记录:“Z0004”,“数据结构”,“必修”,1。(2)查找课程名为“数据结构”的记录,并将其学分更新为3。(3)删除课程号为“Z0004”的记录。答:(1)在教学管理数据库中,添加一条记录的过程如下。Sub AddRecord(kc_hao As String, kc_name As String, kc_class As String, kc_score As Integer) Dim rs

16、 As New ADODB.Recordset Dim conn As New ADODB.Connection On Error GoTo GetRS_Error Set conn = CurrentProject.Connection '打开当前连接 rs.Open strSQL, conn, adOpenKeyset, adLockOptimistic rs.AddNew rs.Fields("课程号").Value = kc_hao rs.Fields("课程名").Value = kc_name rs.Fields("课程类别").Value = kc_class rs.Fields("学分").Value = kc_score rs.Update Set rs = Nothing Set conn = NothingEnd Sub(2)查找课程名为“数据结构”的记录,并将其学分更新为3。其代码实现如下:Sub ExecSQL() Dim conn As New ADODB.Connection Set conn =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论