Foxtable(狐表)用户栏目专家坐堂 → 删除行时窗口出错


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

主题:删除行时窗口出错

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
删除行时窗口出错  发帖心情 Post By:2018/8/5 20:52:00 [只看该作者]

我在CurrentChanged事件中关闭下面代码就不出现错误提示,如何调整下面代码:

'''=======台帐模拟关联表1:招标信息与项目联系人===========

If Forms("招标信息台帐").Opened() '一定要判断用于模拟关联表的窗口是否已经打开

    Dim t As Table = Tables("招标信息台帐_Table2")

    With Tables("招标信息台帐_Table1")

        If .Current Is Nothing Then

            t.Filter = "False"

        Else

            t.Filter = "系统编号 = '" & .Current("系统编号") & "'"

        End If

    End With

End If



图片点击可在新窗口打开查看此主题相关图片如下:66619.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:77740.png
图片点击可在新窗口打开查看


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


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

在头部加入代码 msgbox(e.Table.name) 看弹出什么,看是不是重复执行了事件。


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/6 19:18:00 [只看该作者]

弹出的是当前talbes的名称,如上图“招标信息”
[此贴子已经被作者于2018/8/6 19:18:10编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/6 20:34:00 [只看该作者]

Table1和Table2绑定的是什么表?分别什么类型的窗口表?副本?sqltable?

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/6 21:10:00 [只看该作者]

我用的是外部SQL数据库,table1绑定tables("招标信息")并为副本,table2绑定tables("项目联系人")并为副本,类型为Normal,主要是二个副本做一个模拟关联表。

事件中代码:

''在不同表之间同时选定一个项目名称
If e.Table.Current IsNot Nothing Then '如果Current为Nothing
    Return '则返回
Else
    If e.Table.Name = "招标信息" Then
        '''=======台帐模拟关联表1:招标信息与项目联系人===========
        If Forms("招标信息台帐").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
            Dim t As Table = Tables("招标信息台帐_Table2")
            With Tables("招标信息台帐_Table1")
                If .Current Is Nothing Then
                    t.Filter = "False"
                Else
                    t.Filter = "系统编号 = '" & .Current("系统编号") & "'"
                End If
            End With
        End If
    End If
    
    ''=========在不同表之间同时选定一个项目名称===========
    Dim wz As Integer
    Dim dr As DataRow
    dr = DataTables("抽签入围").Find("[系统编号] = '" & Tables("开标记录").Current("系统编号") & "'")
    If dr IsNot Nothing Then
        wz = Tables("抽签入围").FindRow(dr)
        If wz >= 0 Then
            Tables("抽签入围").Position = wz
        End If
    End If
End If

[此贴子已经被作者于2018/8/6 21:13:18编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/6 21:31:00 [只看该作者]

1、
If e.Table.Current Is Nothing Then
    Return '则返回

2、不应该在主表的CurrentChanged事件中对副本重新筛选,因为主表的CurrentChanged事件同样会对副本生效,副本也会触发这个事件

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/6 23:00:00 [只看该作者]

老师我上传附件,帮我查一下,谢谢!



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:二个副本的模拟关联表.table



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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/6 23:06:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:二个副本的模拟关联表.zip


 回到顶部