以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  获取有重复值记录,有更优化的代码吗?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=172749)

--  作者:9EQ98
--  发布时间:2021/10/29 7:18:00
--  获取有重复值记录,有更优化的代码吗?
Dim drs As List(of DataRow)  = DataTables("生产合同").SQLSelect("1 = 1")  \'找出所有记录
Dim 记录数 As Integer = 0
Dim 列表值 As String = ""
For Each dr As DataRow In drs \'逐条记录循环,统计相同记录的数量
    记录数 = DataTables("生产合同").SQLCompute("Count(*)","生产合同编号 = \'" & dr("生产合同编号") & "\'")
    If 记录数 > 1 AndAlso 列表值.Contains(dr("生产合同编号")) = False Then
        列表值 = 列表值 & dr("生产合同编号") & "|"
    End If
Next
列表值 = 列表值.TrimEnd("|")
OUTPUT.SHOW(列表值)

以上代码有更优化的方式吗?

--  作者:有点蓝
--  发布时间:2021/10/29 8:44:00
--  
做个分组统计

Dim g As New GroupTableBuilder("统计表1"DataTables("生产合同"))
g.Groups.AddDef("
生产合同编号")
g.Totals.AddDef("生产合同编号",AggregateEnum.Count,"订单数")
g.FromServer = True
dim dt as datatable = g.Build(true)
dim str as string = dt.
GetComboListString("生产合同编号","订单数 > 1")