Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

根据产品的生产数量算库存里的零件

明天没有眼泪  发表于:2011-07-04 10:25:10  
复制

假设我们公司产品有:A,B,C,D四种。而零件有a,b,c,d,e五种,其中产品A是由x个a和x个b和x个c和x个d和x个e组成的, x在0到5之间,其余B,C,D产品以此类推。

想用ACCESS实现的功能是:记录公司所有零件的库存(一个表),当有一个订单来的时候,输入订单的产品型号和数量,直接计算出,当前库存是否能生产出这个订单,并显示零件剩余库存数量,等待下一个订单。如果不够,在库存表上让不够那个零件行显示红色?

不知道用ACCESS实现这个功能复杂不复杂?我在这个网站找了好久,也没找到相应的例子,请大侠们指点一下我该怎么做?谢谢了

 

Top
煮江品茶 发表于:2011-07-04 11:17:35
不复杂,自己先做,不懂时就具体问题提问。

明天没有眼泪 发表于:2011-07-04 13:30:46

谢谢楼上的回答,我已经开始在做了,现在做了4张表,一张库存表,一张来料表,一张领料表,一张生产表。这个阶段有二点想请教一下:我觉得还有一张产品组成表,也就是每一个产品由哪些零件组成?可是这样表不好设计,第一个字段可以是产品号,但后面的字段总不能把所有的零件号单独作为一个字段吧?要是某个产品有100个零件组成,那岂不是要有100字段了啊?

第二点问题:假如我现在库存表里有个零件号是a000001的零件,库存数量100个,现在我来料表里要加一条记录,a000001来了50个,那我该怎么让库存表里的a000001的库存数量自动更新到150个呢?



煮江品茶 发表于:2011-07-04 15:07:58

不错,自己动手丰衣足食。

表的设计阶段注意两个问题的处理:

1、在以上四个表的基础上,增加一个材料表(或者叫做材料目录),其字段组成为:材料ID(主键)、编码、名称、规格、单位;同时将前面四个表中关于材料的字段都删除,只保留一个材料ID字段,然后在关系视图中建立他们与材料表之间的一对多关系。

2、材料表中的编号字段可以用来标明产品与其零部件的关系,方法是建立分级分段码,比如100表是轴承,100001表示钢珠,100002表示保持架,有好事者称之为BOM编码。

 

关于第二个问题在十天后回答,以保证你先学会爬行再学会走路。

 

 

 



明天没有眼泪 发表于:2011-07-04 16:17:59

版主真热心啊,假如有个零件既是产品A的部件,也是产品B的部件,那么我该如何编码呢?



煮江品茶 发表于:2011-07-04 16:26:34
这个很简单,可以用两种方法处理:其一是将该零件视为两个不同的零件,分别编码在A和B下;其二是公共部件单独做成一类,单独编码。

明天没有眼泪 发表于:2011-07-04 16:43:44

这不对啊,材料ID是唯一的,又是主键,同样的零件,这个ID是一样的,怎么能不同编码呢?

我还是附上我的原始表吧,请版主看看,指点一下我思路



明天没有眼泪 发表于:2011-07-04 16:44:37
煮江品茶 发表于:2011-07-04 17:33:06
那就按第二种办法进行之

明天没有眼泪 发表于:2011-07-05 15:18:56

版主,真心感谢的回复,昨晚回家按照你的方法做了一个晚上,发现编码还是有点麻烦,因为零件基本上都是公用的,所以如果按照你第二种方法来编码的话,差不多全部要单独编了。经过今天早上一个早上的思考,我用了个大胆的想法,现描述如下,请版主指点:

 

一共只做二张表:一张叫零件库存表;一张叫生产产品表。

零件库存表里只有二个字段:零件号和库存数量

生产产品表里也只有二个字段:产品型号和生产数量

 

接下来做二个窗体:一个窗体是显示零件库存表,再往窗体上一个搜索按钮,需要哪个零件号,直接搜索定位。

另外一个窗体显示生产产品表,再在窗体上加一个按钮,叫生产,每当这个窗体上添加一条记录的时候,生产按钮是可以的用,点击生产后,用程序把这条记录的产品型号和数量读出来,然后再把库存表里的相关零件减掉需要生产这个产品的对应数量。

 

现在问题是,其余东西我都做好了,就差生产按钮里面的代码了.对于VBA,我不怎么了解,但是我懂C语言的。所以知道应该用CASE语句,想请版主帮忙在我的生产按钮的单击事件里写一条语句。比如在生产窗体里添加一条记录是:960175000,数量是10个,那么请帮忙把库存表里的643-000-131,800-000-068,800-000-103的数据各减去10.

要是用C语言实现起来,我就可以不要麻烦版主了,VBA程序的框架,我不懂,所以只能麻烦一下版主了。

 

这里是我的MDB文件

 

点击下载此附件

明天没有眼泪 发表于:2011-07-05 16:22:28

版主,刚才我自己查了下VBA的语法,把上面的语句写了一下,不知道为什么不行。请帮忙看这个单击事件的代码,有什么问题?

点击下载此附件

黎红军 发表于:2011-07-19 00:32:30

看了你的思路,感觉有点问题,如果你们产品比较多,那你的case语句就很难做了,太长了,程序运行也会很慢的。

同意你说的用窗体来解决,但应当是在你的产品表中有一个字表,标识相应的子项原材料,包括item,用量等信息。然后基于这个子表信息,就可以扣减库存中相应的库存数量了。

还是好好看看bom的相关知识吧。



总记录:11篇  页次:1/1 9 1 :