Foxtable(狐表)用户栏目专家坐堂 → 用户点击跳转主窗口(有多个主窗口),如何判断面对当前用户当前的主窗口的名字啊?


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

主题:用户点击跳转主窗口(有多个主窗口),如何判断面对当前用户当前的主窗口的名字啊?

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
用户点击跳转主窗口(有多个主窗口),如何判断面对当前用户当前的主窗口的名字啊?  发帖心情 Post By:2018/6/14 10:25:00 [只看该作者]

用户点击跳转主窗口(有多个主窗口),如何判断面对当前用户当前的主窗口的名字啊?目的是为了,找到当前主窗口的名字,然后关闭当前的主窗口。
[此贴子已经被作者于2018/6/14 10:27:19编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/14 10:37:00 [只看该作者]

截图或者实例说明你的问题。

 

用一个变量,记录上传显示的主窗口。


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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2018/6/14 11:25:00 [只看该作者]

1、做了个刷新按钮
MainTable=Tables("公司基本信息表")
forms("欢迎窗口").open
DataTables("计划执行情况表").LoadFilter = "开始时间 ='"& rq &"'"
DataTables("计划执行情况表").Load
2、单击刷新按钮后出现的问题
点击刷新时,若用户已经打开了 某个主窗口A(含有经过筛选后的“计划执行情况表”的表控件);此时回到主窗口A,表控件的筛选功能失效;只有再点击一次进入主窗口A,表控件的筛选功能才会有效。

所以我就想,用户点击刷新的时候,找到目前的主窗口,关闭它,应该就不会出现2 的情况了吧。
该怎么定义一个变量,记录当前的主窗口名字啊?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/14 11:28:00 [只看该作者]

记录筛选条件,刷新后重新设置,如

 

Dim str As String = Tables("窗口表").filter

 

DataTables("计划执行情况表").LoadFilter = "开始时间 ='"& rq &"'"
DataTables("计划执行情况表").Load

 

Tables("窗口表").filter = str


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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2018/6/14 12:04:00 [只看该作者]

有多个主窗口对应的同一个主表的副本表,所以记录当前主窗口的表控件的筛选条件,不太可能吧。
估计得将用户打开的主窗口重新载入才能可以吧(或者把用户目前的主窗口关闭掉)。
[此贴子已经被作者于2018/6/14 12:08:30编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/14 12:13:00 [只看该作者]

以下是引用guosheng在2018/6/14 12:04:00的发言:
有多个主窗口对应的同一个主表的副本表,所以记录当前主窗口的表控件的筛选条件,不太可能吧。

 

循环每一个table记录

 

Dim dic As new Dictionary(Of String, String)
For Each t As Table In Tables
    If t.DataTable.name = "表A" Then
        dic.Add(t.name, t.filter)
    End If
Next

For Each key As String In dic.keys
    msgbox(key & " " & dic(key))
Next


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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2018/6/14 13:12:00 [只看该作者]

还得麻烦老师:输出的 dic(key)是当前表控件的筛选条件,但是key输出内容是主表的名字,而不是副本表(窗口名_表名)的名字。该怎么key显示真实的副本表的名字啊?
[此贴子已经被作者于2018/6/14 13:16:02编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/14 14:37:00 [只看该作者]

以下是引用guosheng在2018/6/14 13:12:00的发言:
还得麻烦老师:输出的 dic(key)是当前表控件的筛选条件,但是key输出内容是主表的名字,而不是副本表(窗口名_表名)的名字。该怎么key显示真实的副本表的名字啊?
[此贴子已经被作者于2018/6/14 13:16:02编辑过]

 

不,可,能。key就是对应表的名字,包括窗口表。

 

如果自己不会做,上传一个例子上来说明。


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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2018/6/14 17:43:00 [只看该作者]

老师的解决方案没问题。  能否只找到当前主窗口所在的表,执行filter的条件。  如果把所有符合条件的表都找到,都执行一遍filter,是不是效率不高啊?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/14 17:50:00 [只看该作者]

以下是引用guosheng在2018/6/14 17:43:00的发言:
老师的解决方案没问题。  能否只找到当前主窗口所在的表,执行filter的条件。  如果把所有符合条件的表都找到,都执行一遍filter,是不是效率不高啊?

 

这种处理没问题。

 

你datatable都重新load了,那么相关的table(副本表)都会受到影响的,不单是当前窗口table,所有显示的相关表都要重新设置filter

[此贴子已经被作者于2018/6/14 17:50:05编辑过]

 回到顶部