标题:请教:vfp REPLACE字段为变量的写法
取消只看楼主
liuq7
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-23
结帖率:0
已结贴  问题点数:20 回复次数:2 
请教:vfp REPLACE字段为变量的写法
我有一个vfp表cs0,字段名为bh1,bh2,bh3,bh4,bh5,bh6,bh7,想实现的目的是:输入起、止编号后,将对应的编号分别写入bh1-bh7,由于起、止编号会变化,故写入的字段个数也会变化。现在的问题是每个i值都在每个与j对应的bh字段中各写了j条记录,但我是希望每个i值只写一次,并分别写入与j对应的bh字段中,如何能实现?麻烦各位大侠给修改指正一下。非常感谢!具体代码如下:
CLEAR
USE cs0
yy=INPUTBOX('输入起编号:')
kk=INPUTBOX('输入止编号:')
bb=VAL(ALLTRIM(kk))-VAL(ALLTRIM(yy))+1
FOR i=VAL(ALLTRIM(yy)) TO VAL(ALLTRIM(kk))
i=i
IF LEN(STR(i))=1
i0='00'+STR(i)
ENDIF
IF LEN(STR(i))=2
i0='0'+STR(i)
ENDIF
IF LEN(STR(i))>2
i0=STR(i)
ENDIF
FOR j=1 TO bb
j=j
bh0=ALLTRIM(ALLTRIM('bh')+ALLTRIM(STR(j)))
APPEND blank
REPLACE &bh0 WITH STR(i0)
endfor
ENDFOR
USE
return
搜索更多相关主题的帖子: vfp 字段 STR REPLACE 编号 
2021-01-27 18:01
liuq7
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-23
得分:0 
回复 2楼 吹水佬
非常感谢!我的想法是:如起编号为4,止编号为8,则bh1写入004、bh2写入005、bh3写入006、bh4写入007、bh5写入008,以此类推,起止编号不一定是1-7之间。代码改为如下后,对应字段写入的都是止编号,应该怎么写才能实现目的呢?再次感谢!
n = 3
CREATE CURSOR cs (bh1 C(n),bh2 C(n),bh3 C(n),bh4 C(n),bh5 C(n),bh6 C(n),bh7 C(n))
CLEAR
yy=INT(VAL(INPUTBOX('输入起编号:')))
kk=INT(VAL(INPUTBOX('输入止编号:')))
bb=kk-yy+1
IF !BETWEEN(bb,1,7)
    RETURN
ENDIF
APPEND BLANK
FOR i=1 TO bb
FOR j=yy TO kk
    REPLACE ("bh"+TRANSFORM(i)) WITH PADL(j,n,"0")
ENDFOR
ENDfor
brow

[此贴子已经被作者于2021-1-28 11:05编辑过]

2021-01-28 10:41
liuq7
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-23
得分:0 
回复 4楼 sdta
可以了,非常感谢!
2021-01-28 14:45



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




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

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