现有两个数据表dtMrpBom、dtMrpBomChild。dtMrpBom的字段为ID,BomID;
记录行为:
ID BomID
1 Bom1
2 Bom2
...dtMrpBomChild的字段为ID,BomID,ParentID,MaterialID
记录行为:
ID BomID ParentID MaterialID
1 Bom1 0 Mat1
2 Bom1 0 Mat2
3 Bom1 1 Mat11
4 Bom1 1 Mat12
...即在子表中Bom1的记录为一树形:
Bom1
|______
| |
Mat1 Mat2
|
|_______
| |
Mat11 Mat12现求一嵌套算法,可以实现将Bom1在子表dtMrpBomChild的记录全部复制成Bom2,即Bom2的记录与Bom1的记录是相同的。谢谢高手!
记录行为:
ID BomID
1 Bom1
2 Bom2
...dtMrpBomChild的字段为ID,BomID,ParentID,MaterialID
记录行为:
ID BomID ParentID MaterialID
1 Bom1 0 Mat1
2 Bom1 0 Mat2
3 Bom1 1 Mat11
4 Bom1 1 Mat12
...即在子表中Bom1的记录为一树形:
Bom1
|______
| |
Mat1 Mat2
|
|_______
| |
Mat11 Mat12现求一嵌套算法,可以实现将Bom1在子表dtMrpBomChild的记录全部复制成Bom2,即Bom2的记录与Bom1的记录是相同的。谢谢高手!
其实只要一个表
ID ParentID MaterialID
1 0 Mat1
2 0 Mat2
3 1 Mat11
4 1 Mat12最多在添加一个字段,表明是不是最终产品
所以,你的设计把问题复杂化了。
其实只要一个表
ID ParentID MaterialID
1 0 Mat1
2 0 Mat2
3 1 Mat11
4 1 Mat12最多在添加一个字段,表明是不是最终产品
所以,你的设计把问题复杂化了。--------------------------------
这样的设计是考虑了很久的,虽然在这里实现BOM复制时复杂化了,但在MRP和MPS里进行运算时却简单了许多。
ID materialName
1 BOM1
2 BOM2
3 Mat1
4 Mat2
5 Mat11
6 Mat12BOM表
ID BOMID MaterialID
1 1 3
2 1 4
3 3 Mat11
4 3 Mat12
这样的话,能够表达你的意思,而且拷贝起来也方便
只要在BOM表里面添加两个记录
ID BOMID MaterialID
1 2 3
2 2 4就可以了
不知道老兄以为如何?
ID BomID ParentID MaterialID
1 Bom1 0 Mat1
2 Bom1 0 Mat2
3 Bom1 1 Mat11
4 Bom1 1 Mat12
----->复制后--->
5 Bom2 0 Mat1
6 Bom2 0 Mat2
7 Bom2 5 Mat11
8 Bom2 5 Mat12不知道我表达清楚了没?
3 2 3
4 2 4而且我没感觉到这里面有什么不方便的地方仅供参考