Access交流中心

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

生产和仓库管理间的问题

零落成泥  发表于:2011-10-20 11:26:29  
复制

在仓库管理过程中遇到这样一个难题,在系统中我们有生产订单生产订单明细这两个表,所以在我以成品进仓表和成品进仓明细表做成的“成品进他录入窗体”中,我想在“成品进仓录入明细表_Sub”子窗体中用“生产单号”和“产品编号”这两个字段来带出后面的“产品名称”、“下单数量”和“已入仓数量”几个字段。并限制“本次入仓数量”数据大小,也就是说在录入某产品时不超过生产订单上下单的数量,而且在一张生产订单上某一个产品也是唯一的。点击下载此附件希望哪位老师指点一下。

 

Top
dbaseIIIer 发表于:2011-10-20 13:41:09

 

技术实现很简单哦!有技术的人,请告诉他怎么做吧!但是....你这个功能是不用做的!

 

你只是一个技术处理方案, 但真的在运作时, 一定有很多超订单想录入,但系统表示已入完,录不了数, 而经主管审核旳即使经理审核, 又是真的那个订单那个型号的!

 

到时候, 你的程式就变成废物了!

 

如果是管理层要求你做这个程式限制的话,是无能管理层要求无能的你去处理!

如果是你建议管理层做这个事的,就是你和他们都无能!

 

作为CIO十年,能告诉你,如果你要管的只是3-5个人,或你的订单数量在30件以下,

当有发现错误时,可以问当时几个人,

“你你你,三小时前入库的订单型号录错,请记忆一下,谁录错,不然三个一起罚!”

你这个程式功能就是合理设计了,那就饶恕你吧!



零落成泥 发表于:2011-10-20 15:15:20
谢谢版主老师指导:其实我想要的功能在这里并不是想要控制某张生产订单,如果真控制的话我想真要控制的是某张生产订单下的某一款产成品,就好像在录入销售出库单时,某种产品的库存量已以是0了,你就不能再录入了,也不能录入了,但在里我只想让这种功能来核对生产部开给我的“成品进仓单”是否出错,一张成品进仓单进里虽然有很多个生产订单号、很多种产成品,但一个生产订单号加上一个产品编号之后就是唯一的了。有了这个功能的提示,我就知道他们开的进仓单上的生产订单号和产品编号是不是和生产订单表、生产订单明细表里是一至的,因为一个生产订单号里某个产品编号是唯一的,也不知道我说清楚没有,不知这样是不是可行的,请不吝赐教,再次谢谢。

Lee 发表于:2011-10-20 22:27:36

你表述得不是很清楚,你描述的表、窗体名称跟示例中的也不一致,另外感觉你的表设计也不合理。我猜,你大致意思是计算订单中产品进仓数量与下单数量是否一致,而且想控制入仓的订单号不能输入错,当入仓数累计大于订单数时不能再录入。对于以上两个问题:

1.你应通过查询实现,在建立查询时同时建立临时关系(这是根据实际应用建立的临时关系,不同于你预先设置好的各表间的关系)来调用不同表的字段。

2.当进仓数大于订单数禁止录入问题,我没有试过不知行不行,我认为能达到发现问题这个目的就行,例如用订单数-进仓总数,当结果为正数说明生产数量为没够,当为负数时说明生产数量过多,这很容易用查询实现。但我建议你如果不能控制录入则不要在这问题上钻牛角尖,尤其在开始建立数据库阶段,先让系统运作起来最重要,以后边学边用边修改。



dbaseIIIer 发表于:2011-10-21 04:01:23

Lee 说中了关键, 先不要做控制录入, 这会让你任务失败的!

 

你要做的就是做报表, 让全世界人知道生产部给出来的数据出错有多严重!

 

而解决方法并不是在电脑上的!

 

我还没看过你的表, 但若果LEE认为你不合理的话, 我建议

 

入仓表至少该有

ID 自动编号

生产订单号

产品编号

数量

提交人

提交日期时间

 



零落成泥 发表于:2011-10-21 09:18:31

