以文本方式查看主题 - 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=133914) |
-- 作者:2900819580 -- 发布时间:2019/4/23 15:22:00 -- [求助] SQL加载数据后再查找统计数据 \'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cmd.CommandText = "Sele ct a.* " cmd.CommandText &= " left join [" & Vars("Kis") & "].dbo.t_ICItemCore As d on a.物料ID = d.FItemID " cmd.CommandText &= " where 任务单号 = \'" & e.Form.Controls("Text任务单号").text & "\'" \'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` Dim Sqldt As DataTable = cmd.ExecuteReader 红色代码出错! [此贴子已经被作者于2019/4/23 16:10:34编辑过]
|
-- 作者:2900819580 -- 发布时间:2019/4/23 16:35:00 -- 老师,如上代码,如果我想查找出,筛选条件又应该如何修改。 cmd.CommandText &= " where 已发料 > 需求数量 " |
-- 作者:有点甜 -- 发布时间:2019/4/23 16:38:00 --
弹出你合成的sql语句,在数据库那里执行,看报什么错。
|
-- 作者:2900819580 -- 发布时间:2019/4/23 17:01:00 --
cmd.CommandText &= ", ([需求数量] - [已发料]) As 应发数量 "
cmd.CommandText &= " where 已发料 > 需求数量 " 老师,通过删除比对,是上面这行有错误,是不是已发料是合成的,所以不能做公式。
[此贴子已经被作者于2019/4/23 17:01:43编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/4/23 17:34:00 --
你数据库那里没有【已发料】列。表达式列,不能直接使用。
|
-- 作者:2900819580 -- 发布时间:2019/4/23 19:26:00 -- If dt.DataCols.Contains("应发数量") = False Then dt.DataCols.Add("应发数量",Gettype(Single),"[需求数量] - isnull([已发料],0)")
cmd.CommandText &= " where 需求数量 > (Sel ect sum(实发数量) from {生产发料单} as v where v.源单ID = a.ID)"
变通解决,谢谢老师! |