以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]多值列拆分成单行失败 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184400) |
||||
-- 作者:miaoqingqing -- 发布时间:2022/12/6 0:20:00 -- [求助]多值列拆分成单行失败 第一列多值列是空格换行时拆分多值为多行失败, 求助:多值列拆分成单行(已存在的就不新建,避免重复) For Each s As String In e.DataRow("第一列").split(" & Chr(13) & Chr(10) & ") 空格换行这个代码无效 狐表不能升级了,新版本打不开,辛苦蓝总把代码贴出来
[此贴子已经被作者于2022/12/6 8:48:22编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/12/6 8:38:00 -- 最终要什么效果 |
||||
-- 作者:miaoqingqing -- 发布时间:2022/12/6 8:51:00 -- 回复:(有点蓝)最终要什么效果 第一列的第一行的1个单元格里多值: 2134 2134 2314 2341 拆到表:多值列拆分成单行 里新建3行,第二列新建的这3行的3个单元格里分别录入 2134(已存在就不重复新建) 2314 2341 蓝总,理解上面我表达的效果没? [此贴子已经被作者于2022/12/6 9:47:19编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/12/6 9:50:00 -- If e.DataCol.name="第一列" AndAlso e.DataRow.isnull("第一列")=False Then For Each s As String In e.DataRow("第一列").Replace(vbcr, "").split(vblf) Dim dr As DataRow dr = DataTables("多值列拆分成单行").Find("第二列 = \'" & s & "\'") If dr Is Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing Dim r As Row = Tables("多值列拆分成单行").addnew r("第二列")= s End If Next End If
|
||||
-- 作者:miaoqingqing -- 发布时间:2022/12/7 14:50:00 -- 回复:(有点蓝)If e.DataCol.name="第一列" A...
蓝总,上楼代码在项目中拆分数量太少不对,辛苦帮忙代码贴出来,高版本项目打不开
|
||||
-- 作者:有点蓝 -- 发布时间:2022/12/7 15:06:00 -- 什么数据不对? |
||||
-- 作者:miaoqingqing -- 发布时间:2022/12/7 15:12:00 -- 回复:(有点蓝)什么数据不对? 表A第一列1295行的多值拆分到表: 多值列拆分成单行的第二列 也是1295行(数据感觉少了) [此贴子已经被作者于2022/12/7 15:14:50编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/12/7 15:13:00 -- 哪个数据少了?我没有这个闲工夫一个个去核对 |
||||
-- 作者:y2287958 -- 发布时间:2022/12/7 16:51:00 -- 没错,1295只是巧合而已,可以增删一些数据试试。 不过我更喜欢用以下代码 Dim lst As New List(Of String) For Each dr As DataRow In DataTables("表A").Datarows lst.AddRange(dr.Lines("第一列")) Next \'Output.Show (lst.Distinct.Count) DataTables("多值列拆分成单行").DataRows.Clear DataTables("多值列拆分成单行").StopRedraw For Each s As String In lst.Distinct Dim dr As DataRow = DataTables("多值列拆分成单行").AddNew dr("第二列") = s Next DataTables("多值列拆分成单行").ResumeRedraw |
||||
-- 作者:miaoqingqing -- 发布时间:2022/12/7 18:49:00 -- 回复:(y2287958)没错,1295只是巧合而已,可以增删... 收到,感谢各位老师前辈 |