Foxtable(狐表)用户栏目专家坐堂 → 代码检查


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

主题:代码检查

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
代码检查  发帖心情 Post By:2014/8/21 11:11:00 [只看该作者]

老师,下面三段代码,前面省略,第一段代码可以执行,后面两段为什么又不执行呢,谢帮助检查,谢谢!!


Else If User.IsRole("集团财务") Then
    For Each r As Row In Tables("ZJJHB").GetCheckedRows
        
        If Tables("ZJJHB").current.IsNull("SH") Then
            MessageBox.Show("集团总工办没有审核,不允许审核!.")
        Else
         If Tables("ZJJHB").current.IsNull("CWSH5") Then
                MessageBox.Show("你没有审定金额,请检查!.")
        Else
            Tables("ZJJHB").Current("CWSH2") = User.Name
            Tables("ZJJHB").Current.Save()
         End If
      End If
    Next
Else If User.IsRole("部门负责人") Then
    For Each r As Row In Tables("HTB").GetCheckedRows      
            Tables("HTB").Current("HTSH") = User.Name
            Tables("HTB").Current.Save()
    Next
Else If User.IsRole("部门负责人") Then
    For Each r As Row In Tables("XMJDB").GetCheckedRows      
            Tables("XMJDB").Current("BMSH") = User.Name
            Tables("XMJDB").Current.Save()
    Next

Else
    MessageBox.show("你无审核权限!")
End If

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/8/21 11:26:00 [只看该作者]

没符合条件就不执行呗  你用messageobox.show 调试一下就知道了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/21 11:33:00 [只看该作者]

 if 只会执行其中一个,每一段都要这样写

 

If User.IsRole("部门负责人") Then
    For Each r As Row In Tables("HTB").GetCheckedRows      
            Tables("HTB").Current("HTSH") = User.Name
            Tables("HTB").Current.Save()
    Next
    For Each r As Row In Tables("XMJDB").GetCheckedRows      
            Tables("XMJDB").Current("BMSH") = User.Name
            Tables("XMJDB").Current.Save()
    Next

Else
    MessageBox.show("你无审核权限!")
End If
[此贴子已经被作者于2014-8-21 11:32:50编辑过]

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/8/21 11:37:00 [只看该作者]

老师,下面的代码从总工办开始以后的代码都不执行,而前面的代码又可以执行,都是一样的,为什么呢??谢指导,谢谢
'以下代码为资计计划表审批流程
Else If User.IsRole("部门负责人") Then
    For Each r As Row In Tables("ZJJHB").GetCheckedRows
        
        If Tables("ZJJHB").current.IsNull("SBR") Then
            MessageBox.Show("未经上报的数据不允许审核!.")
        Else
            Tables("ZJJHB").Current("SHR") = User.Name
            Tables("ZJJHB").Current.Save()
        End If
    Next
Else If User.IsRole("造价合约部") Then
    For Each r As Row In Tables("ZJJHB").GetCheckedRows       
        If Tables("ZJJHB").current.IsNull("SHR") Then
            MessageBox.Show("部门负责人未审核!.")
        Else
         If Tables("ZJJHB").current.IsNull("合约意见") Then
                MessageBox.Show("你没有签暑审核意见,请检查!.")
        Else
            Tables("ZJJHB").Current("合约部") = User.Name
            Tables("ZJJHB").Current.Save()
         End If
      End If
    Next
Else If User.IsRole("总工办") Then
    For Each r As Row In Tables("ZJJHB").GetCheckedRows       
        If Tables("ZJJHB").current.IsNull("合约部") Then
            MessageBox.Show("造价合约部没有审核,不允许审核!.")
        Else
         If Tables("ZJJHB").current.IsNull("SHYJ") Then
                MessageBox.Show("你没有审定金额,请检查!.")
        Else
            Tables("ZJJHB").Current("SH") = User.Name
            Tables("ZJJHB").Current.Save()
         End If
      End If
    Next
