以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  两个并列窗口 都用到了客户选择 ,结果选择客户的时候 出错了  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61674)

--  作者:jswjyjf
--  发布时间:2014/12/17 8:53:00
--  两个并列窗口 都用到了客户选择 ,结果选择客户的时候 出错了

两个并列窗口 都用到了客户选择 ,结果选择客户的时候  出错了, 客户选择窗口按钮代码是

If Forms("订单录入").opened()
Dim tbl As Table = Tables("客户选择_table1")
If tbl.Current IsNot Nothing Then
    Tables("订单").Current("客户编号") = tbl.Current("编码")
    Tables("订单").Current("客户名称") = tbl.Current("名称")
   End If
e.form.Close()
End If
If Forms("加工订单").opened()
Dim tbl As Table = Tables("客户选择_table1")
If tbl.Current IsNot Nothing Then
    Tables("加工单").Current("客户编码") = tbl.Current("编码")
    Tables("加工单").Current("客户名称") = tbl.Current("名称")
   End If
e.form.Close()
End If

 

 

并列窗口同时打开时会出错的,如下图

 

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20141216162554.jpg
图片点击可在新窗口打开查看

 

不同时打开没有问题

 

 

如何解决这个问题呢 求教


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

1、公用一个窗口的时候,打开窗口之前,用一个变量保存是哪个窗口打开的;

 

2、在按钮里判断是哪个窗口,然后做对应的操作

 

3、提示这个错误,是因为,你e.Form.Close以后,不能再用里面的表控件啊


--  作者:jswjyjf
--  发布时间:2014/12/17 9:08:00
--  

这个变量要用全局代码吗

 


--  作者:jswjyjf
--  发布时间:2014/12/17 9:21:00
--  

2楼的第一条 怎么写代码

 


--  作者:jswjyjf
--  发布时间:2014/12/17 9:32:00
--  
公用一个窗口的时候,打开窗口之前,用一个变量保存是哪个窗口打开的 代码怎么写
--  作者:有点甜
--  发布时间:2014/12/17 9:35:00
--  
以下是引用jswjyjf在2014-12-17 9:21:00的发言:

2楼的第一条 怎么写代码

 

 

在按钮里写啊,点击打开选择窗口之前,赋值,比如 vars("窗口") = "窗口1"


--  作者:jswjyjf
--  发布时间:2014/12/17 9:41:00
--  
我在打开并列窗口订单录入的afterload 事件里 openform="订单录入"  openform 是全局变量

在打开并列窗口的加工单录入afterload 事件里 openform="加工单录入"  


然后 再客户选择的按钮写上代码
If openForm="订单录入"
Dim tbl As Table = Tables("客户选择_table1")
If tbl.Current IsNot Nothing Then
    Tables("订单").Current("客户编号") = tbl.Current("编码")
    Tables("订单").Current("客户名称") = tbl.Current("名称")
   End If
e.form.Close()
End If
If openForm="加工订单"
Dim tbl As Table = Tables("客户选择_table1")
If tbl.Current IsNot Nothing Then
    Tables("加工单").Current("客户编码") = tbl.Current("编码")
    Tables("加工单").Current("客户名称") = tbl.Current("名称")
   End If
e.form.Close()
End If
 因为并列窗口 不关闭的 ,openform 永远是第一个打开的窗口名称 



--  作者:有点甜
--  发布时间:2014/12/17 9:43:00
--  
 打开选择窗口之前啊,你不是要点一个按钮,才打开选择窗口的么。
--  作者:jswjyjf
--  发布时间:2014/12/17 9:45:00
--  
是的


--  作者:jswjyjf
--  发布时间:2014/12/17 9:46:00
--  
并列窗口 只要切换就可以了