首页 理论教育 Access2016数据库应用技术(含实训)-选择结构

Access2016数据库应用技术(含实训)-选择结构

时间:2023-11-15 理论教育 版权反馈
【摘要】:但是在解决某些实际问题时,很多情况都需要根据给定的条件来选择所需执行的语句,即根据判断结果的不同而执行程序中不同部分的代码,这就是选择结构。选择结构一般根据逻辑表达式的值来决定执行哪条语句,逻辑表达式的值为True时执行一种操作,为False时执行另一种操作。在VBA中,选择结构分为If语句和Select Case语句。图8-9单分支If语句结构例8-13比较x和y的大小,若y大于x,则进行x和y的交换。例8-16将例8-15用Select Case语句表示。

Access2016数据库应用技术(含实训)-选择结构

计算机在执行程序时,通常情况下都是按照语句的书写顺序执行。但是在解决某些实际问题时,很多情况都需要根据给定的条件来选择所需执行的语句,即根据判断结果的不同而执行程序中不同部分的代码,这就是选择结构。

选择结构一般根据逻辑表达式的值来决定执行哪条语句,逻辑表达式的值为True时执行一种操作,为False时执行另一种操作。

在VBA中,选择结构分为If语句和Select Case语句。If语句又分为单分支、双分支和多分支语句。

1.单分支If语句

单分支If语句的格式:

If <条件> Then <语句块>

单分支If语句根据条件判断语句是否执行,若条件表达式的值为True,执行<语句块>;如果条件表达式的值为False,则执行If语句后的下一条语句。其结构如图8-9所示。

图8-9 单分支If语句结构

例8-13 比较x和y的大小,若y大于x,则进行x和y的交换。

如果y大于x,两数进行交换,否则不交换,即x存放较大的数。

2.双分支If语句

双分支If语句的格式如下:

双分支If语句同样也根据条件进行判定,若条件表达式的值为True,则先执行<语句块1>,<语句块1>可包含N条语句,然后执行End If后的语句;如果条件表达式的值为False,则执行Else语句后的<语句块2>,最后执行End If后的语句。其结构如图8-10所示。

例8-14 判断输入数据的奇偶性窗体设计界面如图8-11所示,保存窗体为“例8-14判断数据的奇偶性”,运行窗体结果如图8-12和图8-13所示。

图8-10 双分支If语句结构

图8-11 判断数据的奇偶性

图8-12 奇数界面

图8-13 偶数界面

窗体中“判断”按钮的鼠标单击事件代码设计如下:

根据输入的数据判断,如输入369,369除以2取余,余数为1,不满足余数为0,表达式为False,执行Else后的语句,“该数是奇数”。

3.多分支if语句(www.xing528.com)

在实际应用中,经常要对多个条件进行判定,并做出不同的处理,这样的程序语句称为“多分支语句”。多分支If语句的格式如图8-14所示。

图8-14 多分支结构

多分支语句执行时,若满足<条件1>时,则执行<语句块1>,然后执行End If后的语句;否则再判断<条件2>,是否为真时,则执行<语句块2>,以此类推,一直执行到当所有条件都不满足时,则执行语句块Else后的<语句块n+1>。在程序执行的过程中,有且仅有一个分支的语句块被执行

例8-15 在成绩等级窗体中输入学生的分数(百分制),根据百分制成绩输出成绩的五分制等级,窗体界面如图8-15所示,保存为“例8-15分制转换”。其中90~100分为A等级,80~89分为B等级,70~79分为C等级,60~69分为D等级,60分以下为E等级。成绩转换窗体如图8-16所示,出错信息如图8-17所示。

图8-15 分制转换界面

图8-16 输入百分制换算成五分制

图8-17 成绩出错信息

“确定”按钮代码如下:

思考:当输入下一个分数,文本框中清空,并给“清除”按钮加载事件。

4.多分支Select Case语句

使用Select Case语句的目的就是解决在条件复杂、分支太多时使用多个If语句烦琐问题,从而实现程序的简洁性与易读性。它可根据表达式的求值结果自主选择几个分支中对应的一个执行。其结构如图8-18所示。

图8-18 Select Case语句结构

如图8-18所示,在Select Case语句中,可先计算变量或表达式的值,再依次计算Case子句中表达式的值,如果变量或表达式的值和某个Case表达式的值相吻合,则执行相应的语句序列,然后执行End Select下面的语句;若表达式的值都不符合条件,有Case Else部分的,就执行语句序列n+1,否则执行End Select后面的语句。

例8-16 将例8-15用Select Case语句表示。

5.条件函数IIf

IIf函数的格式如下:

IIf(<条件表达式>,<表达式1>,<表达式2>)

该函数首先要计算“条件表达式”的值,根据“条件表达式”的值来决定函数返回值,当“条件表达式”的值为“True”时,IIf函数返回<表达式1>的值;否则,函数返回<表达式2>的值。

例8-17 求x,y中最大值,并把值大的量存入MaxNum变量中。语句如下:

MaxNum=IIf(x>y,x,y)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