以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关联表多行选择,子表列出选定行的子项 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126316) |
-- 作者:yetle -- 发布时间: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
|
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2018/10/18 15:30:00 -- 索引超出范围。必须为非负值并小于集合大小。 参数名: index
|
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2018/10/18 15:51:00 -- 错误提示没有了,可是选择了多行还是没有反应,将currentchanged代码删掉,PositionChanged还是没有起作用,把PositionChanged代码放到currentchanged也没作用 |
-- 作者:有点甜 -- 发布时间:2018/10/18 15:59:00 -- 尝试把代码写到 AfterSelChange、AfterSelRangeChange事件。 |