Foxtable(狐表)用户栏目专家坐堂 → 当前窗口判断问题。


  共有2245人关注过本帖树形打印复制链接

主题:当前窗口判断问题。

帅哥哟,离线,有人找我吗?
yancheng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
当前窗口判断问题。  发帖心情 Post By:2016/10/2 18:40:00 [只看该作者]

Dim strs() As String = {"采购订单","销售订单","盘点单","预算计划","需用计划","采购退货记录","清单指引","合同清单","采购入库","销售出库","材料选型"}
Dim strs1() As String ={"采购订单.采购进货","销售订单.销售明细","盘点单.盘点明细","预算计划.预算计划明细","需用计划.需用计划明细","采购退货","清单指引.材料指引","合同清单.清单子目","采购入库.入库明细","销售出库.出库明细","材料选型.材料选型明细"}
For i As Integer = 0 To strs.Length-1
    If Forms(strs(i)).opened AndAlso  Forms(strs(i)). Then
MessageBox.show(0)
        Dim tbl As Table = Tables("进货材料_Table1")
        If tbl.Current IsNot Nothing  Then
MessageBox.show(1)
            Dim n As Integer = Tables(strs1(i)).FindRow("定额编码 = '" & tbl.Current("定额编码") & "'")
            If  n < 0 Then
                Tables(strs1(i)).AddNew()("定额编码") = tbl.Current("定额编码")
                e.Form.Close()
            Else
                If MessageBox.Show("[" & tbl.Current("材料名称") &  "]  已经添加了,是否重复添加此材料?","提示!",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.Yes
                    Tables(strs1(i)).AddNew()("定额编码") = tbl.Current("定额编码")
                    e.Form.Close()
                Else
                    e.Form.Close()
                End If
            End If
        End If
    End If
Next


如果“ 采购订单","销售订单”  都打开。上面的代码。
就会出问题。

我试过,用:Forms.ActiveForm.Name   或  MainTable.Name 来判断,好像也不对。

请老师指点一下。因为我的情况是:主窗口:“ 采购订单","销售订单” 可能 都打开了。在其中一表,点了一按钮,弹出一个  "进货材料“窗口来添加 材料号,到主窗口中。

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/10/2 18:42:00 [只看该作者]

有没有一个窗口,属性,来判断 ,当前显示的主窗口?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/3 9:18:00 [只看该作者]

一个表只能打开一个主窗口,所以判断当前主表的名称,就能直到当前显示的是那个主窗口。

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/10/3 10:04:00 [只看该作者]

是这种情况,请问老师,怎么判断呢?下面几个都 是并列窗口。




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


 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/10/3 10:05:00 [只看该作者]


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

如图所示。我要判断出,当前是:导入材料,这个主窗口。。。进货材料,是一个模式或独立窗口。

上面的代码是:双击--进货材料,窗口的table1的行,插入一条材料,到:导入材料。而不是插入到:采购入库,材料选型中。
[此贴子已经被作者于2016/10/3 10:12:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/10/3 10:24:00 [只看该作者]

当前表名,我昨天判断过,是:功能导航。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/3 10:40:00 [只看该作者]

并列窗口是没办法判断当前窗口的,去想想别的设计思路吧。
例如在任何一个并列窗口,单击按钮或通过其他方式打开一个模式或独立窗口,你都可以在打开窗口的事件代码中,将e.form.name保存在一个全局变量中。
[此贴子已经被作者于2016/10/3 10:44:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yancheng
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/10/3 22:17:00 [只看该作者]

Vars("e.form.name")=e.form.name


我在每一个能打开:进货材料,窗口的地方,加了上面的代码。

正常了。只是比较麻烦一点。显得 有点笨方法的感觉。

太感动了,狐爸,国庆放假还给我们回答问题。

狐表一定能做大。

希望狐爸能再出永久版,我今年要买。
[此贴子已经被作者于2016/10/3 22:17:54编辑过]

 回到顶部