以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何获取窗口中绑定表的主表名称  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131888)

--  作者:蓝蚂蚁
--  发布时间:2019/3/8 11:17:00
--  如何获取窗口中绑定表的主表名称


图片点击可在新窗口打开查看此主题相关图片如下:image 1.png
图片点击可在新窗口打开查看
如上图所示,

另:问题一、如果其他主窗口中都有这个导入的按钮,其都是打开这个独立窗口,又如何获取主表名称。

       问题二、 如果一个主窗口绑定有两个表,如Table1和Table2(他们绑定的主表不用),又如何获取指定的Table1(或Table2)其绑定的主表名称。


--  作者:有点蓝
--  发布时间:2019/3/8 11:30:00
--  
msgbox(e.form.controls("Table1").table.name)
msgbox(e.form.controls("Table1").table.datatable.name)

--  作者:蓝蚂蚁
--  发布时间:2019/3/8 14:28:00
--  
老师  你这个不是得出弹出那个独立窗口的绑定的主表吗  我是要后面那个主窗口的绑定的主表名称
--  作者:有点蓝
--  发布时间:2019/3/8 14:43:00
--  
msgbox(forms("主窗口名称").controls("Table1").table.name)
msgbox(forms("主窗口名称").controls("Table1").table.datatable.name)

--  作者:蓝蚂蚁
--  发布时间:2019/3/8 14:51:00
--  
这代码能用,但出现了新的问题 一个项目中如果有多个主窗口都有这个"导入"按钮的话 就不方便了。
If Forms("A主窗口").opened()
    msgbox(forms("A主窗口").controls("Table1").Table.DataTable.name)
End If

如果是一个主窗口用到,可以用上面的代码,但假如有10来个或更多的主窗口要用到:
If Forms("A主窗口").opened()
    msgbox(forms("A主窗口").controls("Table1").Table.DataTable.name)
End If
If Forms("B主窗口").opened()
    msgbox(forms("B主窗口").controls("Table1").Table.DataTable.name)
End If
If Forms("B主窗口").opened()
    msgbox(forms("B主窗口").controls("Table1").Table.DataTable.name)
End If
..........
这个就很繁琐了
[此贴子已经被作者于2019/3/8 14:51:45编辑过]

--  作者:有点蓝
--  发布时间:2019/3/8 15:05:00
--  
在主窗口打开的时候,用全局变量保存一下窗口名称

窗口afterload
vars("form") = e.form.name

If Forms(vars("form")).opened()
    msgbox(forms(vars("form")).controls("Table1").Table.DataTable.name)
End If

--  作者:蓝蚂蚁
--  发布时间:2019/3/8 15:09:00
--  
完美!谢谢老师!