Foxtable(狐表)用户栏目专家坐堂 → 子表返回父表时如何才能自动返回到父表的对应行


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

主题:子表返回父表时如何才能自动返回到父表的对应行

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
子表返回父表时如何才能自动返回到父表的对应行  发帖心情 Post By:2014/9/22 9:21:00 [只看该作者]

在子表第十行,现在要返回父表,返回到父表后,光标能够自动聚焦到子表第十行相对应的父表,比如父表与子表的关联列为姓名,在子表时当前行的姓名为张三,返回父表时光标自动聚焦到父表的张三行

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/22 9:27:00 [只看该作者]


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


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

 Tables("父表").FindRow("姓名 = '" & Tables("子表").Current("姓名") & "'")

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2014/9/22 9:31:00 [只看该作者]

以下是引用有点甜在2014-9-22 9:28:00的发言:
 Tables("父表").FindRow("姓名 = '" & Tables("子表").Current("姓名") & "'")
就这一句不行吧


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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2014/9/22 9:33:00 [只看该作者]

    Dim r As Integer
    r
 = 
Tables("父表").FindRow("姓名 = '" & Tables("子表").Current("姓名") & "'")
    If 
r >= 0 Then '如果找到的话
        
Tables("父表").Position = '定位到找到的行。
    
End If

是不是这样

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2014/9/22 9:34:00 [只看该作者]

放在那儿呀

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/22 9:38:00 [只看该作者]

放在哪里.关键看你想什么时候执行,  这代码放在任何地方都可以.

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


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

以下是引用cxabc123在2014-9-22 9:34:00的发言:
放在那儿呀

 

CurrentChanged事件

 

If e.Table.Current Is Nothing Then Return

Dim r As Integer
r = Tables("父表").FindRow("姓名 = '" & Tables("子表").Current("姓名") & "'")
If r >= 0 Then '如果找到的话
    Tables("父表").Position = r '定位到找到的行.
End If


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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2014/9/22 11:27:00 [只看该作者]

以下是引用有点甜在2014-9-22 9:39:00的发言:

 

CurrentChanged事件

 

If e.Table.Current Is Nothing Then Return

Dim r As Integer
r = Tables("父表").FindRow("姓名 = '" & Tables("子表").Current("姓名") & "'")
If r >= 0 Then '如果找到的话
    Tables("父表").Position = r '定位到找到的行.
End If

如果把上述代码放在全局表事件CurrentChanged事件,作一个通用的该如何作


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


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

 参考代码

 

If e.Table.Current Is Nothing Then Return

For Each ra As Relation In Relations
    If ra.ChildTable.Name = e.Table.Name Then
        Dim filter As String = ""
        filter = ra.ParentColumn.Name & " = '" & e.Table.Current(ra.ChildColumn.Name) & "'"
        Dim r As Integer
        r = Tables(ra.ParentTable.Name).FindRow(filter)
        If r >= 0 Then '如果找到的话
            Tables(ra.ParentTable.Name).Position = r '定位到找到的行.
        End If
    End If
Next

 

 

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

 


 回到顶部
总数 13 1 2 下一页