以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  位置联动的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86559)

--  作者:douglas738888
--  发布时间:2016/6/20 15:43:00
--  位置联动的问题
请教老师,下面这段代码是从 主窗口_table27 的一个副本表,通过信息编号找同窗口下,不同页面的  主窗口_Table8

总报错,找不到 主窗口_Table8,未应用对象实例

If e.Table.Current Is Nothing Then \'如果Current为Nothing
    Return \'则返回
End If
Dim wz As Integer
Dim dr As DataRow
dr = DataTables("主窗口_Table8").Find("[信息编号] = \'" & e.Table.Current("信息编号") & "\'")
If dr IsNot Nothing Then
    wz = Tables("主窗口_Table8").FindRow(dr)
    If wz >= 0 Then
        Tables("主窗口_Table8").Position = wz
    End If
End If

--  作者:狐狸爸爸
--  发布时间:2016/6/20 15:46:00
--  

三种可能:

 

1、主窗口没有打开

2、或者窗口名称不是“主窗口”

3、或者控件名称不是Table8


--  作者:douglas738888
--  发布时间:2016/6/20 22:20:00
--  
大红袍老师,根据狐狸爸爸的三种可能进行了排查,都好像没有问题

主窗口_Table27 是副本,主窗口_Table8也是副本,名称都对的,表也存在的     不知问题在哪里?
以下代码是在 主窗口_Table27的    CurrentChanged里面的

If e.Table.Current Is Nothing Then \'如果Current为Nothing
    Return \'则返回
End If
Dim wz As Integer
Dim dr As DataRow
dr = DataTables("主窗口_Table8").Find("[信息编号] = \'" & e.Table.Current("信息编号") & "\'")
If dr IsNot Nothing Then
    wz = Tables("主窗口_Table8").FindRow(dr)
    If wz >= 0 Then
        Tables("主窗口_Table8").Position = wz
    End If
End If


--  作者:大红袍
--  发布时间:2016/6/20 22:24:00
--  

加上判断

 

If forms("主窗口").opened = false then return


--  作者:douglas738888
--  发布时间:2016/6/20 22:44:00
--  
还在报错,做了例子,请老师看看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编号.foxdb



--  作者:大红袍
--  发布时间:2016/6/20 23:17:00
--  
 哪个窗口,怎么测试。
--  作者:douglas738888
--  发布时间:2016/6/20 23:19:00
--  
表A 表B ,这么晚,谢谢老师


--  作者:大红袍
--  发布时间:2016/6/20 23:19:00
--  

代码这样写

 

If forms("窗口1").opened = False Then Return

Dim wz As Integer = Tables("窗口1_Table1").FindRow("[编号] = \'" & e.Table.Current("编号") & "\'")

If wz >= 0 Then
    Tables("窗口1_Table1").Position = wz
End If