Foxtable(狐表)用户栏目专家坐堂 → 请教实例


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

主题:请教实例

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/16 14:36:00 [显示全部帖子]

Dim clst As new List(of String)
For Each c As Col In Tables("表A").Cols
    If c.IsNumeric Then clst.Add(c.Name)
Next
If clst.Count > 0 Then
    Dim s1 As String = "select '{0}' as 列名, sum({0}) as 合计 from {表A}"
    Dim sql As String
    For Each cn As String In clst
        sql &= CExp(s1,cn) & " union all "
    Next
    sql = "select * from (" & sql.SubString(0,sql.Length - 10) & ") as a order by a.合计"
    Output.Show(sql)
    Dim cmd As new SQLCommand
    cmd.CommandText =  sql
    Dim dt As DataTable = cmd.ExecuteReader
    s1 =dt.DataRows(0)("列名")
    For i As Integer = 1 To dt.DataRows.Count-1
        If dt.DataRows(i-1)("合计") = dt.DataRows(i)("合计") Then
            s1 &= "," & dt.DataRows(i)("列名")
        Else
            Output.Show(s1)
            s1 =dt.DataRows(i)("列名")
        End If
    Next
    Output.Show(s1)
End If


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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/16 15:10:00 [显示全部帖子]

那就只能循环所有列,逐个使用Compute求和,然后在比较求和结果

 回到顶部