Foxtable(狐表)用户栏目专家坐堂 → [求助]数据自动引用


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

主题:[求助]数据自动引用

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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
[求助]数据自动引用  发帖心情 Post By:2017/8/14 11:36:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:表b.png
图片点击可在新窗口打开查看

 

在表C DataColChanged 事件下写以下代码:

 

Dim str As String = e.DataRow("第一列")
If e.DataCol.Name = "第一列"  Then
    Dim dr As DataRow
    dr = DataTables("表B").Find("第四列 like '" & str & "'" )
    If dr IsNot Nothing Then
        e.DataRow("第四列") =  dr("第四列")

    End If
End If

 

 

 

Dim str As String = e.DataRow("第一列")
If e.DataCol.Name = "第一列"  Then
    Dim dr As DataRow
    dr = DataTables("表B").Find("第四列 like '%" & str & "%'" )
    If dr IsNot Nothing Then
        e.DataRow("第四列") =  dr("第四列")
    End If
End If

 

都达不到要的效果

图片点击可在新窗口打开查看此主题相关图片如下:表c.png
图片点击可在新窗口打开查看

 

当表C第一列有数据改变时,想变成图3的效果

 

 


 


图片点击可在新窗口打开查看此主题相关图片如下:图3.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/8/14 11:46:47编辑过]

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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2017/8/14 11:48:00 [显示全部帖子]

不行,这个写我也试过

 

结果是这个的

 

 


图片点击可在新窗口打开查看此主题相关图片如下:图4.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2017/8/14 11:59:00 [显示全部帖子]

谢谢!

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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2017/8/14 12:15:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:表5.png
图片点击可在新窗口打开查看

如果(图5)表B的基础表是这样的,

应该如何写,同样有图6的效果,找不到表达的思路。

图片点击可在新窗口打开查看此主题相关图片如下:表6.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2017/8/14 14:57:00 [显示全部帖子]

Dim str As String = e.DataRow("第一列")
If e.DataCol.Name = "第一列"  Then
    For Each dr As DataRow In DataTables("表B").Select("第四列 is not null")
        Dim ary() As String = dr("第四列").split(",")
        For Each s As String In ary
            If str.Contains(s) Then
                e.DataRow("第四列") =  dr("第四列")
                Exit For
            End If
        Next
    Next
End If

上面这句好像写得不对,执行后,如图

 


图片点击可在新窗口打开查看此主题相关图片如下:图7.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2017/8/14 17:06:00 [显示全部帖子]

有点甜你好,下面红色的这个代码好像不对,如8楼的图,谢谢!
Dim str As String = e.DataRow("第一列")
If e.DataCol.Name = "第一列"  Then
    For Each dr As DataRow In DataTables("表B").Select("第四列 is not null")
        Dim ary() As String = dr("第四列").split(",")
        For Each s As String In ary
            If str.Contains(s) Then
                e.DataRow("第四列") =  dr("第四列")
                Exit For
            End If
        Next
    Next
End If

 回到顶部