以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [求助] 窗口表的SQL语句求助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=133217)
|
-- 作者:2900819580
-- 发布时间:2019/4/9 19:43:00
-- [求助] 窗口表的SQL语句求助
Dim tb As Table = Tables(e.Form.Name & "_Table1")
Dim tb1 As Table = Tables(e.Form.Name & "_Table11") Dim dt1 As DataTable = tb1.DataTable
Dim cmd As new SQLCommand cmd.CommandText = "sele ct DISTINCT 子阶ID,车间,组别,sum(需求数量) as 需求数量 from {" & dt1.Name & "} " MessageBox.Show(cmd.CommandText) tb.DataSource = cmd.ExecuteReader
|
-- 作者:有点蓝
-- 发布时间:2019/4/9 20:27:00
--
cmd.CommandText = "select 子阶ID,车间,组别,sum(需求数量) as 需求数量 from {" & dt1.Name & "} group by 子阶ID,车间,组别"
|
-- 作者:2900819580
-- 发布时间:2019/4/9 21:10:00
--
Microsoft Jet 数据库引擎找不到输入表或查询 \'~TMPCLP领料单新增_Table11\'。 确定它是否存在,以及它的名称的拼写是否正确。
|
-- 作者:有点蓝
-- 发布时间:2019/4/9 21:22:00
--
如果不是主表,或者副本表,只能写入表名
cmd.CommandText = "select 子阶ID,车间,组别,sum(需求数量) as 需求数量 from {某某表} group by 子阶ID,车间,组别"
|
-- 作者:2900819580
-- 发布时间:2019/4/9 22:05:00
--
Dim cmd As new SQLCommand cmd.C cmd.CommandText = "Sel ect * From {生产任务单} where 任务单号 = \'" & tb.Rows(0)("任务单号") & "\'" Tables(e.Form.Name & "_Table11").DataSource = cmd.ExecuteReader
数据是通知以上代码加载进来的。
cmd.CommandText = "sel ect 子阶ID,车间,组别,sum(需求数量) as 需求数量 from {领料单新增_Table11} group by 子阶ID,车间,组别"
表是副本表,MessageBox.Show(cmd.CommandText) 出来的结果如下图所示。
此主题相关图片如下:无标题.png

[此贴子已经被作者于2019/4/9 22:07:16编辑过]
|
-- 作者:有点蓝
-- 发布时间:2019/4/9 22:20:00
--
使用数据库真正的表名呀,设置DataSource 之后就不是副本了,和原来的主表已经没有任何关系
cmd.CommandText = "sel ect 子阶ID,车间,组别,sum(需求数量) as 需求数量 from {生产任务单} group by 子阶ID,车间,组别"
|
-- 作者:2900819580
-- 发布时间:2019/4/10 13:48:00
--
Dim sz As String For Each r As Row In Tables(e.Form.Name & "_Tab订单").Rows If sz > "" Then sz &= "," sz &= "\'" & r("任务单号") & "\'" Next Dim cmd As new SQLCommand cmd.C
cmd.CommandText = "sele ct a.子阶ID,a.车间,a.组别,sum(a.需求数量) as 需求数量 " cmd.CommandText &=", b.FNumber As 代码,b.FName As 名称,b.Fmodel as 规格型号,c.Fnote as 库位号,e.FName as 仓库名称,f.FName as 单位 "
cmd.CommandText &= "from {生产任务单} as a " cmd.CommandText &= " left join [" & Vars("Kis") & "].dbo.t_ICItemCore as b on a.子阶ID = b.FItemID " cmd.CommandText &= " left join [" & Vars("Kis") & "].dbo.t_ICItemMaterial As c on a.子阶ID = c.FItemID " cmd.CommandText &= " left join [" & Vars("Kis") & "].dbo.t_ICItemBase As d on a.子阶ID = d.FItemID " cmd.CommandText &= " left join [" & Vars("Kis") & "].dbo.t_Stock As e on d.FDefaultLoc = e.FItemID " cmd.CommandText &= " left join [" & Vars("Kis") & "].dbo.t_MeasureUnit As f on d.FUnitID = f.FItemID " cmd.CommandText &= " where 任务单号 In ( " & sz & " ) group by 子阶ID,车间,组别,代码,名称,规格型号,库位号,仓库名称,单位 " MessageBox.Show(cmd.CommandText) Tables(e.Form.Name & "_Table11").DataSource = cmd.ExecuteReader
老师,以上代码会再现以下错误 提示
.NET Framework 版本:2.0.50727.5485 Foxtable 版本:2018.3.9.1 错误所在事件: 详细错误信息: 列名 \'单位\' 无效。 列名 \'仓库名称\' 无效。 列名 \'库位号\' 无效。 列名 \'规格型号\' 无效。 列名 \'名称\' 无效。 列名 \'代码\' 无效。
|
-- 作者:有点甜
-- 发布时间:2019/4/10 15:16:00
--
可执行的实例发上来测试。
|
-- 作者:2900819580
-- 发布时间:2019/4/10 18:45:00
--
以下是引用有点甜在2019/4/10 15:16:00的发言:
可执行的实例发上来测试。
老师,是SQL的数据库,不知如何发上来,如果只用这一行,是没有问题的,增加了其它列就有问题了:
cmd.CommandText = "sel ect 子阶ID,车间,组别,sum(需求数量) as 需求数量 from {" & dt1.Name & "} group by 子阶ID,车间,组别"
代码就只有上面一段。 以下是MessageBox.Show(cmd.CommandText) 的值
sele ct a.子阶ID,a.车间,a.组别,sum(a.需求数量) as 需求数量 , b.FNumber As 代码,b.FName As 名称,b.Fmodel as 规格型号,c.Fnote as 库位号,e.FName as 仓库名称,f.FName as 单位 from {生产任务单} as a left join [AIS20181207194554].dbo.t_ICItemCore as b on a.子阶ID = b.FItemID left join [AIS20181207194554].dbo.t_ICItemMaterial As c on a.子阶ID = c.FItemID left join [AIS20181207194554].dbo.t_ICItemBase As d on a.子阶ID = d.FItemID left join [AIS20181207194554].dbo.t_Stock As e on d.FDefaultLoc = e.FItemID left join [AIS20181207194554].dbo.t_MeasureUnit As f on d.FUnitID = f.FItemID where 任务单号 In ( \'RW1904048\',\'RW1904014\' ) group by 子阶ID,车间,组别,代码,名称,规格型号,库位号,仓库名称,单位
[此贴子已经被作者于2019/4/10 18:50:00编辑过]
|
-- 作者:有点甜
-- 发布时间:2019/4/10 21:35:00
--
拷贝sql语句,在你的数据库那里执行,报什么错?
如果报错,那删减你的sql语句测试,直到可以正常执行为止。定位写错的位置。
|