VFP中怎样把同一张表中相同字段的内容合并为一条记录,并删除重复记录

VFP中怎样把同一张表中相同字段的内容合并为一条记录,并删除重复记录,第1张

做了一晚上,终于有结果了,我写了4条记录,验证正确。最后的合并结果在一个新的表:新10086.dbf中。

新10086 表的结构与10086表结构相同。所有字段都是字符型。字段b、字段d的宽度要足够。

clear

sele 1

use 10086

copy stru to 新10086

flag=0

xyz=c

b合并值=alltrim(b)

d合并值=alltrim(d)

do while not eof()

skip

if c==xyz

b合并值=b合并值+","+alltrim(b)

d合并值=d合并值+","+alltrim(d)

flag=1

loop

else

if flag=1

sele 2

use 新10086

append blank

replace a with "10086",b with b合并值,c with xyz ,d with d合并值

endif

endif

sele 1

xyz=c

b合并值=alltrim(b)

d合并值=alltrim(d)

flag=0

enddo

sele 2

browse

close table all

cancel

*方法一:

USE 表2

APPEND FROM 表1

INDEX ON 员工编号 TO sy_ls

TOTAL ON 员工编号 TO temp1 FIELDS 姓名

USE 表1

ZAP

APPEND FROM temp1

*方法二:

USE 表1 IN 1

INDEX ON 员工编号 TO sy_1

USE 表2 IN 2

SELECT 2

DO WHILE NOT EOF()

Cgh=员工编号

Cxm=姓名

Inl=年龄

SELECT 1

SEEK Cgh

IF FOUND()

replace 姓名 with Cxm,年龄 WITH Inl

ELSE

APPEND blank

REPLACE 员工编号 with Cgh,姓名 with Cxm,年龄 WITH Inl

ENDIF

SELECT 2

SKIP

ENDDO


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10700887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存