Office中国论坛/Access中国论坛

标题: 请教如何编程或者函数查找出几个数. [打印本页]

作者: sohojsp    时间: 2017-3-10 13:41
标题: 请教如何编程或者函数查找出几个数.
如上图,根据 计算提成表 中的单价,找到 提成等级表 中对应名称型号的百分点返回过来.
规则是单价小于3%那一行的对应型号的,返回1%,大于等于3%且小于5%那一行返回3%,
大于等于5%且小于8%那一行返回5%,大于等于8%那一行返回8%,
比如计算提成表中A1的单价是0.0038,从等级表中找到比5%那一行0.0037大,比8%0.0046小,所以返回5%.
请高手帮忙解决,或者给出思路,十分感谢,愿意提供回报.附件中有以上点击下载此附件两个表.
作者: sohojsp    时间: 2017-3-10 13:43
附件
作者: sohojsp    时间: 2017-3-10 13:43
附件在下面
作者: Henry D. Sy    时间: 2017-3-10 13:54
型号??
作者: Henry D. Sy    时间: 2017-3-10 14:05
有点云里雾里
表中根本就没有0.0038
作者: roych    时间: 2017-3-11 02:24
我猜应该是这个意思吧。[attach]60929[/attach]
如图所示,左表编号ID是1的那个第一条记录(即中间那个表的A1),单价0.0038小于0.0046,所以返回不超过0.0046的最大的那条记录(即0.0037)所对应的百分点,因此得到0.05。

不过,有个问题是,如果找不到,则会返回空值,如下图所示:
[attach]60928[/attach]

由于编号ID为15的提成表最小单价是0.0145,而计算提成中是0.0132,低于目标值,所以返回空值。

详细请留意文件
[attach]60931[/attach]

懒得写代码。如果数据不多,将就着用吧。如果数据较多,则建议看看ADO后再自己写写代码。

最后一点。所有表我都改过来了。麻烦楼主自行花点时间去复习下数据库的表设计规范。看看我的表跟你的表有什么区别。
http://www.office-cn.net/thread-122667-1-1.html

作者: sohojsp    时间: 2017-3-11 10:38
确实如楼主提成等级表数据不规范, 思路错了,把表搞规范了,问题才好解决.我会改一下表结构,谢谢楼主,楼主高明.




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