Foxtable(狐表)用户栏目专家坐堂 → 如何将a:b:c:d格式的数据转换成a因b被cd的格式呢?


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

主题:如何将a:b:c:d格式的数据转换成a因b被cd的格式呢?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
如何将a:b:c:d格式的数据转换成a因b被cd的格式呢?  发帖心情 Post By:2022/3/14 15:34:00 [只看该作者]

Dim br As String
Dim Names As New List(Of object)
Dim Names2 As New List(Of object)
For Each r As Row In Tables("说明与报告")
    Names.clear
    For Each r1 As Col In Tables("说明与报告").Cols
        If r1.DataCol.Name="时间" Or r1.DataCol.Name="事项" Or r1.DataCol.Name="类别" Or r1.DataCol.Name="内容" Then
            If  r.isnull(r1.DataCol.Name)=False  Then
                'Names.add( r1.DataCol.Name & ":" &r(r1.DataCol.Name))
                Names.add(r(r1.DataCol.Name))
            End If
        End If
    Next
    If Names.count > 0
       ' Names2.add("[" & r.index+1 & "]:" & String.join("",Names.toarray))
        Names2.add(String.join(":",Names.toarray))
    End If
Next
MessageBox.show(String.join(";",Names2.toarray))

 

 

输出得到:

2022-12-11 00:00:00:喝酒:党纪处分:记大过;2023-12-12 00:00:00:打牌:党纪处分:警告

 

 

想实现为固定格式:

2022年12月11日因喝酒被党纪处分(记大过);2022年12月12日因打牌被党纪处分(警告)


[此贴子已经被作者于2022/3/14 15:37:57编辑过]

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


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/14 15:45:00 [只看该作者]

那就没有必要遍历列了,也不是什么逻辑都要用遍历来解决

Dim br As String
Dim Names As New List(Of object)
Dim Names2 As New List(Of object)
For Each r As Row In Tables("说明与报告")
Names2.add(format(r("时间"),"yyyy年MM月dd日") & "" & r("事项") & "" & r("类别") & ........)
next

MessageBox.show(String.join(";",Names2.toarray))

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)那就没有必要遍历列了,也不是什么逻...  发帖心情 Post By:2022/3/14 15:50:00 [只看该作者]

谢谢老师

 回到顶部