首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ACCESS 数据库-VBA程序设计(2)

VBA流程控制

1.顺序控制与输入输出

要求:输入圆的半径,显示圆的面积。

操作步骤:

(1)在数据库窗口中,选择“模块”对象,单击“新建”按钮,打开VBE窗口。

(2)在代码窗口中输入“Area”子过程,过程Area代码如下:

Sub Area()

Dim r As Single

Dim s As Single

r = InputBox("请输入圆的半径:","输入")

s = 3.14 * r * r

MsgBox "半径为:" + Str(r) + "时的圆面积是:" + Str(s)

End Sub

(3)运行过程Area,在输入框中,如果输入半径为1,则输出的结果为:。

(4)单击工具栏中的“保存”按钮,输入模块名称为“M2”,保存模块。

2.选择控制

(1)要求:编写一个过程,从键盘上输入一个数X,如X≥0,输出它的算术平方根;如果X

操作步骤:

① 在数据库窗口中,双击模块“M2”,打开VBE窗口。

②在代码窗口中添加“Prm1”子过程,过程Prm1代码如下:

Sub Prm1()

Dim x As Single

x = InputBox("请输入X的值","输入")

If x >= 0 Then

y = Sqr(x)

Else

y = x * x

End If

MsgBox "x=" + Str(x) +"时y=" + Str(y)

End Sub

③运行Prm1过程,如果在“请输入X的值:”中输入:4(回车),则结果为:。

④单击工具栏中的“保存”按钮,保存模块M2。

(2)要求:使用选择结构程序设计方法,编写一个子过程,从键盘上输入成绩X(0~100),如果X>=85且X≤100输出“优秀”,X≥70且X

操作步骤:双击模块“M2”,进入VBE,添加子过程“Prm2”代码如下:

Sub Prm2()

num1=InputBox("请输入成绩~100")

If num1 >= 85Then

result = "优秀"

ElseIf num1>= 70 Then

result = "通过"

ElseIf num1 >= 60 Then

result = "及格"

Else

result = "不及格"

End If

MsgBox result

End Sub

反复运行过程Prm2,输入各个分数段的值,查看运行结果,如果输入的值为85,则输出结果是______。最后保存模块M2。

(3)要求:使用选择结构程序设计方法,编写一个子过程,从键盘上输入一个字符,判断输入的是大写字母,小写字母、数字还是其他特殊字符。

操作步骤:双击模块“M2”,进入VBE窗口,添加子过程“Prm3”,代码如下:

Public Subprm3()

Dim x As String

Dim Result as String

x = InputBox("请输入一个字符")

Select Case Asc(x)

Case97 To 122

Result= "小写字母"

Case65 To 90

Result= "大写字母"

Case 48 To 57

Result= "数字"

Case Else

Result= "其他特殊字符"

End Select

MsgboxResult

End sub

反复运行过程Prm3,分别输入大写字母、小写字母、数字和其他符号,查看运行结果。如果输入的是“A”,则运行结果为__________。如果输入的是“!”,则运行结果为________。最后保存模块M2。

3.循环控制

(1)要求:求前100个自然数的和

操作步骤:双击模块“M2”,进入VBE窗口,输入并补充完整子过程“Prm4”的代码,运行该过程,最后保存模块M2。

过程Prm4()代码如下:

Sub Prm4()

I = 0

Do While _________

I = I + 1

s = ________

Loop

MsgBox s

End Sub

(2)要求:计算100以内的偶数的平方根的和,要使用Exit Do语句控制循环。

操作步骤:双击模块“M2”,进入VBE窗口,输入并补充完整子过程“Prm5”代码,运行该过程,最后保存模块M2。

Prm5()过程代码如下:

Sub Prm5()

Dim x As Integer

Dim s As Single

x = 0

s = 0

Do While True

x= x + 1

If x > 100 Then

Exit Do

End If

If ________ Then

s = s + Sqr(x)

End If

Loop

MsgBox s

End Sub

(3)要求:对输入的10个整数,分别统计有几个是奇数,有几个是偶数。

操作步骤:双击模块“M2”,进入VBE窗口,输入并补充完整子过程“Prm6”代码,运行该过程,最后保存模块M2。

Prm6()过程代码如下:

Sub Prm6( )

Dim num As Integer

Dim a As Integer

Dim b As Integer

Dim i As Integer

For i= 1 To 10

num = InputBox("请输入数据:","输入",1)

If __________________Then

a = a + 1

Else

b = b + 1

End If

Next i

MsgBox("运行结果:a=" & Str(a)&",b=" & Str(b))

End Sub

(4)要求:在模块“M2”中添加子过程“Prm7”,并运行,消息框中输出结果是________________________。

操作步骤:双击模块“M2”,进入VBE,添加过程Prm7代码,并运行。最后保存模块M2。

过程Prm7代码如下:

Sub Prm7()

Dim a(10), p(3) As Integer

k = 5

For i = 1 To 10

a(i) = i * i

Next i

For i = 1 To 3

p(i) = a(i * i)

Next i

For i = 1 To 3

k = k + p(i) * 2

Next i

MsgBox k

End Sub

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180819G07SLH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券