Foxtable(狐表)用户栏目专家坐堂 → 关联表多行选择,子表列出选定行的子项


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

主题:关联表多行选择,子表列出选定行的子项

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
关联表多行选择,子表列出选定行的子项  发帖心情 Post By:2018/10/18 15:10:00 [只看该作者]

看帮助写了下面代码,应该不对,该怎么写?

PositionChanged


If Forms("大货用量表").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("配色表")
    Dim b As Table = Tables("配码表")    
    With Tables("大货用量表_Table1")
    If .TopPosition > -1 Then '如果选定区域包括数据行
        For i As Integer = .TopPosition To .BottomPosition
            t.Filter = "物料ID = " & .Rows(i)("物料基本信息_物料ID")
            b.Filter = "物料ID = " & .Rows(i)("物料基本信息_物料ID")
        Next
    End If
    End With
End If

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


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


If Forms("大货用量表").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("配色表")
    Dim b As Table = Tables("配码表")
    With Tables("大货用量表_Table1")
        If .TopPosition > -1 Then '如果选定区域包括数据行
            Dim ids As String = ""
            For i As Integer = .TopPosition To .BottomPosition
                ids &= "'" & .Rows(i)("物料基本信息_物料ID") & "',"
            Next
            t.Filter = "物料ID in (" & ids.trim(",") & ") "
            b.Filter = "物料ID in (" & ids.trim(",") & ") "
        End If
    End With
End If

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/10/18 15:30:00 [只看该作者]

索引超出范围。必须为非负值并小于集合大小。
参数名: index

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


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

If Forms("大货用量表").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("配色表")
    Dim b As Table = Tables("配码表")
    With Tables("大货用量表_Table1")
        If .rows.count > 0 Then '如果选定区域包括数据行
            Dim ids As String = ""
            For i As Integer = .TopPosition To .BottomPosition
                ids &= "'" & .Rows(i)("物料基本信息_物料ID") & "',"
            Next
            t.Filter = "物料ID in (" & ids.trim(",") & ") "
            b.Filter = "物料ID in (" & ids.trim(",") & ") "
        End If
    End With
End If

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/10/18 15:51:00 [只看该作者]

错误提示没有了,可是选择了多行还是没有反应,将currentchanged代码删掉,PositionChanged还是没有起作用,把PositionChanged代码放到currentchanged也没作用

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


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

尝试把代码写到 AfterSelChangeAfterSelRangeChange事件。


 回到顶部