Foxtable(狐表)用户栏目专家坐堂 → 如何根据一个批量提交的身份证号,从数据表中查找符合条件的记录 然后按身份证号对应的名字,逐一输出呢?


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

主题:如何根据一个批量提交的身份证号,从数据表中查找符合条件的记录 然后按身份证号对应的名字,逐一输出呢?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
如何根据一个批量提交的身份证号,从数据表中查找符合条件的记录 然后按身份证号对应的名字,逐一输出呢?  发帖心情 Post By:2022/3/15 2:15:00 [只看该作者]

如何根据一个批量提交的身份证号,从数据表中查找符合条件的记录  然后按身份证号对应的名字,逐一输出呢?

怎么实现如下效果呢:

身份证号1,2,3,4,5,6……先依次从1到6查询到姓名,然后对应的查询1到6在说明与报告等表中是否有数据

按对应的姓名,按如下分类输出信息   格式为  姓名  身份证号  结果

张三  1 某年某月因打架被党纪处分记大过

里斯  2 无受到党纪处分;无收到诫勉谈话

王五  3 某年某月因打架被收到界面谈话

麻子  4 某年某月因打架被收到界面谈话

缓缓  5 某年某月因打架被收到界面谈话

 

当前代码如下:【怎么完善,并实现上述格式信息呢?】

           Dim bb As DataRow=DataTables("干部花名册").sqlfind("身份证号='"& e.DataRow("身份证号")&"'")
            If  bb  IsNot Nothing  Then
                e.DataRow("回复关联人")=bb("姓名")
                e.DataRow("关联人单位及职务")=bb("单位及职务")
            End If
           
        Dim bb0 As DataRow = DataTables("问题处置").sqlfind("身份证号='"& e.DataRow("身份证号") &"'")
        Dim bb2 As Integer =DataTables("问题处置").sqlCompute("count(身份证号)","身份证号='"& e.DataRow("身份证号") &"'")
        Dim bb1 As String
        Dim drs0 As List(of DataRow)  =DataTables("问题处置").SQLSelect("身份证号='"& e.DataRow("身份证号") &"'")
        Dim Names0 As New List(Of object)
        Dim Names20 As New List(Of object)
        For Each rr As DataRow In drs0
            Names20.add(format(rr("时间"),"yyyy年MM月dd日") & "收到" & rr("来源") & "转来的" & rr("类别") & ",内容为:" & rr("摘要") & ",于" & format(rr("处理时间"),"yyyy年MM月dd日") & "处理完毕,处理情况为:" &  rr("处理结果") )
        Next
        If bb0 IsNot Nothing Then
            bb1="收到党风廉政方面相关反映" & bb2 & "次,其中:" & String.join(";",Names20.toarray) & ";"
        Else
            bb1="未收到党风廉政方面相关反映,"
        End If
       
        Dim bb01 As DataRow = DataTables("说明与报告").sqlfind("身份证号='"& e.DataRow("身份证号") &"'and 类别='党纪处分'")
        Dim bb21 As Integer =DataTables("说明与报告").sqlCompute("count(身份证号)","身份证号='"& e.DataRow("身份证号") &"'and 类别='党纪处分'")
        Dim bb11 As String
        Dim drs As List(of DataRow)  =DataTables("说明与报告").SQLSelect("身份证号='"& e.DataRow("身份证号") &"'and 类别='党纪处分'")
        Dim Names As New List(Of object)
        Dim Names2 As New List(Of object)
        For Each r As DataRow In drs
            Names2.add(format(r("时间"),"yyyy年MM月dd日") & "因" & r("事项") & "被" & r("类别") & "(" & r("内容") & ")")
        Next
        If bb01 IsNot Nothing Then
            bb11="受到党纪处分" & bb21 & "次,其中:" & String.join(";",Names2.toarray) & ";"
        Else
            bb11="未受党纪处分;"
        End If
        

       
        Dim bb06 As DataRow = DataTables("说明与报告").sqlfind("身份证号='"& e.DataRow("身份证号") &"'and 类别='诫勉谈话'")
        Dim bb66 As Integer =DataTables("说明与报告").sqlCompute("count(身份证号)","身份证号='"& e.DataRow("身份证号") &"'and 类别='诫勉谈话'")
        Dim bb16 As String
        Dim drs4 As List(of DataRow)  =DataTables("说明与报告").SQLSelect("身份证号='"& e.DataRow("身份证号") &"'and 类别='诫勉谈话'")
        Dim Names4 As New List(Of object)
        Dim Names24 As New List(Of object)
        For Each r4 As DataRow In drs4
            Names24.add(format(r4("时间"),"yyyy年MM月dd日") & "因" & r4("事项") & "被" & r4("类别") & "(" & r4("内容") & ")")
        Next
        If bb06 IsNot Nothing Then
            bb16="被诫勉谈话" & bb66 & "次,其中:" & String.join(";",Names21.toarray) & ";"
        Else
            bb16="未被诫勉谈话;"
        End If
        Dim sss As String = bb11  & bb16 & bb1
        e.DataRow("回复内容")=sss.TrimEnd(";")

 


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

