以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码检查 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55677) |
-- 作者:爱相随 -- 发布时间: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 -- 发布时间:2014/8/21 11:26:00 -- 没符合条件就不执行呗 你用messageobox.show 调试一下就知道了 |
-- 作者:有点甜 -- 发布时间: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编辑过]
|
-- 作者:爱相随 -- 发布时间: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("你无审核权限!") |
-- 作者:有点甜 -- 发布时间:2014/8/21 11:41:00 -- 不可能不执行啊。
你msgbox(user.Roles) 看看,看得到的值是否有错啊。 |
-- 作者:有点甜 -- 发布时间: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
|
-- 作者:爱相随 -- 发布时间: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编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/8/21 14:16:00 -- 无关红色代码的问题,其它代码影响了,你自己排查一下原因。
或者你直接修改BMSH,看填表人是否会变。 |
-- 作者:爱相随 -- 发布时间:2014/8/21 14:54:00 -- 我都看了,其他地方没有影响的代码啊。。。。 |
-- 作者:有点甜 -- 发布时间: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
|