Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-教程

一起来学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源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助