Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助]  发帖心情 Post By:2015/8/27 17:08:00 [只看该作者]

有表间条件填充公式如下:将【GPON口与分纤盒对应关系表】中符合条件的【分纤盒编号】内容填写到【 OLT设备端口密码表】相对应的【分纤盒编号】中去;但是以下命令只能填充一个内容;如果GPON口与分纤盒对应关系表】中存在多条符合条件的内容,我该怎么实现通过“,”进行分隔填入到分纤盒编号】中去?

For Each r As Row In Tables("OLT设备端口密码表").Rows
Dim dr As DataRow = DataTables("GPON口与分纤盒对应关系表").Find("机房名称 = '" & r("机房名称") & "' and 设备名称 = '" & r("设备名称") & "' and 设备端口 = '" & r("设备端口") & "'")
If dr IsNot Nothing Then
For Each s As String In "分纤盒编号".Split("|")
r(s) = dr(s)
Next
End If

如果我想实现以下效果,命令该怎么修改?

 GPON口与分纤盒对应关系表                                            OLT设备端口密码表                                                      

机房名称    设备名称     设备端口      分纤盒编号                 机房名称    设备名称     设备端口      分纤盒编号

A              B              C               1                             A             B               C              1,2,3
A              B              C               2
A              B              C               3             

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/8/27 17:21:00 [只看该作者]

是不是这么写呢
Dim drs As List (of DataRow)
For Each r As Row In Tables("OLT设备端口密码表").Rows
    drs=DataTables("OLT设备端口密码表").Select("机房名称 = '" & r("机房名称") & "' and 设备名称 = '" & r("设备名称") & "' and 设备端口 = '" & r("设备端口") & "'")
    If drs IsNot Nothing Then
        For Each dr As DataRow In drs
            Dim Names As New List(Of String)
            If Names.Contains(dr("分纤盒编号"))=false then
                Names.Add("分纤盒编号")
            End If
        Next
        r("分纤盒编号")=""
        r("分纤盒编号")=Names
    End If
Next


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/8/27 17:39:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:360截图20150827173929517.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/8/27 17:56:00 [只看该作者]

Dim drs As List (of DataRow)
For Each r As Row In Tables("OLT设备端口密码表").Rows
    drs=DataTables("OLT设备端口密码表").Select("机房名称 = '" & r("机房名称") & "' and 设备名称 = '" & r("设备名称") & "' and 设备端口 = '" & r("设备端口") & "'")
    If drs IsNot Nothing Then
Dim Names As New List(Of String)
Names=""
        For Each dr As DataRow In drs
            'Dim Names As New List(Of String)
            If Names.Contains(dr("分纤盒编号"))=false then
                Names.Add("分纤盒编号")
            End If
        Next
        r("分纤盒编号")=""
        r("分纤盒编号")=Names
    End If
Next
[此贴子已经被作者于2015/8/27 17:56:25编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/27 18:18:00 [只看该作者]

Dim drs As List (of DataRow)
For Each r As Row In Tables("OLT设备端口密码表").Rows
    drs=DataTables("OLT设备端口密码表").Select("机房名称 = '" & r("机房名称") & "' and 设备名称 = '" & r("设备名称") & "' and 设备端口 = '" & r("设备端口") & "'")
    Dim bhs As String() = r("分纤盒编号").split(",")
    If drs.count > 0 Then
        For i As Integer = 0 To bhs.length - 1
            drs(i)("分纤盒编号") = bhs(i)
        Next
    End If
   
Next

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/8/28 9:40:00 [只看该作者]

5楼的命令没有任何效果。是不是没写对哦?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/28 9:42:00 [只看该作者]

 

[此贴子已经被作者于2015/8/28 9:42:44编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/28 9:43:00 [只看该作者]

Dim drs As List (of DataRow)
For Each r As Row In Tables("OLT设备端口密码表").Rows
    drs=DataTables("GPON口与分纤盒对应关系表").Select("机房名称 = '" & r("机房名称") & "' and 设备名称 = '" & r("设备名称") & "' and 设备端口 = '" & r("设备端口") & "'")
    Dim bhs As String() = r("分纤盒编号").split(",")
    If drs.count > 0 Then
        For i As Integer = 0 To bhs.length - 1
            drs(i)("分纤盒编号") = bhs(i)
        Next
    End If
   
Next

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/8/28 11:27:00 [只看该作者]

还是不行哦,帮忙看一下附件;相实现点击某一按钮后,在【B表】的【分纤盒编号】中能够自动填入【A表】中符合【机房名称】【设备名称】【设备端口】都相同的所有【分纤盒编号】、并以","分隔开来。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目20.foxdb


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/28 11:31:00 [只看该作者]

'''...
Dim drs As List (of DataRow)
For Each r As Row In Tables("表B").Rows
    drs=DataTables("表A").Select("机房名称 = '" & r("机房名称") & "' and 设备名称 = '" & r("设备名称") & "' and 设备端口 = '" & r("设备端口") & "'")
    Dim bhs As String() = r("分纤盒编号").split(new char() {",", ","})
    If drs.count > 0 Then
        For i As Integer = 0 To bhs.length - 1
            drs(i)("分纤盒编号") = bhs(i)
        Next
    End If
   
Next

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