以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何根据多列值判断某列值?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91844)

--  作者:chh2321
--  发布时间:2016/10/20 11:17:00
--  如何根据多列值判断某列值?
 我想根据多列值计算某一列的值,在表Datachanged事件中写入代码,但是没有得到我想要的结果,请问问题出在哪里?
表如下:
图片点击可在新窗口打开查看

代码如下:
图片点击可在新窗口打开查看

请老师指教!

--  作者:有点蓝
--  发布时间:2016/10/20 11:49:00
--  
计算逻辑是什么,需要的结果又是怎样的
--  作者:chh2321
--  发布时间:2016/10/20 11:56:00
--  
 计算逻辑:
第四列≥4并且第五列≥120并且第六列≥100,则第七列=0;
第四列≥3 或 第五列≥90 或 第六列≥75,则第七列=1;
第四列≥2 或 第五列≥60 或 第六列≥50,则第七列=2;
第四列≥1 或 第五列≥30 或 第六列≥25,则第七列=3;
否则
第七列=4

--  作者:chh2321
--  发布时间:2016/10/20 12:08:00
--  
现在根据代码运行结果来看,第七列的值不符合上面的计算逻辑。

请老师指教

--  作者:有点蓝
--  发布时间:2016/10/20 14:23:00
--  
截图完全符合你的计算逻辑,哪个不符合?
--  作者:litongbo1986
--  发布时间:2016/10/20 15:09:00
--  
 是不是应该把前面几列的值 改成 数值型的.

--  作者:chh2321
--  发布时间:2016/10/20 15:11:00
--  
 以下两行不符合:
 第4行第4列2.75,第七列应该是2;
 第8行第6列63,第七列应该是2

--  作者:狐狸爸爸
--  发布时间:2016/10/20 15:24:00
--  
建议你,首先修改列的数据类型,将这些列的数据类型改为双精度小数,然后再看代码逻辑。
字符型列,是没有办法正确比较数字的。

--  作者:litongbo1986
--  发布时间:2016/10/20 15:25:00
--  
 怎么感觉  你这个逻辑后面的包括前面的逻辑呀   你觉不觉得   第七列的值是2的 也包括 第七列的值是1的

--  作者:有点蓝
--  发布时间:2016/10/20 15:49:00
--  
第4行第4列2.75,第七列应该是2;   ----但是第5列是117>90,完全符合第七列=1的规则
 第8行第6列63,第七列应该是2   ----但是第5列是112>90,也完全符合第七列=1的规则

因为你的规则是或or,不是和and

自己先搞清楚自己的规则再说吧