VBA程序设计习题

2020-04-14 05:09

VBA程序设计习题

一. 程序基本结构

1. 窗体上有一个名称为Command1的命令按钮和两个名称分别为Text1、Text2的文本

框,编写如下事件过程: Private Sub Command1_Click() Dim x As Integer

Select Case Text1.Value Case Is < 0 x = 0 Case 1, 3, 5, 7 x = 1 Case 2, 4, 6, 8 x = 2 Case Else x = 3 End Select Text2.Value = x End Sub

(1). 如果在文本框Text1中输入-10,单击Command1按钮,则在Text2中显示的内

容是()。

(2). 如果未在文本框Text1中输入内容,单击Command1按钮,则在Text2中显示

()。

2. 阅读下面程序:

subcal()

Dim intTotal As Integer Dim iAs Integer intTotal = 0

For i = 0 To 20 step 5 intTotal = intTotal + i Next i End sub

(1). 该段程序正常运行,会做()次循环。 (2). 第2次循环结束后,i的值是(),intTotal的值是()。 3. 用户输入10个整数,统计奇数个数存入变量oddNum,偶数个数存入变量evenNum,

在下划线处填入合适的代码。 Sub 奇偶数统计()

Dim i As Integer, numInput As Integer

Dim oddNum As Integer, evenNum As Integer

For i = 1 To ___ step 1 numInput = InputBox(\请输入整数:\ if __________ then oddNum=oddNum+1

1/ 5

else ________________ End if _________

Msgbox\偶数个数:\,奇数个数:\ End Sub 以下3题至少选作一题: 4. 求最小值。

Sub 求最小() Dim a as Integer,b as Integer,c as Integer Dim intMin as Integer a =val(InputBox(\请输入a的值:\ b =val(InputBox(\请输入b的值:\ c =val(InputBox(\请输入c的值:\ (你的代码) Msgbox \求出最小值是:\End Sub

5. 输入变量x和y的值,如果y>x就交换x和y的值,使x>y,否则弹出对话框显示

“不需要交换”。 Sub 交换()

Dim x As Integer, y As Integer, z As Integer x = Val(InputBox(\请输入x的值:\ y = Val(InputBox(\请输入y的值:\ (你的代码)

End Sub

6. 通过if-then语句结构完成商品打折金额计算,2000元及以下95折,2001-3000元

9折,3001-5000元85折,5000元以上8折,计算结果保存至变量y中,并通过msgbox输出。 Sub 商场促销()

Dim x As Single, y As Single x = InputBox(\请输入商品金额:\商场促销\

(你的代码)

MsgBox \打折后的金额是:\元\打折显示\End Sub

二. 过程与函数

1. 在窗体上添加一个命令按钮command1 和两个名称分别为label1和label2的标签,

2/ 5

在通用声明段声明变量x和y,并编写如下事件过程: Private x As Integer, y As Integer Private Sub Command1_Click() Call getXY(5, 3)

Label1.Caption = x: Label2.Caption = y End Sub

Sub getXY(a As Integer, b As Integer) x = a * b y = a + b End Sub

单击Command1后,标签Label1显示();标签Label2显示()。

2. 完成函数s,实现n的阶乘运算,单击Command1按钮,调用函数s,显示Text1

文本框的值对应的阶乘。 Function s(n As Integer) As Long Dim k as Integer ___________

For k = 1 To____ s = s * k Next k End Function

Private Sub Command1_Click() x = Text1.Value

MsgBox x & \的阶乘是\? End Sub

3. 完成函数reverse,实现将字符串翻转的功能,即如果输入“abcd”,则输出“dcba”。

Function reverse(strOrigin As String) As String Dim iAs Integer Dim iLen As Integer iLen = Len(_____) i = iLen

Do While i> 0

reverse = _______ + Mid(strOrigin, i, 1) i = ________ Loop End Function

三. ADO数据访问

窗体有两个文本框“Text类别号”和“Text类别名”,当在“Text类别号”文本框输入类别ID后,通过程序在“产品类别”表中查找对应的类别名称,并赋值给“Text类别名”文本框,如果未找到,则要求用户重新输入,请完成下列程序。 Private Sub Text类别号_AfterUpdate() Dim cn As New ADODB.Connection

Dim rst As New ADODB.Recordset Set cn = CurrentProject.Connection

3/ 5

rst.Open \类别名称 from 产品类别 where 类别ID=\& Me.__________, cn, adOpenForwardOnly, adLockOptimistic If rst.RecordCount> 0 Then Me.Text类别名 = ________ Else

MsgBox \类别号输入错误,请重新输入!\Me.Text类别号.SetFocus End If rst.Close

Set rst =___________ '释放对象变量rst End Sub

四. 综合编程

1. 编写竞赛评分程序,输入8位评委的分数,去掉一个最高分,计算平均分(设满分

为10分)。

Public Sub 评分() Dim iAs Integer

Dim max As Integer, iSum As Integer Dim intFS As Integer

max = 0

For i = 1 To 8

intFS = Val(InputBox(\请输入分数:\

If intFS> max Then ______________ iSum =______________ Next i

iSum =______________

MsgBox \最后得分:\ End Sub 2. 窗体“计时器”中有1个标签label1和两个命令按钮command1、command2, label1

用于显示计时时钟。command1是“暂停/继续”复用按钮,计时器工作时,单击则为暂停,计时器暂停时,单击则继续开始计时;command2用于计时器再次重新开始。窗体如下图所示。

4/ 5

完成窗体代码:

Private Sub Command1_Click() If Me.TimerInterval = 0 Then Me.TimerInterval = 1000 Else

Me.TimerInterval =_______________ End If End Sub

Private Sub Command2_Click()

Me.Label1.Caption = _________________ End Sub

Private Sub Form_Timer()

Me.Label1.Caption = DateAdd(\End Sub

3. 查询窗体如下图所示,输入姓名,单击【查询】按钮,系统呈现符合条件的数据;

姓名未输入时,呈现所有记录。“姓名”文本框名称“txtName”,【查询】按钮名称“cmdQuery”,显示查询结果的子窗体控件名称“fDetail”。

完成cmdQuery单击事件代码,实现题目功能。 Private Sub cmdQuery _Click() Dim strSQL As String

strSQL = \学生 where 姓名 '\fDetail.Form.RecordSource = End Sub

5/ 5


VBA程序设计习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:古代文学复习资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: