主题:按钮的代码!
绝缘子2009
[专家分:50] 发布于 2009-04-05 20:07:00
有下表内容:
编号 序号 。。。。
1
1/1
1/2
2
2/1
2/2
请问我想写一个按钮的代码,功能是把编号的内容加上,现在编号是空的,但是如果序号为1或者2就不加编号,1/1。。。或者2/1.。。。。的时候就加上编号,依次类推循环。(序号的1或者2实际上是个大的号,而1/1或者2/1是小号,我只要求对小号进行编号,大号跳过而且编号是连续的),我想了很多办法都没成功,请高手指教!!
回复列表 (共16个回复)
沙发
qjbzjp [专家分:8830] 发布于 2009-04-06 09:03:00
用循环计数和repl all …… for 条件
板凳
绝缘子2009 [专家分:50] 发布于 2009-04-06 10:55:00
USE d:\xxx.dbf
scan
if 序号<> " "
replace 编号 with "1"
endif
endscan
scan
skip -1
x=编号
skip 1
replace 编号 with 编号+x
endscan
count to y
for e=1 to y
goto e
scatter fields 编号 to aaa1
for x=e+1 to y
goto x
do case
case aaa1=y &&这里出现数据类型不符??
replace 编号 with 0
endcase
endfor
endfor
请问我这个程序能进行优化吗,我总觉得有点乱!!!
3 楼
qjbzjp [专家分:8830] 发布于 2009-04-06 16:27:00
USE d:\xxx
n=1
SCAN for "/"$序号
replace 编号 with n && 编号是C型字段则str(n)
n=n+1
ENDSCAN
4 楼
狐说八道 [专家分:860] 发布于 2009-04-07 08:19:00
CREATE CURSOR t1 (编号 i, 序号 c(4)) && ....
INSERT INTO t1 (序号) VALUES ('1')
INSERT INTO t1 (序号) VALUES ('1/1')
INSERT INTO t1 (序号) VALUES ('1/2')
INSERT INTO t1 (序号) VALUES ('2')
INSERT INTO t1 (序号) VALUES ('2/1')
INSERT INTO t1 (序号) VALUES ('2/2')
INSERT INTO t1 (序号) VALUES ('1/3') && add
INSERT INTO t1 (序号) VALUES ('2/3') && add
UPDATE t1 SET 编号 = c.编号 ;
FROM (SELECT a.序号, COUNT(*) 编号 ;
FROM (SELECT 序号 FROM t1 WHERE '/' $ 序号 ORDER BY 序号) a, ;
(SELECT 序号 FROM t1 WHERE '/' $ 序号 ORDER BY 序号) b ;
WHERE a.序号>=b.序号 ;
GROUP BY a.序号) c ;
WHERE t1.序号=c.序号
5 楼
绝缘子2009 [专家分:50] 发布于 2009-04-07 21:36:00
首先非常感谢 qjbzjp 和 狐说八道 两位老师的回帖!
两位老师的代码的我都试验过了我分开来说下出现的问题,希望两位老师能再次指点下!!
1、qjbzjp老师的代码能实现序号为1或者2(大序号)的跳过,但是不能实现连续编号。
2、狐说八道老师的代码也能实现为1或者2(大序号)的跳过和实现连续编号,但是编号和序号好像都是先定义好的,而且我不需要临时创建表,(能不能在我当前的表里进行编号连编)也不能实现随机的数据表。
现在我把我常用的数据表上传请两位老师指点!!
6 楼
绝缘子2009 [专家分:50] 发布于 2009-04-07 21:56:00
[email]null[/email]
[img]http://user.qzone.qq.com/17185142[/img][email]null[/email]
[img]http://bbs.bccn.net/post.php?action=newthread&fid=22&extra=page%3D1#attachment[/img]
7 楼
绝缘子2009 [专家分:50] 发布于 2009-04-07 22:02:00
图片不能上传请到这里看下http://bbs.meizvfp.com/dispbbs.asp?boardid=2&id=82680&star=1&page=1
8 楼
qjbzjp [专家分:8830] 发布于 2009-04-08 09:11:00
经测试没有问题,可以连续编号啊?所有“1/n”编号是连续的。
你说的“连续编号”是“编号”字段里不能有空吗?按你的要求大号跳过,“编号”字段里肯定有空号。
9 楼
绝缘子2009 [专家分:50] 发布于 2009-04-08 13:01:00
我说得是大号不能连编,比如说我大号还有3.4.5.6.....n(这里得大号是没有小号得)就不能连编了,
而我说得大号跳过,是指有小号得大号跳过,而没有小号得大号要实现连编的,当在此遇到 序号 6
序号 6/1
序号 6/2.....n时还需要跳过大号连编小号
请再帮我看看,谢谢!!.
10 楼
qjbzjp [专家分:8830] 发布于 2009-04-08 15:18:00
没明白。
用实际数据来说明。
我来回复