以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求纠正这个代码 实现条件判断  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55954)

--  作者:李孝春
--  发布时间:2014/8/26 19:09:00
--  求纠正这个代码 实现条件判断
Dim ab As Row =Tables("订单编码").Current
If ab("保修状态")="保修期内" Then
    Forms("设备报修").open
    If ab("状态列_交付机器")="" Then
        MessageBox.Show("尚未领取设备,不能进行报修操作!")
        Forms("设备报修").Close
    Else
        Tables("订单编码.设备报修").AddNew()
    End If
Else
    Forms("收费维修").open
End If

上述代码运行时候 陷入了逻辑混乱 直接关闭了系统项目

麻烦纠正一下:实现:
当保修状态为保修期内的时候 打开设备报修窗体  反之打开收费维修窗体
同时又能保证状态列—交付机器为空白时候 关闭设备报修窗体  

--  作者:有点甜
--  发布时间:2014/8/26 19:19:00
--  

这个意思?

 

Dim ab As Row =Tables("订单编码").Current
If ab("保修状态")="保修期内" Then   
    If ab.IsNull("状态列_交付机器") Then
        MessageBox.Show("尚未领取设备,不能进行报修操作!")
    Else
        Forms("设备报修").open
        Tables("订单编码.设备报修").AddNew()
    End If
Else
    Forms("收费维修").open
End If


--  作者:李孝春
--  发布时间:2014/8/26 19:22:00
--  回复:(有点甜)这个意思? Dim ab As Row ...
运行还是一样的 直接关闭了项目
--  作者:有点甜
--  发布时间:2014/8/26 19:23:00
--  

 呃,如果关闭了项目应该是这句代码有问题,删除看看。

 

 Tables("订单编码.设备报修").AddNew()


--  作者:有点甜
--  发布时间:2014/8/26 19:24:00
--  

http://www.foxtable.com/help/topics/1522.htm

 


--  作者:李孝春
--  发布时间:2014/8/26 19:26:00
--  回复:(有点甜) 呃,如果关闭了项目应该是这句...
删除了问题依旧!
--  作者:有点甜
--  发布时间:2014/8/26 19:28:00
--  
 那你看窗口的afterload写了什么代码,肯定是哪里影响了。
--  作者:李孝春
--  发布时间:2014/9/1 21:48:00
--  回复:(有点甜) 那你看窗口的afterload写了什么...
软件如图:

图片点击可在新窗口打开查看此主题相关图片如下:din635733289_1409579269357_248.jpg
图片点击可在新窗口打开查看
项目例子就是刚刚有点甜老师你参考的那例子

是在设备报修窗体中


求解

--  作者:有点甜
--  发布时间:2014/9/2 0:17:00
--  

收费维修

 

Dim ab As Row =Tables("订单编码").Current
If ab IsNot Nothing Then   
    If ab("状态列_交付机器")="" Then
        MessageBox.Show("尚未领取设备,不能进行报修操作!")
        e.Form.Close
    Else
        Tables("订单编码.设备报修").AddNew()
    End If
End If

 

 

设备报修

 

Dim ab As Row =Tables("订单编码").Current
If ab IsNot Nothing Then   
    If ab("状态列_交付机器")="" Then
        MessageBox.Show("尚未领取设备,不能进行报修操作!")
        e.Form.Close
    Else
        Tables("订单编码.设备报修").AddNew()
    End If
End If

 

-----------------------------

 

打开哪一个窗口,有启动事件确定,不要写在afterload里面。



--  作者:李孝春
--  发布时间:2014/9/2 11:50:00
--  回复:(有点甜)收费维修 Dim ab As Row =T...
有点甜老师 谢谢解答

这两个窗体代码都是一样的?

启动事件是在哪里呢?之前没有这个操作经验

还麻烦有点甜老师再次辛苦解答 谢谢