设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3857|回复: 9
打印 上一主题 下一主题

[查询] 【Access小品】朝令夕改---为何查询中不建议用Iif

[复制链接]
跳转到指定楼层
1#
发表于 2014-12-16 11:33:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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("上限","标准表")

  标准表中甚至还可加上标准的适用时间和适用范围,以便满足更复杂的管理需要。

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖1 订阅订阅

点击这里给我发消息

2#
发表于 2014-12-16 11:36:45 | 只看该作者
好思路
回复

使用道具 举报

3#
发表于 2014-12-16 13:25:15 | 只看该作者
条件表达式弹性较小,一般这种情况应该写成通用模块,只需要改参数即可。——当然,对初级用户来说难度有点大。

点击这里给我发消息

4#
发表于 2014-12-16 15:44:15 | 只看该作者
本帖最后由 Wanli_Li 于 2014-12-16 15:47 编辑

版主说的非常有理,以前为一个客户开发了一套系统,系统很大,涉及美元兑人民币的汇率问题,其实也就是每月进账那天,要将此前这一个月外币进账都使用这一个汇率换算,当时的汇率是6.832,也没想那么多,交付后客户也没什么问题,正好赶上金融危机,汇率一降再降,每个月要分别到四家客户那修改汇率,起初也觉得是个问题,不过还不算麻烦,问题是我每次去修改汇率,改好后,他们都会提出要求增加某种新功能,他想加个这样的报表,他想要个那样的窗体,加钱是不可能的事,本来一年的免费维护都过了两年了,可人家不这么想,就想不花钱做更多的功能。抓紧时间做了个汇率维护,按日期推至上次更新自动取时间段汇率,才得以解决。早知今日,何必当初呢。

点评

是什么系统?  发表于 2014-12-16 17:42

点击这里给我发消息

5#
发表于 2014-12-16 22:18:49 | 只看该作者
国际集装箱货运代理系统

点评

看到,谢谢  发表于 2014-12-17 13:18
6#
发表于 2014-12-18 07:33:40 来自手机 | 只看该作者
哦,dlookup这样用,试试去。
7#
发表于 2016-8-20 15:35:39 | 只看该作者
已经下载学习,谢谢
8#
发表于 2020-8-17 23:21:13 | 只看该作者
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-1 19:46 , Processed in 0.204533 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表