以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 只显示在职的 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187694) |
-- 作者:qazlinle6 -- 发布时间:2023/8/4 17:30:00 -- 只显示在职的 Dim dr As DataRow For Each dr2 As DataRow In dtt2.DataRows dr = dtt.Find("身份证姓名=\'" & dr2("身份证姓名2") & "\'") If dr Is Nothing Then dr = dtt.AddNew dr("身份证姓名") = dr2("身份证姓名2") End If dr("提成主销业绩") = dr("提成主销业绩") + dr2("提成副销业绩") Next dtt.DataCols.Add("合计", GetType(Double), "提成主销业绩") Dim drs As List(Of DataRow) = dtt.Select("", "合计 desc") For i As Integer = 0 To math.min(2, drs.count - 1) 上面红色什么加一个条件 Dim d01 As DataRow = DataTables("Users").SQLFind("Name=\'" & dr("身份证姓名") & "\' And 在职离职=\'在职\'") 只显示在职的 |
-- 作者:有点蓝 -- 发布时间:2023/8/4 17:36:00 -- 是哪个表? For Each dr2 As DataRow In dtt2.select(" 在职离职=\'在职\'") 这个? dr = dtt.Find("身份证姓名=\'" & dr2("身份证姓名2") & "\' and 在职离职=\'在职\'") 还是这个? |
-- 作者:qazlinle6 -- 发布时间:2023/8/4 17:42:00 -- Dim cmd As New SQLCommand cmd.C cmd.CommandText = "elect *From 销售合计 where 年 =" & Format(d2, "yyyy") & " And 月 =" & Format(d2, "MM") & " And 业绩店名 in (\'周六福(1)\',\'周六福(2)\',\'周六福(4)\',\'周六福(5)\',\'周六福(7)\') " Dim dt As DataTable = cmd.ExecuteReader Dim b As New GroupTableBuilder("统计表1", dt) b.Groups.AddDef("身份证姓名") \'根据产品分组 b.Groups.AddDef("业绩店名") \'根据产品分组 b.Groups.AddDef("年") \'根据产品分组 b.Groups.AddDef("月") \'根据产品分组 b.Totals.AddDef("提成主销业绩") \'对数量进行统计 b.Totals.AddDef("提成副销业绩") b.Filter = "身份证姓名 is not null" Dim dtt As DataTable = b.Build(True) \'生成统计表 b = New GroupTableBuilder("统计表2", dt) b.Groups.AddDef("身份证姓名2") \'根据产品分组 b.Groups.AddDef("业绩店名") \'根据产品分组 b.Groups.AddDef("年") \'根据产品分组 b.Groups.AddDef("月") \'根据产品分组 b.Totals.AddDef("提成主销业绩") \'对数量进行统计 b.Totals.AddDef("提成副销业绩") b.Filter = "身份证姓名2 is not null" Dim dtt2 As DataTable = b.Build(True) Dim dr As DataRow For Each dr2 As DataRow In dtt2.DataRows dr = dtt.Find("身份证姓名=\'" & dr2("身份证姓名2") & "\'") If dr Is Nothing Then dr = dtt.AddNew dr("身份证姓名") = dr2("身份证姓名2") End If dr("提成主销业绩") = dr("提成主销业绩") + dr2("提成副销业绩") Next dtt.DataCols.Add("合计", GetType(Double), "提成主销业绩") Dim drs As List(Of DataRow) = dtt.Select("", "合计 desc") For i As Integer = 0 To math.min(2, drs.count - 1) dr = drs(i) Next 重新关联到Users表判断是不在职 |
-- 作者:有点蓝 -- 发布时间:2023/8/5 8:37:00 -- cmd.CommandText = "select a.* From 销售合计 as a inner join Users as b on a.身份证号码=b.身份证号码 where 年 =" & Format(d2, "yyyy") & " And 月 =" & Format(d2, "MM") & " And 业绩店名 in (\'周六福(1)\',\'周六福(2)\',\'周六福(4)\',\'周六福(5)\',\'周六福(7)\') and b.在职离职=\'在职\'" |
-- 作者:qazlinle6 -- 发布时间:2023/8/5 9:00:00 -- Users和销售合计不在一个数据库 |
-- 作者:有点蓝 -- 发布时间:2023/8/5 9:53:00 -- 参考这种:http://www.foxtable.com/webhelp/topics/2228.htm 把Users的在职身份证或者姓名提取出来,然后在sql里使用类似【"订单ID In (" & ids & ")"】这种做条件
|