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


[ 本帖最后由 cluna2013 于 2015-4-13 10:35 编辑 ]
搜索更多相关主题的帖子: 程序设计 记录 另类 
2015-04-13 09:41
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
楼主真会过日子

坚守VFP最后的阵地
2015-04-13 10:08
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
"相同内容"是指什么内容相同?
2015-04-13 10:27
cluna2013
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2013-3-2
收藏
得分:0 
准确说是重复记录。
2015-04-13 10:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
那个G型字段记录的内容怎样判断是否相同?
2015-04-13 10:45
cluna2013
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2013-3-2
收藏
得分:0 
由程序自动判断。浏览只是整体看看,不作任何修改、删减。

[ 本帖最后由 cluna2013 于 2015-4-13 10:51 编辑 ]
2015-04-13 10:50
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用cluna2013在2015-4-13 10:50:00的发言:

由程序自动判断。浏览只是整体看看,不作任何修改、删减。

程序怎样获取那个G型字段记录的内容?
2015-04-13 11:01
cluna2013
Rank: 1
等 级:新手上路
帖 子:234
专家分: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
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 8楼 cluna2013
DELETE ALL FOR RECNO()>I AND &X=XX AND &Y=YY
只是删除NO和NAME相同的记录,是吧?
2015-04-13 11:44
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
SQL命令不是更简单吗

坚守VFP最后的阵地
2015-04-13 12:00
快速回复:合并两表程序
数据加载中...
 
   



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

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