以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何将a:b:c:d格式的数据转换成a因b被cd的格式呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175659)

--  作者:cnsjroom
--  发布时间:2022/3/14 15:34:00
--  如何将a:b:c:d格式的数据转换成a因b被cd的格式呢?

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编辑过]

--  作者:有点蓝
--  发布时间: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
--  发布时间:2022/3/14 15:50:00
--  回复:(有点蓝)那就没有必要遍历列了,也不是什么逻...
谢谢老师