以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]跨表数据填充。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68236)
|
-- 作者:liuxianjie1980
-- 发布时间:2015/5/13 0:12:00
-- [求助]跨表数据填充。
有三张表:“采购清单库”,“配件消耗清单库”,“库存清单库”
“库存清单库”中有一个字段为“已使用数量”,这个数值想引用“配件消耗清单库”的“消耗数量”列的统计值,
代码如下:
If e.DataCol.name = "配件名称" If e.DataRow("配件名称") IsNot Nothing e.DataRow("已使用数量") = DataTables("配件消耗清单").Compute("Sum(消耗数量)", "配件名称 = \'" & e.DataRow("配件名称") &"\'" And "型号 = \'" & e.DataRow("型号") &"\'" And "生产厂家 = \'" & e.DataRow("生产厂家") &"\'" And "采购日期 = \'" & e.DataRow("采购日期") &"\'") End If End If
红字区域的代码好像有问题,也就是这个filter是有问题,请大师修改!
之所以这么长,是因为某一次采购的配件很多,而又是分很多次使用的,而同一种配件又有可能来自不同的生产商,所以这个filter好长啊,就怕这么写是错误的。
|
-- 作者:sloyy
-- 发布时间:2015/5/13 1:46:00
--
e.DataRow("已使用数量") = DataTables("配件消耗清单").Compute("Sum(消耗数量)", "配件名称 = \'" & e.DataRow("配件名称") & "\' And 型号 = \'" & e.DataRow("型号") & "\' And 生产厂家 = \'" & e.DataRow("生产厂家") & "\' And 采购日期 = \'" & e.DataRow("采购日期") & "\'")
|
-- 作者:liuxianjie1980
-- 发布时间:2015/5/13 9:35:00
--
功能好像还是实现不了,“已使用数量”还是空值
|
-- 作者:Bin
-- 发布时间:2015/5/13 9:36:00
--
说明没有符合条件的数据.
|
-- 作者:大红袍
-- 发布时间:2015/5/13 9:38:00
--
e.DataRow("已使用数量") = DataTables("配件消耗清单").Compute("Sum(消耗数量)", "配件名称 = \'" & e.DataRow("配件名称") & "\' And 型号 = \'" & e.DataRow("型号") & "\' And 生产厂家 = \'" & e.DataRow("生产厂家") & "\' And 采购日期 = #" & e.DataRow("采购日期") & "#")
|
|
-- 作者:sloyy
-- 发布时间:2015/5/13 9:41:00
--
看看是access数据库还是sql数据库 日期有个符号问题
|
-- 作者:liuxianjie1980
-- 发布时间:2015/5/14 22:01:00
--
是内部数据表,用红袍兄的代码好像也不行的。
|
-- 作者:大红袍
-- 发布时间:2015/5/14 22:03:00
--
加入代码,截图看看
msgbox("配件名称 = \'" & e.DataRow("配件名称") & "\' And 型号 = \'" & e.DataRow("型号") & "\' And 生产厂家 = \'" & e.DataRow("生产厂家") & "\' And 采购日期 = #" & e.DataRow("采购日期") & "#")
|
-- 作者:liuxianjie1980
-- 发布时间:2015/5/14 22:06:00
--
加在什么位置?
|
-- 作者:liuxianjie1980
-- 发布时间:2015/5/14 22:09:00
--
此主题相关图片如下:无标题.jpg
|