以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]多条件判断 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145241) |
||||
-- 作者:ntqhj -- 发布时间:2020/1/13 16:04:00 -- [求助]多条件判断 多条件判断,请帮实现。谢谢!
|
||||
-- 作者:有点蓝 -- 发布时间:2020/1/13 16:11:00 -- 1、发货状态=发货完成:收款状态的值=未收 2、收款标识<>空:收款状态的值=对账中 3、发票号码<>空:收款状态的值=收款中 4、收款日期<>空:收款状态的值=已完成 5、“已完成”该行锁定,不可修改 哪个优先级高?同时符合1~4的条件,填哪个?
|
||||
-- 作者:ntqhj -- 发布时间:2020/1/13 18:30:00 -- 1、单元格为“发货完成“,是自动填写的,此时收款状态为“未收” 2、收款标识填写后,此时收款状态为“对账中” 3、发票号码填写后,此时收款状态为“收款中” 4、收款日期填写后,此时收款状态为“已完成” 在“收款状态”同一单元格上体现四种状态 5、当“已完成”该行锁定,不可修改。
|
||||
-- 作者:ntqhj -- 发布时间:2020/1/13 18:39:00 -- 同时满足,就是都不为空,就填写已完成 |
||||
-- 作者:有点蓝 -- 发布时间:2020/1/13 20:21:00 -- 假设 1、单元格不是“发货完成“ 2、收款标识也没有填写 3、但是发票号码填写 此时收款状态为“收款中”? |
||||
-- 作者:ntqhj -- 发布时间:2020/1/13 22:30:00 -- 重新上传附件不知问题是否描述清楚
|
||||
-- 作者:有点蓝 -- 发布时间:2020/1/13 22:54:00 -- datacolchanged事件 Select Case e.DataCol.Name Case "发货状态","发票号码","收款标识","收款日期" If e.DataRow.IsNull("收款日期") = False Then e.DataRow("收款状态") = "已完成" ElseIf e.DataRow.IsNull("发票号码") = False Then e.DataRow("收款状态") = "收款中" ElseIf e.DataRow.IsNull("收款标识") = False Then e.DataRow("收款状态") = "对账中" ElseIf e.DataRow("发货状态") = "发货完成" Then e.DataRow("收款状态") = "未收" Else e.DataRow("收款状态") = Nothing End If Case "收款状态" e.DataRow.Locked = e.DataRow("收款状态") = "已完成" End Select |
||||
-- 作者:ntqhj -- 发布时间:2020/1/13 22:56:00 -- 刚刚想到,希望实现:不可以越级填写。首先填写单元格的内容不填写,其它单元格不可填写 |
||||
-- 作者:有点蓝 -- 发布时间:2020/1/13 22:59:00 -- 以下是引用ntqhj在2020/1/13 22:56:00的发言: 这个导datacolchanging事件处理即可:http://www.foxtable.com/webhelp/topics/0624.htm
刚刚想到,希望实现:不可以越级填写。首先填写单元格的内容不填写,其它单元格不可填写 |
||||
-- 作者:ntqhj -- 发布时间:2020/1/18 9:56:00 -- 关于不可以越级填写,老师帮忙写下代码可以吗?没有编程基础呢。谢! |