设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1960|回复: 6
打印 上一主题 下一主题

[模块/函数] 求助!关于代码执行效率问题?

[复制链接]
跳转到指定楼层
1#
发表于 2010-12-28 12:51:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 坡芽歌书 于 2010-12-28 12:53 编辑

程序代码1:
If A = 1 Then
        MsgBox "执行过程"

        If A + b = 2 Then
            MsgBox "执行过程"

            If A + b + c = 3 Then
                MsgBox "执行过程"
            Else
                MsgBox "a+b+c<>3,程序退出,不能执行"
                Exit Sub
            End If

        Else
            MsgBox "a+b<>2程序退出"
            Exit Sub
        End If

    Else
        MsgBox "a<>1程序退出"
        Exit Sub
    End If

程序代码2:

    If A <> 1 Then
        MsgBox "a<>1程序退出"
        Exit Sub
    Else
        MsgBox "执行过程"
    End If

    If A + b <> 2 Then
        MsgBox "a<>1程序退出"
        Exit Sub
    Else
        MsgBox "执行过程"
    End If

    If A + b + c <> 3 Then
        MsgBox "a+b+c<>3,程序退出,不能执行"
        Exit Sub
    Else
        MsgBox "执行过程"
    End If
以上二段代码中   它们执行的结果都是一样
请问那一段代码执行的效率要高一些,合理一些。
第一段代码看起来复杂 一些,
第二段代码看起来间洁一些。
如何取舍呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-12-28 14:00:59 | 只看该作者
要根据你的数据情况, 初看应该第1段好些,因为有些判断后就不用再判断了,第2段很多在重复判断
3#
 楼主| 发表于 2010-12-28 15:13:00 | 只看该作者
感谢老大的回复!!谢谢!!
4#
发表于 2010-12-28 16:08:49 | 只看该作者
本帖最后由 roych 于 2010-12-28 16:09 编辑

为什么不用And语句呢?
if a=1 and b=1 and c=1 then
MsgBox "执行过程"
else
MsgBox "程序退出"
end if
5#
发表于 2010-12-28 16:44:00 | 只看该作者
用select case 执行效率和IF比哪个高吗?

点击这里给我发消息

6#
发表于 2010-12-28 23:46:00 | 只看该作者
这两段程序的效率是一样的。

第一段的优点:层次清晰
第二段的优点:代码整洁

至于如何选用,就看个人的编程风格。
7#
发表于 2011-1-9 20:14:27 | 只看该作者
学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 23:53 , Processed in 0.081352 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表