Foxtable(狐表)用户栏目专家坐堂 → 在窗口中的关联表能用CurrentChanged吗?


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

主题:在窗口中的关联表能用CurrentChanged吗?

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/26 10:51:00 [显示全部帖子]

关联表也有CurrentChanged事件,在原表设置事件代码即可,在代码中判断触发事件的表名:

 

If e.Table.Name = "表B"  Then ‘原表触发

ElseIf e.Table.Name = "表A.表B"  Then ‘关联表触发

End If


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/7/26 12:15:00 [显示全部帖子]

If e.Table.Name = "领料单_明细"  Then '原表触发
ElseIf e.Table.Name = "领料单_主表.领料单_明细"  And Forms("领料单").Opened   Then '关联表触发
    If Tables("领料单_主表.领料单_明细").Current IsNot Nothing Then
        Dim tbl As Table = Tables("领料单_Table2")
        Dim dr As DataRow = DataTables("仓库物料表_主表").Find("料号 = '" &  Tables("领料单_主表.领料单_明细").Current("料号") & "'")
        If dr Is Nothing Then
            tbl.Filter = "" '显示所有客户
        Else
            tbl.Filter = "相同代码 = '" & dr("相同代码") & "'"
        End If
    End If
End If

 回到顶部