Foxtable(狐表)用户栏目专家坐堂 → 代码计算结果不一致问题


  共有9238人关注过本帖树形打印复制链接

主题:代码计算结果不一致问题

帅哥哟,离线,有人找我吗?
lpxjw_zyl
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:376 积分:4189 威望:0 精华:0 注册:2008/9/1 14:18:00
代码计算结果不一致问题  发帖心情 Post By:2012/2/13 14:41:00 [只看该作者]

Dim Sj1,Sj2,Sj3,Sj4,Sj5 As Integer
For Each dr As DataRow In DataTables("KmSz").DataRows
    If dr("一级") <> "" Then
        Sj1 = 1
    ElseIf dr("一级") = "" Then
        Sj1 = 0
    ElseIf dr("二级") <> "" Then
        Sj2 = 1
    ElseIf dr("二级") = "" Then
        Sj2 = 0
    ElseIf dr("三级") <> "" Then
        Sj3 = 1
    ElseIf dr("三级") = "" Then
        Sj3 = 0
    ElseIf dr("四级") <> "" Then
        Sj4 = 1
    ElseIf dr("四级") = "" Then
        Sj4 = 0
    End If
    Sj5 = Sj1+Sj2+Sj3+Sj4
    Output.Show(Sj5)
Next

上述代码为什么与下面这段代码得到的结果不一样?

Dim Sj1,Sj2,Sj3,Sj4,Sj5 As Integer
For Each dr As DataRow In DataTables("KmSz").DataRows
    If dr("一级") <> "" Then
        Sj1 = 1
    ElseIf dr("一级") = "" Then
        Sj1 = 0
    End If
    If dr("二级") <> "" Then
        Sj2 = 1
    ElseIf dr("二级") = "" Then
        Sj2 = 0
    End If
    If dr("三级") <> "" Then
        Sj3 = 1
    ElseIf dr("三级") = "" Then
        Sj3 = 0
    End If
    If dr("四级") <> "" Then
        Sj4 = 1
    ElseIf dr("四级") = "" Then
        Sj4 = 0
    End If
    Sj5 = Sj1+Sj2+Sj3+Sj4
    Output.Show(Sj5)
Next

 

 

请问为什么

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
lpxjw_zyl
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:376 积分:4189 威望:0 精华:0 注册:2008/9/1 14:18:00
  发帖心情 Post By:2012/2/13 15:20:00 [只看该作者]

狐爸你看看

这是怎么了


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/13 15:31:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
lpxjw_zyl
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:376 积分:4189 威望:0 精华:0 注册:2008/9/1 14:18:00
  发帖心情 Post By:2012/2/13 15:59:00 [只看该作者]

谢谢狐爸

看帮助没认真

是不是判断几个变量就要用几个IF函数

一个变量 可以用分支来判断


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/13 16:01:00 [只看该作者]

同一个if语句,不管有多少个分支,始终都只会执行其中一个分支,所以你的第一段代码,除了前两个分支,后面都是没有意义的。


 回到顶部