回 帖 发 新 帖 刷新版面

主题:按钮的代码!

有下表内容:

  编号     序号   。。。。
            1
            1/1
            1/2
            2
            2/1
            2/2
请问我想写一个按钮的代码,功能是把编号的内容加上,现在编号是空的,但是如果序号为1或者2就不加编号,1/1。。。或者2/1.。。。。的时候就加上编号,依次类推循环。(序号的1或者2实际上是个大的号,而1/1或者2/1是小号,我只要求对小号进行编号,大号跳过而且编号是连续的),我想了很多办法都没成功,请高手指教!!

回复列表 (共16个回复)

沙发

用循环计数和repl all …… for 条件

板凳

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 楼

USE d:\xxx
n=1
SCAN for "/"$序号
     replace 编号 with n  && 编号是C型字段则str(n)
     n=n+1
ENDSCAN

4 楼

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 楼

首先非常感谢 qjbzjp 和 狐说八道 两位老师的回帖!
两位老师的代码的我都试验过了我分开来说下出现的问题,希望两位老师能再次指点下!!
1、qjbzjp老师的代码能实现序号为1或者2(大序号)的跳过,但是不能实现连续编号。
2、狐说八道老师的代码也能实现为1或者2(大序号)的跳过和实现连续编号,但是编号和序号好像都是先定义好的,而且我不需要临时创建表,(能不能在我当前的表里进行编号连编)也不能实现随机的数据表。
现在我把我常用的数据表上传请两位老师指点!!

6 楼


[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 楼

图片不能上传请到这里看下http://bbs.meizvfp.com/dispbbs.asp?boardid=2&id=82680&star=1&page=1

8 楼

经测试没有问题,可以连续编号啊?所有“1/n”编号是连续的。
你说的“连续编号”是“编号”字段里不能有空吗?按你的要求大号跳过,“编号”字段里肯定有空号。

9 楼


我说得是大号不能连编,比如说我大号还有3.4.5.6.....n(这里得大号是没有小号得)就不能连编了,
而我说得大号跳过,是指有小号得大号跳过,而没有小号得大号要实现连编的,当在此遇到  序号 6
      序号 6/1
      序号 6/2.....n时还需要跳过大号连编小号

请再帮我看看,谢谢!!.

10 楼

没明白。
用实际数据来说明。

我来回复

您尚未登录,请登录后再回复。点此登录或注册