一个库存软件,因为货品多为食用品,所以想实现如下功能: 1、希望能在物品的过期前一个月开始,每当进入主界面时,列出将要过期的物品。
2、物品的有效期过期后,可以在Frm_GQWP中列出已经过期的物品。登陆到系统时不再提示。 例如: 物品编号 物品名称 有效期至 数量 计量单位 J0001 炼奶 2009-06-20 4 瓶
J0002 味精 2009-07-01 5 包
在2009-06-01开始,登陆系统主界面Frm_main,弹出“将要过期的物品”
在2009-06-21登陆系统主界面时,因为物品J0001已经超过了食用期,所以提示中只不出现此编号的物品。
只有在打开Frm_GQWP时列出!
请问这样的功能到底怎样实现????
2、物品的有效期过期后,可以在Frm_GQWP中列出已经过期的物品。登陆到系统时不再提示。 例如: 物品编号 物品名称 有效期至 数量 计量单位 J0001 炼奶 2009-06-20 4 瓶
J0002 味精 2009-07-01 5 包
在2009-06-01开始,登陆系统主界面Frm_main,弹出“将要过期的物品”
在2009-06-21登陆系统主界面时,因为物品J0001已经超过了食用期,所以提示中只不出现此编号的物品。
只有在打开Frm_GQWP时列出!
请问这样的功能到底怎样实现????
解决方案 »
- 动画能否指定宏程序?
- 关于 函数SetLayeredWindowAttributes 的怪问题!
- BYTE 型变量的符值的问题,急急急急急急急急急急
- ◆师兄们请进,怎么只让ComboBox可以选择而不让用户修改???◆
- OLEDB PROVIDER 连接测试为何失败??
- 高手帮忙啊,谢谢了!
- 请问如何得知当前窗口哪个控件正拥有焦点?
- 我将LISTBOX的styles设为CHICKBOX,可以多选值。但我不知怎么取回所选的值了,请告诉我?
- 紧急,,请问在vb中如何判断一个数据库中的表是否存在
- 干掉它
- 请问 XP系统中开始菜单中程序下附件中的"Windows 资源管理器"
- 关于mschart的问题,请高手指教
即将过期的提示SQL语句如下:
SELECT 物品名称 FROM 数据表 WHERE DATE() BETWEEN DATEADD("m",-1,有效期至) AND 有效期至
已过期的SQL语句如下:
SELECT * FROM 数据表 WHERE DATE()>有效期至
至于窗体部分,在登录成功后,如果是MDIForm,可用一个子窗口显示;如果不是MDIForm,则可以使用“提示窗口.Show vbModal,主窗口”显示。
即将过期的提示SQL语句如下:
SELECT 物品名称 FROM 数据表 WHERE DATE() BETWEEN DATEADD("m",-1,有效期至) AND 有效期至
已过期的SQL语句如下:
SELECT * FROM 数据表 WHERE DATE()>有效期至
至于窗体部分,在登录成功后,如果是MDIForm,可用一个子窗口显示;如果不是MDIForm,则可以使用“提示窗口.Show vbModal,主窗口”显示。
我的做法是: 在进入主界面的同时,查询data.mdb中的"库存信息"数据表(kcxx),然后根据数据表内"有效期至"此列(Q_Date)与本地时间判断,将符合条件的"库存信息"数据表内的:物品名称,有效期、数量、单价等信息用DataGird显示出来。
发现的问题: 如单纯读取有效期一列的值,不能正确反映出将要过期的物品数量。 如期初库存“青岛啤酒”4瓶,有效期至:2009-07-08。假如此时再进10瓶“青岛啤酒”,有效期至:2009—10-01。
则"库存信息"数据表(kcxx)内此物品的有效期仍为2009-07-08。
求解决办法!
你表格中的物品编号,也就是你入库登记的时候每一批青岛啤酒都会有单独的物品编号
001 青岛啤酒 10 2009-01-01
002 青岛啤酒 8 2009-02-28当你查询的时候,会返回批号和数量也就是你数据库的设计问题表格tblProduct里面有你的upc, productname,....表格tblStock里面有你的stockID,upc, quantity,.....这样你就可以返回过期的数量了
这个应该没有困难。首先,我们把条件分析一下:1 已经过期:有效期小于当前日期。 "SELECT * FROM kcxx WHERE Q_Date < #" & Format(Date, "yyyy-mm-dd") & "#"2 有效期不到 30 天:有效期大于当前日期但小于当前日期 + 30 "SELECT * FROM kcxx WHERE Q_Date > #" & Format(Date, "yyyy-mm-dd") & "# AND Q_Date < #" & Format(Date + 30, "yyyy-mm-dd") & "#"
至于相同货品,不同进货日期和有效期的问题,就应当作为不同批次以各自独立的记录来处理。数据库的结构不必更改,但你的汇总代码需要调整。
实际操作起来关键在你的仓库执行,作为仓储最重要的行为之一就是stockchecking, 在stockchecking的时候查点物品的数量,如果对关注过期时间敏感的话,会对最近一批过期,或者说最近一批需要distribute的物品进行特殊标记或者码放。这样在软件执行递减库存操作的时候就需要从最接近过期时间的那个批次开始。同一商品在tblstock中不同批次实在是在正常不过了。(如果你的客户是分销链,或者叫distribut centre的话) 递减为0则从tblstock表格删除,如有需要添加至tblstocklog
如果你的客户是超市的话每一次收货都要录入系统,但是这个是tblReceived和tblstock不同,虽然里面同样有批号,这个是对分销链的一个交待,每一次入货必须有迹可循。接收到上架就是tblReceived到tblQuantity的过程,卖货期间则对过期并不敏感,因为每一个upc都是一视同仁的。因为在收款的时候并不知道具体这个upc是来自哪个批次,超市的stockchecking的时候你的系统会出现despripancy,然后系统对其进行处理 以我在这个行业的经验来看,大部分软件都有提醒功能。这个功能对于养鸡场,面包厂这样的地方尤为重要
不知道你的库存软件是面向哪里的
在distribute centre一般真正重要的是upc+批次号,这与这个批次的出场时间过期时间都没有那么重要。那里的经理只是根据upc+批次号决定分发的物品,downstock也是这么来做的对于接受方超市来说,录入也是相当重要的,一定要和进货渠道保持批次号一致。如果一个批号上架了也是要记录在案的。非常非常的重要
将查询出来的记录集显示在 frm_main 窗体的一个控件(如ListView、msflexgrid等)中就可以了
“clear_zero ”,“of 123”,"老张",“左手”的帮忙,几位多次帮小弟的忙,不胜感激。还有就是“江南春”,“young0098 ”等第一次来帮忙的新朋友!