Office中国论坛/Access中国论坛

标题: 排名分类计算问题! [打印本页]

作者: jiyu0617    时间: 2009-3-16 13:06
标题: 排名分类计算问题!
本帖最后由 jiyu0617 于 2009-3-16 16:15 编辑

首先对表“销售表”“日均销售数量”进行降序排序,通过用户输入排名百分比和备货天数计算出“安全存量” 并更新表
   “排名百分比”的意思是:如类别A为 20% 表示按“日均销售数量”降序排序前20%的商品
类别B为 50%表示按“日均销售数量”降序排序前20%~50%的,C,D类商品以此类推
作者: kangking    时间: 2009-3-16 15:10
很想帮你,可是的附件有问题,比如在你的表中没有找到类别字段,更新表按钮指向的链接也不存在。

也许是我的理解存在问题。
作者: todaynew    时间: 2009-3-16 15:35
本帖最后由 todaynew 于 2009-3-16 15:41 编辑
首先对表“销售表”“日均销售数量”进行降序排序,通过用户输入排名百分比和备货天数计算出“安全存量” 并更新表
   “排名百分比”的意思是:如类别A为 20% 表示按“日均销售数量”降序排序前20%的商品
类别B为 ...
jiyu0617 发表于 2009-3-16 13:06


SELECT *
FROM [SELECT a.ID, a.商品全名, a.日均销售数量, a.安全存量, (select count(*) from 销售表 as b where b.日均销售数量>=a.日均销售数量) AS 销售排序
FROM 销售表 AS a]. AS c
ORDER BY c.销售排序;

Private Sub 更新_Click()
Dim sql As String
DoCmd.SetWarnings False
sql = "UPDATE 查询 SET 查询.安全存量 = 查询.日均销售数量*Val(forms!计算存量!text1)*Val(forms!计算存量!text5) "
sql = sql + "WHERE 查询.销售排序<=Val([forms]![计算存量]![text1])*DMax('销售排序','查询');"
DoCmd.RunSQL sql
sql = "UPDATE 查询 SET 查询.安全存量 = 查询.日均销售数量*Val(forms!计算存量!text2)*Val(forms!计算存量!text6) "
sql = sql + "WHERE 查询.销售排序>Val([forms]![计算存量]![text1])*DMax('销售排序','查询') and 查询.销售排序<=Val([forms]![计算存量]![text2])*DMax('销售排序','查询');"
DoCmd.RunSQL sql
sql = "UPDATE 查询 SET 查询.安全存量 = 查询.日均销售数量*Val(forms!计算存量!text3)*Val(forms!计算存量!text7) "
sql = sql + "WHERE 查询.销售排序>Val([forms]![计算存量]![text2])*DMax('销售排序','查询') and 查询.销售排序<=Val([forms]![计算存量]![text3])*DMax('销售排序','查询');"
DoCmd.RunSQL sql
sql = "UPDATE 查询 SET 查询.安全存量 = 查询.日均销售数量*Val(forms!计算存量!text4)*Val(forms!计算存量!text8) "
sql = sql + "WHERE 查询.销售排序>Val([forms]![计算存量]![text3])*DMax('销售排序','查询');"
DoCmd.RunSQL sql
End Sub


[attach]36705[/attach]

说明:计算时,乘了排名比率,不知道对不对。如果不对,自己把该值删除。




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