你的思路太乱了,做法有歧异,不是ACCESS问题,是排产方法问题,一个产品到底有多少配置,一个配置到底有多少产品,很纠结啊
我打个简单的比方:
张三有两个二儿子 一个女儿
李四有4个儿子 两个女儿
王五有三个儿子 5个女儿
有3个男孩1个女孩偷了钱七的桃子,我要你指出是张三还是李四还是王五,到底是谁去承担责任,你怎么搞
风马牛不相及,我大概明白你的意思了,不可以这样做数据表的,违反逻辑,字段意义太抽象模糊。应该依据产品来配置零部件,这叫配置清单,这就是上面那哥们所说的BOM切割生产,你不要搞反了,还让产品去配置零件,哪有这种逻辑。我们可以让100个人的钱存在银行归银行管,绝对不可以某一个人管100个人存钱的银行。列数据表你这么列试一下:
产品计划单:
产品 配置 计划生产数量 计划排产日期
-------------------------------------------------------
a A 10 2012-6-15
b B 5 2012-6-18
c C 6 2012-6-20
r B 25 2012-6-25
--------------------------------------------------
这张表是客户定制的,产品配置是固定的,产品是灵活变动的
物料清单:
配置 零件数 解释
-------------------------------
A 6 低配型号1
B 8 低配型号2
C 10 高配
-------------------------------
不可以把意思扭曲了,把配置做一个匹配查询
Select 产品计划单.*, 物料清单.零件数, 物料清单.解释 From 产品计划单 INNER JOIN 物料清单 ON 产品计划单.配置=物料清单.配置 WHERE(产品计划单.配置 IS NOT NULL);
这样就查出结果是:
产品计划单查询表:
产品 配置 计划生产数量 计划排产日期 零件数 解释
-----------------------------------------------------------------------------------
a A 10 2012-6-15 6 低配型号1
b B 5 2012-6-18 8 低配型号2
c C 6 2012-6-20 10 高配
r B 25 2012-6-25 6 低配型号1
-------------------------------------------------------------------------------------
这就是你最终的生产任务单:
汇总一下就可以知道所需要的零件数量:
Select 产品, Sum(计划生产数量) AS 总零件数目 From 产品计划单查询表 Group BY 产品;
这才是计划排产
bom表的结构,在ERP中,有两个表:
1、一个是《料品主文件》,主要记录你的产品、半成品、原材料和零件的:料品编号、料品名称、料品规格、...库位、安全存量等等与料品有关的资料。
2、另一个表是《BOM表》,这个表也就是料品主文件了子表,他与料品主文件形成多对一的关联,关联的字段为料品编号(料品主文件的主索引)。BOM表包括的内容有:BOM编号(索引)、父阶料号(与料品主文件关联的字段)、子阶料号、使用数量...等。
当你的两个表做好之后,用一对多相关联,做个查询,得到查询字段有:父阶料号、子阶料号、使用数量,在你设置条件时,可以在配置字段设置为“低配”或“高配”的查询条件,得到你需要的查询结果。
当你接到订单时,因为你做了BOM表,有了订单产品的BOM资料,用订单与BOM表进行一对多的关系做一个查询,则得到了订单产品所需要的产品的需求量=订单数量x使用数量。
这里问这些技术问题没几个人愿意答的,那些人都是要钱的,我都不问了。
用查询应该不难实现的,最好有个实例,可以帮你实现看看