| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1622 人关注过本帖
标题:合并两表程序
取消只看楼主 加入收藏
cluna2013
Rank: 1
等 级:新手上路
帖 子:211
专家分:0
注 册:2013-3-2
结帖率:100%
收藏
 问题点数:0 回复次数:7 
合并两表程序
该程序设计的目的是将同样结构的两表去除重复记录之后合并。其中表1与表2结构相同,有重复记录;表0结构另类,不能与其他两表合并。
浏览表单5.rar (14.05 KB)


[ 本帖最后由 cluna2013 于 2015-4-13 10:35 编辑 ]
搜索更多相关主题的帖子: 程序设计 记录 另类 
2015-04-13 09:41
cluna2013
Rank: 1
等 级:新手上路
帖 子:211
专家分:0
注 册:2013-3-2
收藏
得分:0 
准确说是重复记录。
2015-04-13 10:33
cluna2013
Rank: 1
等 级:新手上路
帖 子:211
专家分:0
注 册:2013-3-2
收藏
得分:0 
由程序自动判断。浏览只是整体看看,不作任何修改、删减。

[ 本帖最后由 cluna2013 于 2015-4-13 10:51 编辑 ]
2015-04-13 10:50
cluna2013
Rank: 1
等 级:新手上路
帖 子:211
专家分:0
注 册:2013-3-2
收藏
得分:0 
在打开表1、表2之后,拷贝表1结构生成表3;
与表1表2对应,生成两个临时表Temp1.dbf、Temp2.dbf;
打开表3,从临时表录入全部记录;
删除临时表;
用程序自动删除重复数据。
主要代码:
* Command1-Click
CLOSE DATABASES
SELECT 1
gcTable=GETFILE('DBF')
USE (gcTable) ALIAS aa
thisform.grid1.RecordSource = [aa]
thisform.grid1.SetFocus
.T.
* Command2-Click
SELECT 2
gcTable1=GETFILE('DBF')
SELECT 1
IF gcTable1=[aa]
    RETURN
ELSE
    SELECT 2
    gcTable=gcTable1
ENDIF
USE (gcTable) ALIAS bb
thisform.grid2.RecordSource = [bb]
thisform.grid2.SetFocus
.F.
* Command3-Click
SELECT 1
COPY TO Temp1
COPY STRUCTURE TO 3
SELECT 2
COPY TO Temp2
SELECT 1
SELECT 3
USE 3
APPEND FROM Temp1
APPEND FROM Temp2
ERASE Temp1.*
ERASE Temp2.*
I=1
DO WHILE I<=RECCOUNT()
    GO TOP
    SKIP I-1
        IF !DELETED()
            X=FIELD(1)
            XX=&X
            Y=FIELD(2)
            YY=&Y
            DELETE ALL FOR RECNO()>I AND &X=XX AND &Y=YY
        ENDIF
    I=I+1
ENDDO
PACK
CLOSE DATABASES
USE 3 ALIAS cc
thisform.grid1.RecordSource = [cc]
thisform.grid1.SetFocus
.F.
.F.
2015-04-13 11:28
cluna2013
Rank: 1
等 级:新手上路
帖 子:211
专家分:0
注 册:2013-3-2
收藏
得分:0 
回复 9楼 吹水佬
如果要比较其余字段也可以。
2015-04-13 12:33
cluna2013
Rank: 1
等 级:新手上路
帖 子:211
专家分:0
注 册:2013-3-2
收藏
得分:0 
回复 10楼 sdta
我还真不会SQL命令。能否开示一下?
2015-04-13 12:34
cluna2013
Rank: 1
等 级:新手上路
帖 子:211
专家分:0
注 册:2013-3-2
收藏
得分:0 
一般来说,比较两个表不需要每一项都去比较,只要比较关键的几项就可以作出结论。
2015-04-17 09:24
cluna2013
Rank: 1
等 级:新手上路
帖 子:211
专家分:0
注 册:2013-3-2
收藏
得分:0 
抱歉,我在使用中发现,这个程序还是有问题,如果两个表差别大,合成的表会漏掉很多数据。
需要修改程序。
2015-05-09 09:36
快速回复:合并两表程序
数据加载中...
 
   



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

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