以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多值字段拆分之后 组合字符串 得到的是多条重复数据,怎么修正呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=183977)

--  作者:cnsjroom
--  发布时间:2022/11/21 19:29:00
--  多值字段拆分之后 组合字符串 得到的是多条重复数据,怎么修正呢?

Functions.Execute("谈话参与人多值拆分获取职务","王x,刘x","33d77272-30d8-411f-957b-e5ea137613ce")

 

内部函数代码如下:

Dim str As String = Args(0)
Dim guid As String = Args(1)
Dim ss As String =""
Dim cmd As New SQ LCo mmand
cmd.Con nectio nNa me = "主数据源"
For Each s As String In str.split(",")    \'对传入的值进行拆分
    cmd.CommandText = "sel ect 姓名,职务 from 干部台账 where 姓名=\'" &  s & "\'"
    Dim Values = cmd.ExecuteValues
    If Values.Count > 0 Then
        ss=  Values("姓名") & ":" & Values("职务")
        ss = ss & vbcrlf & ss
    End If
   
Next
output.show(ss)

 

输出得到:

王x:科员
王x:科员

 

上述代码怎么修正得到:

王x:科员
刘x:科员


--  作者:有点蓝
--  发布时间:2022/11/21 20:11:00
--  
Dim str As String = Args(0)
Dim cmd As New SQ LCo mmand
cmd.Con nectio nNa me = "主数据源"
    cmd.CommandText = "select distinct 姓名 + \':\' + 职务 as 列A from 干部台账 where 姓名 in (\'" &  str.replace(",","\',\'")  & "\')"
    Dim dt as datatable = cmd.Executereader
output.show(dt.getcombostring("列A"))
--  作者:cnsjroom
--  发布时间:2022/11/22 0:36:00
--  回复:(有点蓝)Dim str As String = Args(0)Dim cmd...
Dim str As String = Args(0)
Dim guid As String = Args(1)
Dim ss As String =""
Dim cmd As New SQL Co mmand
cmd.Conn ect ion Name = "主数据源"
 cmd.CommandText = "sel ect distinct 姓名 + \':\' + 职务 as 备注 from 干部台账 where 姓名 in (\'" &  str.replace(",","\',\'")  & "\')"
output.show(cmd.CommandText)
Dim dt As DataTable = cmd.Executereader
output.show(dt.GetComboListString("备注"))
 
输出得到
sel ect distinct 姓名 + \':\' + 职务 as 备注 from 干部台账 where 姓名 in (\'王X\',\'刘X\')
王x:科员
还差一个  刘X:科员
 
[此贴子已经被作者于2022/11/22 0:36:35编辑过]

--  作者:有点蓝
--  发布时间:2022/11/22 8:51:00
--  
SQ没有问题,表格里肯定没有这个人的数据,或者姓名对不上
--  作者:cnsjroom
--  发布时间:2022/11/22 9:37:00
--  回复:(有点蓝)SQ没有问题,表格里肯定没有这个人的...

经查系名字中间带有空格  修正后

得到:刘X:科员|王X:科员 

我不想这样的格式

 

刘X:科员

王X:科员 

 

这样的格式怎么操作呢?


--  作者:有点蓝
--  发布时间:2022/11/22 9:42:00
--  
建议重新学一下编程基础这一章把,都是很基础的用法

output.show(dt.GetComboListString("备注").replace("|",vbcrlf))