回 帖 发 新 帖 刷新版面

主题:如何合并vf中几条记录?

各位高手好:
   请教如何将该同一号码下的三条不同记录合并到一起?有个简单的程序总是不对,请指点,非常感谢!

CLOSE all
create table newdbf(bmh c(9),cwxx c(254))
select newdbf
append blank
use ls in 0
select ls
go top
do while .not.eof()
    a=bmh
    ctext=""
   DO WHILE  .t.
      if a<>bmh
        EXIT                 &&如果bmh不等于a,执行enddo之后的替换语句
            
      else 
        ctext=ctext+alltrim(cwnr)+";"            
      ENDIF
        skip
        LOOP                  &&返回到do while,重新循环
   Enddo
        select newdbf
        replace cwxx with ctext
        replace bmh WITH ls.bmh
        append blank 
        skip
 enddo

回复列表 (共1个回复)

沙发

1.DO WHILE .T.
   if ALLTRIM(bmh)=A      
     ctext=ctext+alltrim(cwnr)+";"                           
     select newdbf
     replace cwxx with ctext
   END IF
ENDIF
    IF a<>bmh 
    exit 导致直接退出而不对其余记录进行比较
2. 还有记录定位的逻辑问题 
我以为应该 
select ls
a=1
do while a<=reccount()
   goto a
   b=bmh
   go top
   do while !.eof()
     if bmh=b
        累加则替换
     end if 
     skip
  enddo
  if 累加<>""
     appen blank
     replace
  end if
  a=a+1
enddo   

    
          enddo

我来回复

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