Office中国论坛/Access中国论坛
标题:
我做的一个查询为什么总出错
[打印本页]
作者:
relovebb
时间:
2007-1-5 23:36
标题:
我做的一个查询为什么总出错
update 表1 set 表1.字段1=表1.字段2+表1.字段3-表1.字段4;
看起来可以,但当字段2,字段3,字段4中有为空的情况下,得出的字段1也会为空,我想把字段为空的做0处理,仅在这个更改查询中,并不改变它表中的值,于是作了如下更改:
update 表1 set 表1.字段1=表1.字段2+表1.字段3-表1.字段4 where(select iif(表1.字段2=0,"",表1.字段2)as 字段2,iif(表1.字段3=0,"",表1.字段3)as 字段3,iif(表1.字段4=0,"",表1.字段4)as 字段4 from 表1);
但是又出错了,如下:
所编写的一个子查询可在不在主查询的from子句中使用的exists保留字的情况下返回多个字段,修改子查询的select语句以只要求返回一个字段。
难道在update中不能这样适用iif语句?空不能参加运算吗?
作者:
relovebb
时间:
2007-1-5 23:39
谁能总结总结access的update set的多种用法?在网上搜了很长时间可只有一些简单的基本的用法,我总弄不好这几个查询和修改。真是菜呀![em06]
作者:
sgrshh29
时间:
2007-1-6 00:06
子查询的select语句只要求返回
一个
字段
可以用nz函数解决:update 表1 set 表1.字段1=nz(表1.字段2,0)+nz(表1.字段3,0)-nz(表1.字段4,0);
作者:
浩雨
时间:
2007-1-6 00:21
供参考:
UPDATE 表1 SET 表1.字段1 = IIf(nz([表1]![字段2])+nz([表1]![字段3])-nz([表1]![字段4])=0,"0",nz([表1]![字段2])+nz([表1]![字段3])-nz([表1]![字段4]));
尽管给了参考,但这不是最佳方案,是强扭的瓜。表中有空值字段,说明该字段是多余的,它的存在与否影响不了记录的正确性;也不会与其它记录分不清。
作者:
relovebb
时间:
2007-1-6 00:33
nz是个什么函数?
还有那些常用的函数?在哪里能找到比较全的?太渴望了!
十分感谢大家的帮助![em07]
作者:
hi-wzj
时间:
2007-1-6 00:40
将无效值转换成零值函数,具体看帮助。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3