谢谢二位老师,都怪我没表达得清楚,其实我现倒没去想要如何在进仓数量等于下单数量后就控制这个成品进仓单不能录入,我知道要想实现它还很难,如你们所说我已经通过查询把我想要的数据就是下单数量 -进仓数量合计所的结果弄出来了,可是我不知道该如何把生产订单明细表里的那个“下单数量”和通过查询得出来的那个“尚欠数量”放到我的“成品进仓录入明细表_Sub”窗体里面去。因为这个“成品进仓录入明细表_Sub”的数据源是“成品进仓明细表,而“下单数量”和“尚欠数量”分别在另一个表和查询里呀,这就是我遇到的难题,谢谢!



dbaseIIIer 发表于:2011-10-21 15:15:14

你不是说 "如你们所说我已经通过查询把我想要的数据就是下单数量 -进仓数量合计所的结果弄出来了"?

懂得弄出来了,干嘛就弄不上去某一个录入画面?

 

还有我们说了那么久,就是叫你不要把结余数在 数据录入画面显示出来! 你还是要做吗?

 

找其他人帮你吧!

 

给你点提示,在某个事件发生时, 用    Me!未入库数量 = Dlookup("[生产订单数量]"....) - DSum("[入库数量]",...)



Lee 发表于:2011-10-21 22:00:35

你“成品进仓录入明细表”应有一字段用于录入“订单单号”(你表内的“生产订单号”不知是否等同订单单号,而且这个字段内容全为空),这样才能生成一个查询统计入仓数量,因入仓产品的“订单单号”要与“生产订单明细表”内的“订单单号”对应,入仓产品的“存货编号”要与“生产订单明细表”内的“订单单号”对应(这项表内已经有了),这样才能进行相应的统计。

这里所说的对应就是我所说的查询时建立临时关系。

你按我意思在成品进仓录入明细表内加一栏“订单单号”,再上传附件,我帮你做个示例。

另外你成品进仓录入明细表内的“下单数量”和“已入数量”似乎多余,因这两个数应通过查询自动求得而不是每次手工录入。

别急,刚接触ACCESS遇到这些问题很正常。

另外你也要注意ACCESS与EXCEL是不同的,所以表的设计与EXCEL也不同,ACCESS的表全是二维表。因此你想类似EXCEL那样用3列=1列+2列这样的公式,在ACCESS中是通过查询实现的,而不是直接在表内计算。



Lee 发表于:2011-10-21 22:02:30

上面我有处写错了,改正:

入仓产品的“存货编号”要与“生产订单明细表”内的“存货编号”对应(这项表内已经有了)



零落成泥 发表于:2011-10-22 15:35:38
谢谢二位老师不厌其烦地为我指导,Lee老师说得没错,我的那个“订单单号”、“生产订单号”其实就是同一个字段,只是我初学所以在命名上一点都没做到规范,还有就是那个成品进仓录入明细表内的“下单数量”和“已入数量”却实不是打算用来手工录入的,我做了个查询“订单完成情况查询”里面有这两个字段,只是不只到如何把它通过“生产订单”和“产品编号”录入后怎么自动把它带出来,所以就空在了那里。点击下载此附件麻烦老师了。

Lee 发表于:2011-10-22 20:43:33

1.做了两个查询:“订单进仓数量查询”、“生产欠数查询”。
做个窗体,主窗体“生产欠数查询窗体”和“生产欠数查询子窗体”,其中子窗体数据来源是“生产欠数查询”(在主窗体中用“子窗体/子报表”控件生成即可)
注意“生产欠数查询”的临时关系:
A.把“订单进仓数量查询”的“生产单号”拖到“生产订单明细表”的“生产单号”上,这样就建立了临时关系。如此类推建立“存货编号”的关系。

B.对临时关系进行设置,右击关系线弹出关系设置窗口,如图选择第2种关系,因你是以“订单进仓数量查询”为主去对应“生产订单明细表”上的订单数的。

2.你分清表的默认关系(建立数据表时设置的关系)与临时关系的作用,默认关系的作用见这个贴子,
http://www.accessoft.com/bbs/showtopic.asp?ID=12440
而查询中很多时要建立临时关系,临时关系作用时在查询中调用其它表的数据,有时关系与默认关系甚至是相反的,这是由查询需求决定的。
3.查询中我没有设置查询条件,关于查询窗体的设计你可参考刘小军先生的经典文章。
这文章你可上网找一找,我家庭电脑上没有,如果没找到我星期一发给你,到时你可发邮件到我邮箱leekf@139.com

 

 

点击下载此附件

零落成泥 发表于:2011-10-23 17:37:25
谢谢Lee老师的耐心指导.

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