Foxtable(狐表)用户栏目专家坐堂 → 提取子表数据到单元格内


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

主题:提取子表数据到单元格内

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


加好友 发短信
等级:小狐 帖子:332 积分:2471 威望:0 精华:0 注册:2012/6/23 11:15:00
提取子表数据到单元格内  发帖心情 Post By:2023/1/19 14:31:00 [只看该作者]

两个表A表有列【电话】和【主要联系人姓名】、【主要联系人电话】B表有列【姓名】和【手机号】,
问题1、父A、子B关联后,想实现电话自动提取到子B表行里的【手机号】到A表列【电话】里,一行一组还是,逗号分开(电话盒子来电话能弹屏用)
问题2、父A自动提取到同表的【主要联系人电话】到列【电话】里,融合问题1,一行一组还是,逗号分开(电话盒子来电话能弹屏用)
问题3、AB表部关联代码的区别
问题4、之前一行就一组时候的代码如下,现在一个单元格多个组电话了如何相应调整代码,谢谢老师
If drCurrentRow IsNot Nothing Then 
        Dim dr As DataRow = DataTables("A").Find("电话 = '" & drCurrentRow("电话号码") & "'")
        If dr IsNot Nothing Then
            Dim idx As Integer = Tables("A").FindRow(dr)
            If idx >= 0 Then
                Tables("A").Position = idx
                Forms("通话弹窗").Open()
            End If
        Else
            Forms("弹窗").Open() 
        End If

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/19 14:59:00 [只看该作者]

截图表格数据说明一下。一行一组是什么意思?

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


加好友 发短信
等级:小狐 帖子:332 积分:2471 威望:0 精华:0 注册:2012/6/23 11:15:00
  发帖心情 Post By:2023/1/19 15:15:00 [只看该作者]

单元格里 一行一组;
13901098888
15505555555
16656666666
单元格里 逗号分:
13901098888,15505555555,16656666666

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/19 15:35:00 [只看该作者]

Dim dr As DataRow = DataTables("A").Find("电话 = '" & drCurrentRow("电话号码") & "'")
改为
Dim dr As DataRow = DataTables("A").Find("','+电话+',' like '%," & drCurrentRow("电话号码") & ",%'")

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


加好友 发短信
等级:小狐 帖子:332 积分:2471 威望:0 精华:0 注册:2012/6/23 11:15:00
  发帖心情 Post By:2023/1/19 15:41:00 [只看该作者]

谢谢蓝老师:
问题1、父A、子B关联后,想实现从B表列【手机号】里提取到A表列【电话】里,用,逗号分开(电话盒子来电话能弹屏用)怎么写?

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/19 15:48:00 [只看该作者]

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

B表的DataColChanged事件代码设置为:

Select Case e.DataCol.Name
    Case
 "
手机号"
        
Dim pr As DataRow
        pr = 
DataTables("A").Find("
主要联系人姓名 = '" & e.DataRow("姓名") & "'")
        If
 pr IsNot Nothing Then
            DataTables
("
A").DataCols("主要联系人姓名").RaiseDataColChanged(pr)
        End
 If
End
 Select


A表的DataColChanged事件代码设置为:

If e.DataCol.Name = "主要联系人姓名" Then
    Dim
 Filter As String = "[
姓名] = '" & e.NewValue & "'"
    e.
DataRow("
电话") = DataTables("B"). getcomboliststring("手机号", Filter).replace("|",",")
End
 If


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


加好友 发短信
等级:小狐 帖子:332 积分:2471 威望:0 精华:0 注册:2012/6/23 11:15:00
  发帖心情 Post By:2023/1/19 16:05:00 [只看该作者]

蓝老师辛苦了,AB表是【编号】关联的,A父。
达到下面效果,从B【手机】行 提取到 A【电话】单元格里,排除重复的

A表【电话】
单元格里 逗号分:
13901098888,15505555555,16656666666

B表  【手机号】如:
行1    13901098888
行2    15505555555
行3    16656666666
行4    13901098888

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/19 16:15:00 [只看该作者]

一样的用法,把条件列改为编号即可

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


加好友 发短信
等级:小狐 帖子:332 积分:2471 威望:0 精华:0 注册:2012/6/23 11:15:00
  发帖心情 Post By:2023/1/19 16:25:00 [只看该作者]

我改了好久都没成功,辛苦蓝老师改下

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/19 16:39:00 [只看该作者]

主要联系人姓名、姓名都改为编号即可

 回到顶部
总数 12 1 2 下一页