|
本帖最后由 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
说明:计算时,乘了排名比率,不知道对不对。如果不对,自己把该值删除。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|