Foxtable(狐表)用户栏目专家坐堂 → 如何在规定的日期范围内执行预定的产品价格


  共有5555人关注过本帖树形打印复制链接

主题:如何在规定的日期范围内执行预定的产品价格

帅哥哟,离线,有人找我吗?
lsy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/6 8:06:00 [显示全部帖子]

朋友,咨询问题,最好附上与问题密切相关的实例,不然别人要么看不明白,要么费力从头做一遍实例,浪费时间。

更好一点嘞,用试用版做实例,可能帮到你的人,又稍多几个。


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/6 10:01:00 [显示全部帖子]

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:当前价格.table

[此贴子已经被作者于2013-7-6 10:57:56编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/6 11:13:00 [显示全部帖子]

以下是引用gsnake在2013-7-6 11:08:00的发言:

If e.DataCol.Name = "价格" OrElse e.DataCol.Name = "生效日期" Then
    If e.DataRow.IsNull("价格") = False AndAlso e.DataRow.IsNull("生效日期") = False Then
        Dim dt As Date = DataTables("价格变动表").Compute("Max(生效日期)","产品编号 = '" & e.DataRow("产品编号") & "'")
        Dim dr As DataRow = DataTables("价格变动表").Find("生效日期 = #" & dt & "#")
        Dim dr1 As DataRow = DataTables("产品表").Find("产品编号 = '" & e.DataRow("产品编号") & "'")
        dr1("当前售价") = dr("价格")
    End If
End If

 

最大生效日期的啊!呵呵!

你下载的不是最新的。

 

我们在用的数据库调价,遵循以下原则:

第一,肯定是要最大生效日期,一般是当日调价、当日生效,不会提前调价,以后生效。难道还要早前日期?调价当然是最大日期有效,该不会提前调好以后多个日期的价格吧?

第二,不到生效日期不生效,你看到的没照顾到这一点,现在的OK了。

[此贴子已经被作者于2013-7-6 11:18:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/6 11:23:00 [显示全部帖子]

经过反复测试,我这个是对的。


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/6 13:45:00 [显示全部帖子]

调价是在价格变动表中进行的,产品表定型后,一般都不动,只有价格会时常变动,产品名称的变动就更少了。

楼主的要求是:已经在以前的某一天或今天,为未来的某一天调好了价格,到了那一天,产品表中的当前价,就自动变成调好的价格,不需要人工干预。

实际上楼主这样做,没必要。到了需要调价的那一天,再调价,既简单、又可靠。

也就是,当时调价,当时生效。

[此贴子已经被作者于2013-7-6 13:53:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/7 6:50:00 [显示全部帖子]

管理项目→项目属性→项目事件→AfterOpenProject

价格变动表→数据表→表属性→DataColChanged

 

测试方法:

先在生效日期列中输入不是今天的日期,然后改动价格,当前售价不会跟着变;关闭、重启项目后,当前售价也不会变。

然后在生效日期列中输入当天日期,也就是假如今天就到了未来的调价生效日,改动价格,当前售价会跟着变。

然后在生效日期列中输入当天日期,改动价格,当前售价会跟着变,再将变动后的当前售价人工改回原来的价格,并且保存;关闭、重启项目后,“当前售价”中的值就自动变成“价格”中的值了。

 

通过上面三种测试,就说明管用了。


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/25 9:32:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:定时调价.table


 回到顶部