以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]父表第二列为多值,子表第三列自动录入啊啊  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=151747)

--  作者:miaoqingqing
--  发布时间:2020/7/2 16:06:00
--  [求助]父表第二列为多值,子表第三列自动录入啊啊
如题,父表A通过第一列关联子表B,加入父表第二列为多值
中国,香港   通过判定含有,逗号
子表B,第三列自动录入 啊啊 

--  作者:有点蓝
--  发布时间:2020/7/2 16:10:00
--  
参考:http://www.foxtable.com/webhelp/topics/1457.htm

用法一样:DataTables("表A").GetComboListString("第二列").replace(",","|")

--  作者:miaoqingqing
--  发布时间:2020/7/2 16:16:00
--  回复:(有点蓝)参考:http://www.foxtable.com/webh...
坛主,上楼不是我想实现的效果,

父表  表A  第一列 01  第二列值为  中国,香港     或者  美国,法国
判断 父表  第二列值含有,逗号,即执行
子表  表B  第一列 01  第三列 值自动录入  “啊啊”
[此贴子已经被作者于2020/7/2 16:16:21编辑过]

--  作者:有点蓝
--  发布时间:2020/7/2 16:36:00
--  
类似这里的判断用法,代码改改放到datacolchanged事件:http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=151719&skin=0
--  作者:miaoqingqing
--  发布时间:2020/7/2 16:59:00
--  回复:(有点蓝)类似这里的判断用法,代码改改放到da...
求助修改下面代码

If e.Col.name = "第二列" AndAlso e.Row.isnull("第二列")  = False Then
If  e.Row("第二列")  Like "," Then  \'不含
        Dim dr As DataRow
        \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr = DataTables("表B").Find("[第二列] = \'" & e.NewValue & "\' and [第一列] = e.Row("第一列")")
        If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
            dr.("第三列") = "单价"
        End If
    End If
End If
[此贴子已经被作者于2020/7/2 17:03:14编辑过]

--  作者:有点蓝
--  发布时间:2020/7/2 17:12:00
--  
先看看:http://www.foxtable.com/webhelp/topics/0604.htm

If e.dataCol.name = "第二列"  Then
If  not(e.dataRow("第二列")  Like "*,*") Then  \'不含
        Dim dr As DataRow
        \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr = DataTables("表B").Find("[第二列] = \'" & e.NewValue & "\' and [第一列] = e.dataRow("第一列")")
        If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
            dr("第三列") = "单价"
        End If
    End If
End If