|
本帖最后由 todaynew 于 2014-12-16 11:36 编辑
一日某版友按领导要求做一个奖励统计系统,领导曰:业绩排名前六者重奖300,七至十二者奖200,十三至十六者奖100,十六者之后不奖。于是乎该版友于查询中写Iif嵌套语句得其结果,领导拍其肩云:甚佳!
众同事闻有奖金可发,悲喜交加。有好事者找领导闹事,言之不公。领导不想惹事,便朝令夕改,十六名之后每人50。于是乎,该版友改Iif语句,领导抚其手云:辛苦了。
领导之领导闻言此事,大怒,将领导痛斥一番,并言之不得扩大奖励范围。领导回来,踹该版友臀部一脚,斥责曰:笨蛋,重新搞个奖励方案。第一名500,二至四名300,五至八名200,其余不奖。该版友忍气吞声,重新Iif一番。
所谓计划赶不上变化,Iif适应变化的能力不佳。因此此类问题当做一表,将奖励标准写入表中。领导说个话,放个屁,都只关乎表中数据的修改,而与代码无关。
标准表:
标准ID 下限 上限 金额
1 1 6 300
2 7 12 200
3 13 16 100
select *,dlookup("金额","标准表","下限<=" & [排名] & " and 上限>=" & [排名]) as 金额
from 业绩表
where 排名<=dmax("上限","标准表")
标准表中甚至还可加上标准的适用时间和适用范围,以便满足更复杂的管理需要。
|
|