Else If User.IsRole("集团财务") Then
    For Each r As Row In Tables("ZJJHB").GetCheckedRows
        
        If Tables("ZJJHB").current.IsNull("SH") Then
            MessageBox.Show("集团总工办没有审核,不允许审核!.")
        Else
         If Tables("ZJJHB").current.IsNull("CWSH5") Then
                MessageBox.Show("你没有审定金额,请检查!.")
        Else
            Tables("ZJJHB").Current("CWSH2") = User.Name
            Tables("ZJJHB").Current.Save()
         End If
      End If
    Next
Else If User.IsRole("部门负责人") Then
    For Each r As Row In Tables("HTB").GetCheckedRows      
            Tables("HTB").Current("HTSH") = User.Name
            Tables("HTB").Current.Save()
    Next
    For Each r As Row In Tables("XMJDB").GetCheckedRows      
            Tables("XMJDB").Current("BMSH") = User.Name
            Tables("XMJDB").Current.Save()
    Next

Else
    MessageBox.show("你无审核权限!")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/21 11:41:00 [只看该作者]

 不可能不执行啊。

 

 你msgbox(user.Roles) 看看,看得到的值是否有错啊。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/21 11:43:00 [只看该作者]

 先看五楼,再者,你这段代码明细不合理,Tables("xxx").Current 要改成 r

 

If User.IsRole("部门负责人") Then
    For Each r As Row In Tables("HTB").GetCheckedRows      
            r("HTSH") = User.Name
            Tables("HTB").Current.Save()
    Next
    For Each r As Row In Tables("XMJDB").GetCheckedRows      
            r("BMSH") = User.Name
            r.Save()
    Next

Else
    MessageBox.show("你无审核权限!")
End If

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/8/21 14:11:00 [只看该作者]

老师。这段代码的红色部分,是项目进度表的部门审核按钮代码,为何点击后,部门负责人列会填上审核人,但为什么会把填表人列也替换为审核人呢,其他表就不会。

Else If User.IsRole("部门负责人") Then
    For Each r As Row In Tables("ZJJHB").GetCheckedRows
        
        If Tables("ZJJHB").current.IsNull("SBR") Then
            MessageBox.Show("未经上报的数据不允许审核!.")
        Else
            Tables("ZJJHB").Current("SHR") = User.Name
            Tables("ZJJHB").Current.Save()
        End If
    Next
    For Each r As Row In Tables("HTB").GetCheckedRows      
            Tables("HTB").Current("HTSH") = User.Name
            Tables("HTB").Current.Save()
    Next
    For Each r As Row In Tables("XMJDB").GetCheckedRows      
            Tables("XMJDB").Current("BMSH") = User.Name
            Tables("XMJDB").Current.Save()
    Next
   

[此贴子已经被作者于2014-8-21 14:11:00编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/21 14:16:00 [只看该作者]

 无关红色代码的问题,其它代码影响了,你自己排查一下原因。

 

 或者你直接修改BMSH,看填表人是否会变。


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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/8/21 14:54:00 [只看该作者]

我都看了,其他地方没有影响的代码啊。。。。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/21 14:55:00 [只看该作者]

 单独执行这一段代码,看效果。

 

For Each r As Row In Tables("ZJJHB").GetCheckedRows

        
        If Tables("ZJJHB").current.IsNull("SBR") Then
            MessageBox.Show("未经上报的数据不允许审核!.")
        Else
            Tables("ZJJHB").Current("SHR") = User.Name
            Tables("ZJJHB").Current.Save()
        End If
    Next
    For Each r As Row In Tables("HTB").GetCheckedRows      
            Tables("HTB").Current("HTSH") = User.Name
            Tables("HTB").Current.Save()
    Next
    For Each r As Row In Tables("XMJDB").GetCheckedRows      
            Tables("XMJDB").Current("BMSH") = User.Name
            Tables("XMJDB").Current.Save()
    Next

 回到顶部
总数 23 1 2 3 下一页