一起来学VBA for access(6)
时 间:2008-12-30 08:09:20
作 者:李寻欢 ID:2712 城市:深圳
摘 要:第六课 小数点代码分析及For循环语句
正 文:
这节课我们来分析一下小数点按钮的代码,这段代码用到了for循环及if语句,if语句上节课已讲过了,这节课着重讲一下for循环语句。
for循环有两种形式:
1、For Each.…Next 针对一个数组或集合中的每个元素,重复执行一组语句。
这种循环以后再讲
2、For…Next 以指定次数来重复执行一组语句。
语法:
(从) (到) (每次+)
for 变量=初始值 To 结束值 [Setp 步长]
语句1
语句2
语句N
Next 变量
当每次变量加1的情况下,中括号里的“Setp 步长”可以不写,如果变量每次加的不是1,是其它数字,这句不可省略。
当程序运行到“Next 变量”时,就会做一个加法运算:变量=变量+步长,比如变量原来等于1,步长设为2,当运行到这句时,变量就变成:1+2=3了,然后程序又返回第一句:for 变量=初始值 To 结束值 [Setp 步长],到了这里程序会自动用变量的值跟结束值比较一下,如果变量小于或等于结束值,程序就再执行一次循环体里的语句,如果大于结束值,就直接跳过循环,执行“Next 变量”之后的语句了。当然,不是一定要执行到变量大于结束值才可以跳出循环,可以在循环体内设置一个条件,当满足这个条件就用“Exit For”来跳出循环,我们的小数点按钮就用了这种方法。下面我们来分析小数点的代码。
程序思路:
要确定文本框中的字符是否包含小数点,必须一个字符一个字符地跟“.”比较,如果该字符等于“.”,就说明文本框中的字符包含小数点,这时就可以跳出循环了,因为我们的目的已达到。当然,你可以不跳出循环,让它比较完所有字符,程序也不会出错,只是程序运行时间增加了,程序的效率降低了。如果找到小数点,要把这个信息用一个变量来保存起来,因为我们要根据找到或没找到小数点来决定小数点按钮按下去后,文本框里的字符后面是否加小数点。如果找到小数点,就不能再加小数点了,如果没找到,就在后面加一个小数点。因为是否找到小数点只有两种状态:找到或没找到,所以就把保存是否找到小数点的信息的变量定义为布尔型数据,这种数据只有两种值True/False,用中文表示就是:是/否。你也可以定义成字符型或数字型,然后用不同的值来表示是否找到,只要你知道是什么意思就可以了,不过如果只存在两种状态的话,最好用布尔型。
程序思路的第一句话我提到了要一个字符一个字符地跟“.”比较,但文本框里的字符是一串,如何把它们分解成一个一个呢?用Mid函数!Mid函数的语法:
变量=Mid(字符串,从第几个字符开始截取,要截取几个字符)
如:i=Mid(“Hello!”, 5, 1)表示从第5个字符开始截取,要截取1个字符。运行这句程序之后,I就等于o了。程序分析得差不多了,下面注释一下各语句:
Private Sub cmdPoin_Click()
Dim i As Integer ‘定义变量i,让它做为循环变量
Dim j As String ‘定义变量j,让它保存mid函数截取下来的字符
Dim PoinTag As Boolean ‘定义变量PoinTag,让它保存是否找到小数点标志
For i = 1 To Len(txtResult) ‘从1循环到字符长度,注:Len函数返回字符长度
j = Mid(txtResult, i, 1) ‘截取第i个字符赋值给j
If j = "." Then ‘如果j等于小数点
PoinTag = True ‘把找到小数点的信息保存到顶变量pointag中
Exit For ‘跳出循环体,不再循环
End If ‘if语句结束
Next i ‘下一个i
If PoinTag = False Then ‘如果变量PoinTag的值等于false,那么
txtResult = txtResult & "." ‘把小数点加到文本框中的字符后面
End If
End Sub
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Inputbox输入密码打开查...(12.23)
- 【Access Dsum示例】...(12.16)
- Inputbox输入密码打开窗...(12.13)
- 【Access DCount示...(12.02)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
学习心得
最新文章
- 用VBA代码自动引用ADO(Win...(12.27)
- 用VBA代码自动引用DAO(Win...(12.24)
- Inputbox输入密码打开查询的...(12.23)
- Access工资计算工具源码分享:...(12.20)
- Access快速开发平台--让li...(12.18)
- 【Access Dsum示例】用D...(12.16)
- Inputbox输入密码打开窗体的...(12.13)
- Access快速开发平台通用查询条...(12.10)
- Microsoft ActiveX...(12.09)
- 人事管理系统;基于Access快速...(12.07)