个人记得:VFP中有一函数 用法如下
在一个表中 查找字段A的值为***的记录,如果找到则返回 字段B的值
好像是在6.0中就有了,还用过一次,挺方便的,可是想不起来了,
在函数表中找的头都晕了, 请各路大神帮帮忙,告诉一声
肯定不是IIF()
举个例子:有一人员表 二个字段 工号 和 姓名
0001 张三
0002 李四
0003 王五
0004 赵六
用这个函数 时 输入一个可能的工号值作为参数 返回 对应的姓名
即 当把0003作为参数时 返回 王五
把 0002 作为参数时 返回 李四
这个函数好像是有三个参数 返回哪个字段也是可以设置的
第1个回答 2012-11-28
你说的应该是IIF函数。用法: IIF(条件,满足时返回值,不满足时返回值)
A=IIF(A=***,B,A) (如果A的值为****时,将B赋值给A,否则将A赋值给A)
补充说明:
有可能你用的是自定义函数吧。我印象中VFP没提供这样的函数,而且函数中的参数都要指定固定值,不可能是循环的数据(就像你表中的字段是否与A值相符,是要通过循环来实现对比的,函数是不具备循环功能的)。本回答被提问者和网友采纳
A=IIF(A=***,B,A) (如果A的值为****时,将B赋值给A,否则将A赋值给A)
补充说明:
有可能你用的是自定义函数吧。我印象中VFP没提供这样的函数,而且函数中的参数都要指定固定值,不可能是循环的数据(就像你表中的字段是否与A值相符,是要通过循环来实现对比的,函数是不具备循环功能的)。本回答被提问者和网友采纳
第2个回答 2012-12-03
*举例调用0002的姓名 ghtoxm("0002")
PROCEDURE ghtoxm
LPARAMETERS gh
select 工号姓名表名
locate for 工号=alltrim(gh)
if found()
s=alltrim(姓名)
else
s="没有找到工号为"+alltrim(gh)+"的人员"
endif
RETURN s
ENDPROC
PROCEDURE ghtoxm
LPARAMETERS gh
select 工号姓名表名
locate for 工号=alltrim(gh)
if found()
s=alltrim(姓名)
else
s="没有找到工号为"+alltrim(gh)+"的人员"
endif
RETURN s
ENDPROC
第3个回答 2012-11-28
你说的不是iif()函数吧?
或者locate for 工号=“003”
if found()
return 姓名
或者locate for 工号=“003”
if found()
return 姓名
第4个回答 2012-11-27
如果是在SELECT中,可以使用CASE WHEN
第5个回答 2012-11-27
sele 字段B from 表 where 字段A="***"