以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sQL直接统计库龄 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128928) |
-- 作者:weibu -- 发布时间:2018/12/18 15:18:00 -- sQL直接统计库龄 老师我用的SQL数据库,狐表里面统计表名称为“溯源码”,其中字段【入库日期】为Date日期型,格式:2018-12-11;以下代码正确吗? Dim dr As DataRow = DataTables("用户信息").find("用户名 = \'" & 用户名 & "\'") \'找到当前登录者所在的行 Dim filter As String = "1=2" If dr("职位") = "管理者" Then Dim drs = DataTables("部门信息").Select("层级 like \'" & dr("层级") & "%\'") For Each cdr As DataRow In drs Filter &= " or 出库部门 = \'" & cdr("所属部门") & "\'" Next Else If dr("职位") = "职员" Then Filter = "出库部门 = \'" & dr("所属部门") & "\'" End If Dim g As New SQLGroupTableBuilder("库龄分析", "dbo.溯源码") ‘老师这个表的名称应该写狐表里面的名称,还SQL库中的名称,需要带dbo吗? g.Groups.AddDef("商品名称") g.Groups.AddDef("商品条码") g.Totals.AddDef("入库日期",AggregateEnum.Min,"最大库龄") g.Totals.AddDef("入库日期",AggregateEnum.Average,"平均库龄") g.Totals.AddExp("1-30天","iif(入库日期 >= Date.Today.AddDays(-30),1,0)") g.Totals.AddExp("30-60","iif(入库日期 >= Date.Today.AddDays(-60) And 入库日期 < Date.Today.AddDays(-30),,1,0)") ’这段代码能否这么写 g.Filter = filter g.Build() MainTable = Tables("库龄分析")
|
-- 作者:有点甜 -- 发布时间:2018/12/18 16:11:00 -- 1、 g.Totals.AddExp("1-30天","case when 入库日期>=\'" & Date.Today.AddDays(-30) & "\' then 1 else 0 end") |
-- 作者:weibu -- 发布时间:2018/12/18 16:53:00 -- 老师提示SQL统计语句错误 |
-- 作者:有点甜 -- 发布时间:2018/12/18 17:06:00 -- 以下是引用weibu在2018/12/18 16:53:00的发言:
老师提示SQL统计语句错误
贴出所写代码。 |
-- 作者:weibu -- 发布时间:2018/12/18 17:16:00 -- Dim dr As DataRow = DataTables("用户信息").find("用户名 = \'" & 用户名 & "\'") \'找到当前登录者所在的行 Dim filter As String = "1=2" If dr("职位") = "管理者" Then Dim drs = DataTables("部门信息").Select("层级 like \'" & dr("层级") & "%\'") For Each cdr As DataRow In drs Filter &= " or 当前所在部门 = \'" & cdr("所属部门") & "\'And 是否可用 = 1" Next Else If dr("职位") = "职员" Then Filter = "当前所在部门 = \'" & dr("所属部门") & "\'And 是否可用 = 1" End If Dim g As New SQLGroupTableBuilder("库龄分析", "溯源码") g.Groups.AddDef("商品名称") g.Groups.AddDef("商品条码") g.Totals.AddDef("入库日期",AggregateEnum.Min,"最大库龄") g.Totals.AddDef("入库日期",AggregateEnum.Average,"平均库龄") g.Totals.AddExp("1-30天","case when 入库日期>=\'" & Date.Today.AddDays(-30) & "\' then 1 else 0 end") g.Totals.AddExp("30-60天","case when 入库日期>=\'" & Date.Today.AddDays(-60) & "\' and 入库日期<\'" & Date.Today.AddDays(-30) & "\' then 1 else 0 end") g.Filter = filter g.Build() MainTable = Tables("库龄分析")
|
-- 作者:有点甜 -- 发布时间:2018/12/18 18:00:00 -- 1、
Dim g As New SQLGroupTableBuilder("库龄分析", "溯源码")
2、删减你的代码,定位看哪句代码开始有问题 |
-- 作者:weibu -- 发布时间:2018/12/19 9:24:00 -- 老师找到错误代码了,日期没有平均值。感谢 |