以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何在关联表双击打开子表所属行的窗口  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46615)

--  作者:wxfjamdc
--  发布时间:2014/2/26 12:18:00
--  [求助]如何在关联表双击打开子表所属行的窗口
“窗口1”所属表为表A,
“查询表”包含表A、表B、表C的部分列,
需要实现的是在“查询表”双击某一行,打开表A对应行的“窗口1”

--  作者:狐狸爸爸
--  发布时间:2014/2/26 12:19:00
--  

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

 


--  作者:wxfjamdc
--  发布时间:2014/2/26 14:33:00
--  
哦,少说了一个地方,“窗口1”里面的内容是绑定在表A的,直接在“查询表” form.open 打开的是表A的当前行
--  作者:狐狸爸爸
--  发布时间:2014/2/26 14:42:00
--  

我无法理解你的问题了,“form.open 打开的是表A的当前行 ”是什么意思呢?


--  作者:wxfjamdc
--  发布时间:2014/2/26 14:48:00
--  
语文不好,说不明白图片点击可在新窗口打开查看
窗口1 里面绑定的是表A的内容,
查询表 是表A 表B 表C 关联查询的结果
需要在查询表双击某一行,打开对应行的 窗口1
这么说表达明白了吗


--  作者:Bin
--  发布时间:2014/2/26 14:53:00
--  
意思是说把表A的焦点,设置到查询表当前行同步的哪一行 再打开窗口是吗?  可以利用FIND来实现


--  作者:狐狸爸爸
--  发布时间:2014/2/26 14:54:00
--  

找出对应的行而已,在doubleclik事件设置代码:
 
dim v as string = e.Table.Current("关键列")
Dim wz As integer = Tables("表A").FindRow("关键列 = \'" & v & "\'")
If wz >= 0 Then
        Tables("表A").Position = wz

         Forms("窗口1").Open()
End If

参考:

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

 


--  作者:wxfjamdc
--  发布时间:2014/2/26 15:07:00
--  
搞定,谢谢
Dim r As String = Tables("查询表").Current("第一列")
Tables("表A").Position = Tables("表A").Find(r, Tables("表A").RowSel + 1, "第一列", False, False, True)
Forms(“窗口1”).Open

不知道这么精简合适不
[此贴子已经被作者于2014-2-26 15:07:30编辑过]