没看懂这些代码逻辑。请上传实例说明

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)没看懂这些代码逻辑。请上传实例说明...  发帖心情 Post By:2022/3/15 9:20:00 [只看该作者]

上传了 麻烦老师帮忙看看哈


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:廉政档案 - 副本.zip

[此贴子已经被作者于2022/3/15 9:31:41编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

数据导入内部表再发上来

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)数据导入内部表再发上来  发帖心情 Post By:2022/3/15 9:33:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:廉政档案 - 副本.zip

数据表已上传  麻烦老师帮忙看看  谢谢!

 

当前能够根据单个身份证号去查询

 

想实现批量多个身份证号 如1,2,3,4,5,6或者更多的身份证号的查询

身份证号1,2,3,4,5,6……先依次从1到6查询到姓名,然后对应的查询1到6在说明与报告等表中是否有数据

按对应的姓名,按如下分类输出信息   格式为  姓名  身份证号  结果

张三  1 某年某月因打架被党纪处分记大过  ;无收到诫勉谈话

里斯  2 无受到党纪处分;无收到诫勉谈话

王五  3 某年某月因打架被收到界面谈话

麻子  4 某年某月因打架被收到界面谈话

缓缓  5 某年某月因打架被收到界面谈话

[此贴子已经被作者于2022/3/15 9:34:49编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

1楼的代码在项目什么地方?多个身份证号怎么来的?导入?还是从哪个表取的?

1个身份证的代码有了,多个身份证号不就是外面套一层遍历,遍历这些身份证不就行了!

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)1楼的代码在项目什么地方?多个身份证...  发帖心情 Post By:2022/3/15 11:11:00 [只看该作者]

1楼代码是在党风廉政意见回复表里面

 

多个身份证号 目前是手动输入”1,2,3,4,5“到身份证号列里去

 

 

 

当前代码如下:

'''
Dim ss As String ="1,2,3,4,5,6,522725198011120011"
Dim Values() As String
If ss.Contains(",") Then
    Values = ss.split(",")
Else If ss.Contains(",") Then
    Values = ss.split(",")
End If
For Index As Integer = 0 To Values.Length - 1
    'Output.Show(Values(Index))
    Dim xmzws As List(Of String())
    xmzws = DataTables("干部花名册").GetValues("姓名|单位及职务","身份证号='" & Values(Index) & "'")
    For Each xmzw As String() In xmzws
        'Output.Show(xmzw)

        Dim bb0 As DataRow = DataTables("问题处置").sqlfind("关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index)&"'")
        Dim bb2 As Integer =DataTables("问题处置").sqlCompute("count(身份证号)","关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index)&"'")
        Dim bb1 As String
        Dim drs0 As List(of DataRow)  =DataTables("问题处置").SQLSelect("关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index)&"'")
        Dim Names0 As New List(Of object)
        Dim Names20 As New List(Of object)
        For Each rr As DataRow In drs0
            Names20.add(format(rr("时间"),"yyyy年MM月dd日") & "收到" & rr("来源") & "转来的" & rr("类别") & ",内容为:" & rr("摘要") & ",于" & format(rr("处理时间"),"yyyy年MM月dd日") & "处理完毕,处理情况为:" &  rr("处理结果") )
        Next
        If bb0 IsNot Nothing Then
            bb1="收到党风廉政方面相关反映" & bb2 & "次,其中:" & String.join(";",Names20.toarray) & ";"
        Else
            bb1="未收到党风廉政方面相关反映,"
        End If

        Dim smybgs As List(Of String)
        smybgs = DataTables("说明与报告").GetValues("类别")
        For Each smybg As String In smybgs
            Dim bb01 As DataRow = DataTables("说明与报告").sqlfind("关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index)  &"'and 类别='" & smybg & "'")
            Dim bb21 As Integer =DataTables("说明与报告").sqlCompute("count(身份证号)","关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index) &"'and 类别='" & smybg & "'")
            Dim bb11 As String
            Dim drs As List(of DataRow)  =DataTables("说明与报告").SQLSelect("关联人='"& xmzw(0) &"'and 身份证号='"& Values(Index) &"'and 类别='" & smybg & "'")
            Dim Names As New List(Of object)
            Dim Names2 As New List(Of object)
            For Each r As DataRow In drs
                Names2.add(format(r("时间"),"yyyy年MM月dd日") & "因" & r("事项") & "被" & r("类别") & "(" & r("内容") & ")")
            Next
            If bb01 IsNot Nothing Then
                bb11="受到" & smybg &  bb21 & "次,其中:" & String.join(";",Names2.toarray) & ";"
            Else
                bb11="未受" & smybg & ";"
            End If
            output.Show(xmzw(0) &"," & xmzw(1) & "," & bb11 & bb1)
        Next
    Next
Next

 

 

输出得到:

111,县医院11(副科长级),未受党纪处分;未收到党风廉政方面相关反映,
111,县医院11(副科长级),受到政务处分1次,其中:2022年12月31日因喝酒被政务处分(降级);未收到党风廉政方面相关反映,

 有没有办法修正一下,对于同一个姓名,所有的查询都组合成一句话.

 如:
111,县医院11(副科长级),受到政务处分1次,其中:2022年12月31日因喝酒被政务处分(降级);未受党纪处分;未收到党风廉政方面相关反映,


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

'''
Dim ss As String ="1,2,3,4,5,6,522725198011120011"
Dim Values() As String
If ss.Contains(",") Then
    Values = ss.split(",")
