Office中国论坛/Access中国论坛

标题: 如何根据订单日期,选择产品的对应的不同价格? [打印本页]

作者: panjianhui    时间: 2007-10-22 10:14
标题: 如何根据订单日期,选择产品的对应的不同价格?
见附件!
我想实现的是,在”订单管理-订单登记窗体“中,增加或编辑一张新的订单,
”订单管理-订单明细子窗体“中的”商场货号“组合框的值来源于对应该”客户代码“下的”商场货号“资料,并保持跟客户代码的更新同步!
组合框”商场货号“数据更新以后事件过程为:”产品单价“自动根据订单日期选择不同的价格(对应”订单日期“所处的”正常供价“或对应存在的”促销含税供价“)
(相关的两个价格表为:“价格管理-商场正常供价表”和"价格管理-促销价格管理表”)
我折腾好几天了,有几个关键的东西就是搞不定,谁能帮我完善一下!看了你们的完整代码以后,再慢慢学习研究,以后就会了!
万分感谢!
作者: panjianhui    时间: 2007-10-22 11:35
第一个问题,关于商场编号的数据源自动更新问题已解决!
作者: liwen    时间: 2007-10-23 11:18
顶园代配送处理系统(设计版).rar
作者: panjianhui    时间: 2007-10-26 19:26
楼上设计的这个一般情况下能使用,但是如果修改订单日期以后,再新添加订单记录,就不能用了。
会跳出以下提示:
“该表达式输入错误,或太复杂以致不能估值”
所以应该是你在商场货号里输入的表达式太复杂了。
有没有用代码写的比较简单一点的解决方法呢?
作者: panjianhui    时间: 2007-10-26 19:31
“andymark”管理员曾对根据日期对价格取值做出如下答复,但我还是不会把他写进窗体控件的事件过程中,所以想请各高手继续指教!

ADO,SQL语句为
select  top 1 供价 from 产品供价表 where now>= 价格生效日期 and 产品编号 =' " & me.产品编号 & "' order by 价格生效日期 desc
作者: t小宝    时间: 2007-10-26 22:59
组合框”商场货号“数据更新以后事件过程为:”产品单价“自动根据订单日期选择不同的价格(对应”订单日期“所处的”正常供价“或对应存在的”促销含税供价“)
(相关的两个价格表为:“价格管理-商场正常供价表”和"价格管理-促销价格管理表”)
======================================================================

让人按照你说的功能写出完整代码比较难,因为你说的比较简单.

以上说的功能在你的库里已有,是不是在某些情况下会出现问题?你应该把出现的具体问题说清楚.
作者: andymark    时间: 2007-10-27 01:39
例子并没有考虑不同客户的价格
当某一商场货号在当前日期搞促销,则执行价格管理-促销价格管理表里的促销价格
反之则执行价格管理-商场正常供价表的价格,这中间如果存在多笔价格,则取价格生效日期大于当前日的最后一笔的价格。在你的例子中订单管理-订单明细子窗体中商场货号存在多个值,货号不唯一,请自行修改
作者: liwen    时间: 2007-10-27 12:12
原帖由 panjianhui 于 2007-10-26 19:26 发表
楼上设计的这个一般情况下能使用,但是如果修改订单日期以后,再新添加订单记录,就不能用了。
会跳出以下提示:
“该表达式输入错误,或太复杂以致不能估值”
所以应该是你在商场货号里输入的表达式太复杂了。
...


当时回复之后我就发现了,因你本身没有提供更进一步的信息,故没有再给你回复,还有就是,你应该是看我的思路而不是最后给你的结果(这也是当时没给你回复的原因),你应该考虑一下:为何第一条记录可以,而第二条记录就错了呢?
表达式太复杂,有可能简化吗,还是其他问题呢?
.....
作者: panjianhui    时间: 2007-10-28 02:24
首先很感谢各位的热心帮助!下面我再描述一下我的问题,还请各位在百忙之中指教一二:
我设计这个程序是为了处理公司某项业务所需,我的其他同事都用手写,效率低而且容易出错,所以我想搞一个这个程序。
订单子表里的产品单价基于以下几个条件(判断)来获取:
1、这个产品是否处在促销期内,若是,选择促销价格;
           例如: A客户在某段时间内计划执行特价(比如2007/10/1-2007/10/15期间B产品特供价为1元/袋,而其正常供价为2元/袋),那么首先在“价格管理-促销价格管理表”中维护该项信息:
A客户     货号“12345”   促销供价:1元   特价生效日期200710/1,特价截止日期:2007/10/15.
              那么在今天(2007/10/27)处理一张订单日期为2007/10/10日期的订单时,也选择了商场货号为"12345"的产品时,
     首先判断"价格管理-促销价格管理表"里是否有这张订单对应的客户代码的促销价格信息存在,若有,则再判断
订单日期是否处在特价生效日期内(订单日期大于特价生效日期,且小于特价截止日期),若条件都符合,则产品单价=促销供价;
     否则,转入"价格管理-正常供价表"里的价格判断.
2、判断这个产品处在哪个时期的正常供价;
     特殊情况说明:A客户的"12345"产品可能会在2007-10-10正常供价做出调整,由2元调至3元;所以即使选择正常供价,
也要根据订单日期判断该产品是处在价格调整前还是价格调整后,再行取值.

综上所述,再归纳一下:
1、判断该产品在这个“客户代码”下是否执行特价;
2、订单日期是否处在特价有效期内;
3、若该产品该订单日期没有促销价格信息,则判断该订单日期时候该产品是处在哪一时段的正常供价,是调整前,还是调整后,还是第三次调整供价后实行的价格,总之,正常供价也要判断。

我好像有点罗嗦,不知我表达清楚了没有?

[ 本帖最后由 panjianhui 于 2007-10-28 15:22 编辑 ]
作者: andymark    时间: 2007-10-28 08:38
我给你的例子并没有考虑不同客户的价格,稍修改一下即可
作者: panjianhui    时间: 2007-10-28 15:53
感谢andymark的帮助!
但还有一个小问题要麻烦您!
在你的代码中,是根据当前系统日期来判断该产品是否处在特价期间内,但我想改为根据这张订单的订单日期来判断该产品是否处在特价期内。
那么如何引用主窗体的订单日期呢?我曾试过把“now“直接修改为”me.parent.订单日期“,但是代码运行不过去。
怎么修改,还请指教~!十分感谢!
作者: andymark    时间: 2007-10-28 20:17
客户间不同价格并没有考虑
作者: panjianhui    时间: 2007-10-28 23:27
搞定了,十分感谢andymark的帮助!
还有其他细节的东西我就可以自己搞定了,十分感谢!
作者: ewe858    时间: 2008-5-29 17:39
谢谢大家,我也学到很多有用的东西了
作者: njy6000    时间: 2009-1-18 21:49
好东东就要顶起来.
作者: qiangning    时间: 2009-1-18 23:04
好东东就要顶起来.
作者: wang_93    时间: 2009-1-22 10:30
好东东学习学习
作者: twins    时间: 2009-2-15 11:00
要多学习啊
作者: micyuer    时间: 2009-3-3 10:07
多多学习




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3