标题:REPLACE ALL 使用变量问题
取消只看楼主
fdqzy
Rank: 1
等 级:新手上路
帖 子:354
专家分:0
注 册:2016-8-15
结帖率:76.81%
已结贴  问题点数:20 回复次数:2 
REPLACE ALL 使用变量问题
程序代码:
create cursor b1 (m c(3),m1 c(3))
insert into b1 values ("012","")
insert into b1 values ("10","")
insert into b1 values ("011","")
insert into b1 values ("201","")
insert into b1 values ("2","")

REPLACE ALL  m1 WITH IIF(LEFT(ALLTRIM(m),1)=='0',"M1","")
brow


统计正确

如果使用:
kk=LEFT(ALLTRIM(m),1)
REPLACE ALL  m1 WITH IIF(kk=='0',"M1","")
表达式全为假

应怎样使用变量?谢谢!
搜索更多相关主题的帖子: values insert 变量 into REPLACE 
2020-09-17 18:44
fdqzy
Rank: 1
等 级:新手上路
帖 子:354
专家分:0
注 册:2016-8-15
得分:0 
以下是引用吹水佬在2020-9-17 20:30:12的发言:



这两句相当于:
kk = (LEFT(ALLTRIM(m),1) == "0") && 当前记录
REPLACE ALL m1 WITH IIF(kk,"M1","") && 所有记录
这样做不能达到想要的结果,单这个问题也没必要这样做。
如果 kk 会被重复使用,参考下面贴的55楼
https://bbs.bccn.net/viewthread.php?tid=503137&extra=page%3D1%26amp%3Bfilter%3D0%26amp%3Borderby%3Dlastpost%26amp%3Bascdesc%3DDESC&page=6

懂了,效果理想,当初对这个帖子没有很好去理解,谢谢!
2020-09-17 20:56
fdqzy
Rank: 1
等 级:新手上路
帖 子:354
专家分:0
注 册:2016-8-15
得分:0 
以下是引用吹水佬在2020-9-17 20:57:32的发言:

如果 kk 会被重复使用,也可以这样,假设:kk为真时m1为"M1",kk为假时m2为"M2"
create cursor b1 (m c(3),m1 c(3), m2 c(3))
insert into b1 values ("012","","")
insert into b1 values ("10","","")
insert into b1 values ("011","","")
insert into b1 values ("201","","")
insert into b1 values ("2","","")

TEXT TO cmd NOSHOW PRETEXT 1
    kk=AT("0",LTRIM(m))==1
    RETURN kk
ENDTEXT
kk = .F.
REPLACE ALL m1 WITH IIF(EXECSCRIPT(cmd),"M1",""), m2 WITH IIF(!kk,"M2","")
BROWSE

费心了,学习方法多多益善,也是成长的捷径。
对这些帖子我一定好好去学习研究,谢谢!
2020-09-17 21:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503181-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.304239 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved