以文本方式查看主题

-  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
图片点击可在新窗口打开查看