Foxtable(狐表)用户栏目专家坐堂 → [求助]父表第二列为多值,子表第三列自动录入啊啊


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

主题:[求助]父表第二列为多值,子表第三列自动录入啊啊

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
[求助]父表第二列为多值,子表第三列自动录入啊啊  发帖心情 Post By:2020/7/2 16:06:00 [只看该作者]

如题,父表A通过第一列关联子表B,加入父表第二列为多值
中国,香港   通过判定含有,逗号
子表B,第三列自动录入 啊啊 

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/2 16:10:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/1457.htm

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

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)参考:http://www.foxtable.com/webh...  发帖心情 Post By:2020/7/2 16:16:00 [只看该作者]

坛主,上楼不是我想实现的效果,

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

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/2 16:36:00 [只看该作者]

类似这里的判断用法,代码改改放到datacolchanged事件:http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=151719&skin=0

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)类似这里的判断用法,代码改改放到da...  发帖心情 Post By:2020/7/2 16:59:00 [只看该作者]

求助修改下面代码

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编辑过]

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部