主题:请教关于挑选含"空值"字段记录的问提??????????
fengshan
[专家分:120] 发布于 2009-03-22 18:35:00
请较高手:
将一个表中含有空值字段的记录(数目不确定)添加到另一个表中:
这个字段名: 金额 有一部分是.NULL. 就是把它们挑出来.
sele 表2
append from AA1 field 材料名称,规格,颜色,单位,成本价 for 金额= .NULL.
怎么提示"找不到变量'金额' "。 明明是字段名吗! 有谁能告诉是怎么回是吗?
回复列表 (共7个回复)
沙发
hw2007name [专家分:4790] 发布于 2009-03-22 22:18:00
把
for 金额= .NULL.
换成:
for isnull(金额)
板凳
菜鸭 [专家分:5120] 发布于 2009-03-23 07:49:00
金额在AA1中没有
3 楼
fengshan [专家分:120] 发布于 2009-03-23 08:27:00
把
for 金额= .NULL.
换成:
for isnull(金额)
二楼的,我试了还不行啊!还是提示"找不到变量'金额' "。
AA1表中有个字段名叫: 金额 。有若干记录为: NULL ,还若干记录为:12.00
或1.46 或0.00等数值型
4 楼
hw2007name [专家分:4790] 发布于 2009-03-23 10:20:00
sql语句追加记录行不行?
insert into 表2 (材料名称,规格,颜色,单位,成本价) select 材料名称,规格,颜色,单位,成本价 from AA1 where isnull(金额)
5 楼
lwh1188 [专家分:25840] 发布于 2009-03-23 16:43:00
根据VFP帮助文件:
FOR 子句使命令作用于符合逻辑条件的每个记录上。APPEND FROM ...FOR lExpression 为当前选定表中每一条 lExpression 为“真”(.T.) 的记录追加新记录,直至达到当前选定表的末尾。
推理如下:
因 金额= .NULL. 的运算结果为.null.,不符合“逻辑条件的结果只能为.T.或.F.”的规定,VFP就自动把“金额”当成一般变量而不是字段变量了。
这推理不知是否正确,还有待验证!
6 楼
qjbzjp [专家分:8830] 发布于 2009-03-23 21:31:00
表2中有“金额”字段吗?
按照错误提示,应该是表2中没有“金额”字段。
如果没有的话,试试:
sele 表2
use AA1 in 0
append from AA1 field 材料名称,规格,颜色,单位,成本价 for AA1.金额= .NULL.
7 楼
fengshan [专家分:120] 发布于 2009-03-24 12:18:00
6 楼
表2中有“金额”字段吗?
按照错误提示,应该是表2中没有“金额”字段。
如果没有的话,试试:
sele 表2
use AA1 in 0
append from AA1 field 材料名称,规格,颜色,单位,成本价 for AA1.金额= .NULL.
我的表中明明有“金额”字段的.
也试过append from AA1 field 材料名称,规格,颜色,单位,成本价 for EMPTY(金额)=.T. 还是不行
也试过append from AA1 field 材料名称,规格,颜色,单位,成本价 for ISNULL(金额) 还是不行
没办发 只好分两步弄: 先SELECT * FROM AA1 HAVING ISNULL(金额) INTO TABLE AA2
在 APPEND FROM AA2 field 材料名称,规格,颜色,单位,成本价
才能实现
我来回复