以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73845) |
||||
-- 作者:wumingrong1 -- 发布时间: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 -- 发布时间: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 -- 发布时间:2015/8/27 17:39:00 -- 此主题相关图片如下:360截图20150827173929517.jpg |
||||
-- 作者:blsu33 -- 发布时间: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编辑过]
|
||||
-- 作者:大红袍 -- 发布时间: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 -- 发布时间:2015/8/28 9:40:00 -- 5楼的命令没有任何效果。是不是没写对哦? |
||||
-- 作者:大红袍 -- 发布时间:2015/8/28 9:42:00 --
[此贴子已经被作者于2015/8/28 9:42:44编辑过]
|
||||
-- 作者:大红袍 -- 发布时间: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 -- 发布时间:2015/8/28 11:27:00 -- 还是不行哦,帮忙看一下附件;相实现点击某一按钮后,在【B表】的【分纤盒编号】中能够自动填入【A表】中符合【机房名称】【设备名称】【设备端口】都相同的所有【分纤盒编号】、并以","分隔开来。
|
||||
-- 作者:大红袍 -- 发布时间: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 |