以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]想问下,如何实现数据表的关联问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11392)

--  作者:demon_gdy
--  发布时间:2011/7/20 15:39:00
--  [求助]想问下,如何实现数据表的关联问题

我弄了三个数据表,分别为订单、出库和库存。这里面共有相同的列名。分别为:产品名称、数量,我现在存在的问题是,比如我在订单的产品名称和数量和出库以及库存的产品名称和数量要关联,想实现的结果是例如我库存中相同的产品名称中,库存的数量为200.订单中我划走了库存中产品名称相同的数量100,现在我想让库存呈现为还有100,而订单和出库对应的数量分别为100是没有变化的,唯一变化的就是,库存中的数量要减去订单中的数量,呈献给用户的是现在所剩余的数量,能实现么?是如何实现的。


--  作者:狐狸爸爸
--  发布时间:2011/7/20 15:43:00
--  

既然是编码,没有什么是不可能的。

做好这三个表,输入一些测试数据,然后传上来,并举例说明问题。


--  作者:zhenshenbo
--  发布时间:2011/7/20 15:45:00
--  

你的订单 相当于 出库 你应该还有个入库表  库存数量应该是 通过入库(或者盘点) 来增加的  通过出库或者说订单表 减少


--  作者:demon_gdy
--  发布时间:2011/7/20 15:49:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:出库.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:订单.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:库存.jpg
图片点击可在新窗口打开查看
例如我上传的那三个数据表,我想实现的是,订单中的数量是100,库存中本来的数量是200的,但是因为和订单关联起来了,所以现在应该变成100了,而订单和出库的那个数量都应该是100.
[此贴子已经被作者于2011-7-20 15:52:24编辑过]

--  作者:demon_gdy
--  发布时间:2011/7/20 15:55:00
--  
对对,您说的这个也是可以用的,您知道这个如何实现么。能给我说说吗。因为我不太会。、
--  作者:zhenshenbo
--  发布时间:2011/7/20 16:01:00
--  

 你的业务逻辑 有点儿没理清..   订单表和出库表关联 每张订单对应一张出库单    库存分别和 出库表 和入库表 关联

 

库存表的数量(用表达式) = ISNULL(sum(Child(库存_入库).数量),0) - ISNULL(Sum(Child(库存_出库).数量),0)

 


--  作者:狐狸爸爸
--  发布时间:2011/7/20 16:04:00
--  

修改表结构,库存表增加三列,分别为:初始储存,累计出库,当前库存。

 

累计出库是表达式列,表达式的设计参考:

http://www.foxtable.net/help/topics/0100.htm

 

当前库存也是表达式列,表达式为:初始库存 - 累计出库

 

这样的设计,看起简单明了,编码也轻松。


--  作者:demon_gdy
--  发布时间:2011/7/20 16:06:00
--  
哦,哈哈,对,你说的太对了,我试试看,非常感谢,您的建议非常有用。我试试。