以文本方式查看主题

-  易表在线答疑  (http://www.egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://www.egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]有关if和MsgBox的问题.  (http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=1676)

--  作者:hzcaqjf
--  发布时间:2011/11/13 19:11:00
--  [求助]有关if和MsgBox的问题.
条件1:  findrow(GridName,"起号"," <= ",[%票号%],"止号",">=",[%票号%])=0
条件2:  MsgBox("该张票可能是上月的退单,并检查一下票号是否输错!",2)=true
表达式a:  AddRow("表1","起号,止号,单证状态",[%票号%],[%票号%],"退单")

必须"条件1"和"条件2"同时成立,才执行"表达式a.
这样的公式应怎样写?

if(findrow(GridName,"起号"," <= ",[%票号%],"止号",">=",[%票号%])=0 and MsgBox("该张票可能是上月的退单,并检查一下票号是否输错!",2)=true,AddRow("表1","起号,止号,单证状态",[%票号%],[%票号%],"退单"),true)
这样写有错误,但不知正确写法,特诚恳求教.egd文件下载

-=-=-=- 以下内容由 hzcaqjf2011年11月13日 09:44pm 时添加 -=-=-=-
大概意思即:
如果变量%票号%符合条件1,msgbox("...",2)=true,执行表达式a,否则不执行表达式a.
如果变量%票号%符合条件2,msgbox("...",2)=true,执行表达式b,否则不执行表达式b.
.......


--  作者:lyang70
--  发布时间:2011/11/14 11:21:00
--  
不知是不是这个意思?
If(Findrow(GridName,"起号"," <= ",[%票号%],"止号",">=",[%票号%])=0,If(MsgBox("该张票可能是上月的退单,并检查一下票号是否输错!",2)=true,AddRow("表1","起号,止号,单证状态",[%票号%],[%票号%],"退单"), True ), True )
--  作者:hzcaqjf
--  发布时间:2011/11/14 14:33:00
--  
再增加一个条件2
比喻:If(findrow(GridName,"起号"," = ",[%票号%],"止号"," = ",[%票号%],"单证状态","=","正常") > 0,
出现询问框:
比喻:MsgBox("该张票原来是正常票!确认没有输入错吗?",2)=true
执行代码:
比喻:ReplaceFor("表1","单证状态","退单" ,"起号"," = ",[%票号%],"止号"," = ",[%票号%])
应该怎样写公式?
注:我那个文件中变量[%票号%]分为11个情况,对应三列:“起号”、“止号”和“单证状态”
三种情况下,出现提示框。不执行任何代码。
九种情况下,出现询问框。点击确认,分别执行9个表达式;点击否,则不执行任何公式。
--  作者:hzcaqjf
--  发布时间:2011/11/14 20:41:00
--  
问题已解决,谢谢Lyang70老师的指点!