设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

初识VBA:第五课 小数点按钮及分支语句

1970-1-1 08:00| 发布者: 李寻欢『文章』| 查看: 2803| 评论: 0

这节课我们继续来写小数点按钮的代码写完。(程序中的01至13是行号,为了解释方便而加上去的,在程序里不要加上该行号)。
Private Sub cmdPoin_Click()
01 Dim i As Integer
02 Dim j As String
03 Dim PoinTag As Boolean
04 For i = 1 To Len(txtResult)
05 j = Mid(txtResult, i, 1)
06 If j = "." Then
07 PoinTag = True
08 Exit For
09 End If
10 Next i
11 If PoinTag = False Then
12 txtResult = txtResult & "."
13 End If
End Sub

01-----03定义变量,01定义一个整型变量用来保存循环的次数,02定义一个字符串变量用来保存文本框中的字符,03定义一个布尔变量,用来保存小数点的存在状态,PoinTag=true表示已有小数点,PoinTag=false表示没有小数点。

04-----10是一个for循环,循环体里面嵌套着一个IF判断语句。

04从I=1到文本框txtResult的总字符数为止,步长为1。

05 j=用Mid函数来截取的那一个字符,Mid函数的语法:Mid(字符串或代表字符串的变量,从第几个字符开始,截取几个字符),Mid(txtResult, i, 1)就可以解释为从第i个开始,截取文本框中的1个字符。每次循环i都加1,所以每次截取的字符都不一样,从第1个字符开始,逐个截取文本框中的字符,直到最后一个。

06 如果j=小数点,就

07让变量PoinTag=True

08 退出循环

09 结束If语句

10 下一个i,也就是i=i+1,再返回04行重新开始循环

11 如果变量PoinTag=false,那么

12 文本框txtResult中的文本等于原有的文本尾部再加上小数点

13 结束if 语句

在这个按钮事件中我们用到了IF语句及循环语句,循环语句下节课再讲。上节课我们用了一个select case 语句,IF及Select case语句都是判断语句,或称为分支语句。由于在我们以后的编程中会较多地使用判断语句,尤其是上面提到的两种判断语句,所以在这里我想再着重地讲一讲这两个判断语句的语法及用法。
Select case 的语法我们上节课已讲过了,看一下if语句:
If语句有以下几种形式:
1、if 条件 then
语句序列
end if
解释:如果满足条件,就执行语句序列里的所有语句,语句序列就是一条或一条以上的语句,当然,也可以为空,就是没有语句。
例子:
if 李寻欢.性别=”男” then
msgbox “他是青蛙!”
end if
2、if 条件 then
语句序列1
else
语句序列2
end if
解释:如果满足条件,就执行语句序列1,否则就执行语句序列2。
例子:
if 李寻欢.性别=”男” then
msgbox “他是青蛙!”
else
msgbox “他是恐龙!”
end if
3、 if 条件1 then
语句序列1
elseif 条件2 then
语句序列2
elseif 条件3 then
语句序列3
elseif 条件n then
语句序列n
end if
解释:如果满足条件1就执行语句序列1,否则如果满足条件2就执行语句序列2,否则如果满足条件3就执行语句序列3,否则如果满足条件n,就执行语句序列n。
例子:
if 李寻欢.性别=”男” then
msgbox “他是青蛙!”
elseif 李寻欢.性别=”女” then
msgbox “他是恐龙!”
elseif 李寻欢.性别=”不男不女” then
msgbox “他是怪物!”
msgbox “大家快跑呀!”
msgbox “哎呀!我的鞋掉了!”
msgbox “鞋掉了有什么了不起,我的裤子都掉了!”
end if
上面的所有例子中,李寻欢是一个对象,性别是该对象的属性,引用一个对象的属性就用这种形式:李寻欢.性别,具体的对象及属性我们以后再说。Msgbox是一个事件处理函数,它的作用是在对话框中显示消息,等待用户单击按钮,并返回一个整数来表示单击的是哪一个按钮。在上面跟在msgbox 函数后面的双引号中的文字,将会显示在对话框中。

既然if语句及select case语句都是判断语句,那到底什么时候该用if语句,什么时候该用select case语句呢?我个人是这样理解的:要判断三个以下条件的,我用If语句,三个条件以上的我用select语句,因为用select case语句显得更为直观一点,使程序更易看懂。上一节课的select case语句如果用if语句来写,应该如何写?请大家自已写一下

最新评论

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 22:27 , Processed in 0.077657 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部