Else If ss.Contains(",") Then
    Values = ss.split(",")
End If
For Index As Integer = 0 To Values.Length - 1
    'Output.Show(Values(Index))
    Dim xmzws As List(Of String())
    xmzws = DataTables("干部花名册").GetValues("姓名|单位及职务","身份证号='" & Values(Index) & "'")
    For Each xmzw As String() In xmzws
        'Output.Show(xmzw)

        Dim bb0 As DataRow = DataTables("问题处置").sqlfind("关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index)&"'")
        Dim bb2 As Integer =DataTables("问题处置").sqlCompute("count(身份证号)","关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index)&"'")
        Dim bb1 As String
        Dim drs0 As List(of DataRow)  =DataTables("问题处置").SQLSelect("关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index)&"'")
        Dim Names0 As New List(Of object)
        Dim Names20 As New List(Of object)
        For Each rr As DataRow In drs0
            Names20.add(format(rr("时间"),"yyyy年MM月dd日") & "收到" & rr("来源") & "转来的" & rr("类别") & ",内容为:" & rr("摘要") & ",于" & format(rr("处理时间"),"yyyy年MM月dd日") & "处理完毕,处理情况为:" &  rr("处理结果") )
        Next
        If bb0 IsNot Nothing Then
            bb1="收到党风廉政方面相关反映" & bb2 & "次,其中:" & String.join(";",Names20.toarray) & ";"
        Else
            bb1="未收到党风廉政方面相关反映"
        End If

        Dim smybgs As List(Of String)
        smybgs = DataTables("说明与报告").GetValues("类别")
Dim s As String = xmzw(0) &"," & xmzw(1) & "," & bb1 & ";"
Dim bbbb As Integer
        For Each smybg As String In smybgs
            Dim bb01 As DataRow = DataTables("说明与报告").sqlfind("关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index)  &"'and 类别='" & smybg & "'")
            Dim bb21 As Integer =DataTables("说明与报告").sqlCompute("count(身份证号)","关联人='"& xmzw(0)  &"'and 身份证号='"& Values(Index) &"'and 类别='" & smybg & "'")
            Dim bb11 As String
            Dim drs As List(of DataRow)  =DataTables("说明与报告").SQLSelect("关联人='"& xmzw(0) &"'and 身份证号='"& Values(Index) &"'and 类别='" & smybg & "'")
            Dim Names As New List(Of object)
            Dim Names2 As New List(Of object)
            For Each r As DataRow In drs
                Names2.add(format(r("时间"),"yyyy年MM月dd日") & "因" & r("事项") & "被" & r("类别") & "(" & r("内容") & ")")
            Next
            If bb01 IsNot Nothing Then
                bb11="受到" & smybg &  bb21 & "次,其中:" & String.join(";",Names2.toarray) & ";"
            Else
                bb11="未受" & smybg & ";"
            End If
            s = s & bb11 &  ";"
        Next
output.Show(s)
    Next
Next

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)'''Dim ss As String ="1,2,3,4,5,6,...  发帖心情 Post By:2022/3/15 16:09:00 [只看该作者]

老师  在将输出的得到的s值赋值给表列的时候  只有单条数据  但是s得到的是双条数据  有没有办法修正呢?


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2022/3/15 16:12:53编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

你猜我猜不猜得到!

 回到顶部
总数 12 1 2 下一页