以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  在关联表中,点父表行时子表出现异常  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110380)

--  作者:土佛
--  发布时间:2017/12/1 18:24:00
--  在关联表中,点父表行时子表出现异常
大家好,我的系统出现了一个问题,我在全局事件CurrentChanged 设置了子表中的某列自动适应内容宽度的代码,设置完后,在点某些(不是所有的)父表行加载子表行的时候就出现错误,具体如图
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171201181600.png
图片点击可在新窗口打开查看

代码是        Case "DNP.加工基准时量"
        If e.Table.Current Is Nothing Or e.Table.rows.count = 0 Then
        Return
        Else
        Tables("DNP.加工基准时量").AutoSizeCol("DNP名称")
        End If


请问各位老师朋友,到底是什么原因,应该怎么改进,感谢!

--  作者:有点蓝
--  发布时间:2017/12/1 20:13:00
--  
贴出这个事件的完整代码看看
--  作者:土佛
--  发布时间:2017/12/2 11:30:00
--  
Select Case e.Table.Name  
    Case "加工基准时量"
        If e.Table.Current Is Nothing Or e.Table.rows.count = 0 Then
            Return
        Else
            Tables("加工基准时量").AutoSizeCol("DNP名称")
        End If
 Case "DNP.加工基准时量"
        If e.Table.Current Is Nothing Then
        Return
        Else
        Tables("DNP.加工基准时量").AutoSizeCol("DNP名称")
        End If  
        
End Select

--  作者:有点蓝
--  发布时间:2017/12/2 11:34:00
--  
这样呢

Select Case e.Table.Name  
    Case "加工基准时量","DNP.加工基准时量"
Tables(e.Table.Name).AutoSizeCol("DNP名称")
End Select

--  作者:土佛
--  发布时间:2017/12/2 12:52:00
--  
好的,我试一下看看


--  作者:土佛
--  发布时间:2017/12/2 16:53:00
--  
老师你好,还是不行。其实,也不是所有的行都会出问题,只是点 某些行的时候,会出现报警
--  作者:有点蓝
--  发布时间:2017/12/2 17:07:00
--  
应该是触发其它的关联事件有问题

上传实例测试
--  作者:土佛
--  发布时间:2017/12/2 17:09:00
--  
你说的是,能否有空的时候帮忙远程处理?
--  作者:有点甜
--  发布时间:2017/12/3 19:45:00
--  
你确定是 AutoSizeCol 代码的问题?如果你把代码删除,是否还有问题?
--  作者:xiaoqiwei
--  发布时间:2017/12/3 20:54:00
--  
以下是引用有点甜在2017/12/3 19:45:00的发言:
你确定是 AutoSizeCol 代码的问题?如果你把代码删除,是否还有问题?

我远程帮他屏蔽过该代码后正常,但发现该表中的加载事件中,有重新加载关联表的代码。

发现单独屏蔽AutoSizeCol的代码或者单独屏蔽表的加载事件中代码,两者其中之一都能正常,不会报错,如二者均不屏蔽,则选中有些行时就会报错,初步怀疑涉及到其他关联事件的代码。由于时间问题,没能详细去了解。

[此贴子已经被作者于2017/12/3 20:54:42编辑过]