标题:大神们,求助啊!两个表中查找相同的数据——姓名!
只看楼主
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
得分:0 
回复 46楼 吹水佬
亲爱的版主:
可否再麻烦您一下?
我己经用VFP9来操作了,但是又出现另一个问题

我把表放上去,您运行看看?
学生表核查.zip (302.95 KB)
2021-05-16 11:16
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用yilance在2021-5-16 09:41:10的发言:

谢谢!
你想的周到
我的表单运行后发现学生表中有重名的学生会出问题
不能完全比对出来

先规范 学生表 数据,再解决其它问题

坚守VFP最后的阵地
2021-05-16 11:35
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
得分:0 
回复 48楼 sdta
亲爱的sdta版主
在线不,可否帮我看看是何原因啊,又进行不下去了,着急哇
2021-05-16 11:35
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
得分:0 
回复 52楼 sdta
表是规范的,因为学生表是有很重名的
我现在加上出生日期来进行再次比对了
可否帮我运行看看,己经把数据表放上面了
2021-05-16 11:37
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用yilance在2021-5-16 11:16:14的发言:

亲爱的版主:
可否再麻烦您一下?
我己经用VFP9来操作了,但是又出现另一个问题

我把表放上去,您运行看看?

tmp 临时表中只有两个字段:序号,xm ,想不错都不可能,有 出生日期 字段吗

坚守VFP最后的阵地
2021-05-16 11:39
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
得分:0 
回复 55楼 sdta

原来如此!我完全不懂
知之甚少,只会点简单的词语
2021-05-16 11:41
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用yilance在2021-5-16 11:37:46的发言:

表是规范的,因为学生表是有很重名的
我现在加上出生日期来进行再次比对了
可否帮我运行看看,己经把数据表放上面了

每个学生都有一个标识个人身份的 学号 字段,你表中有吗

坚守VFP最后的阵地
2021-05-16 11:46
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
得分:0 
以下是引用sdta在2021-5-16 11:46:54的发言:


每个学生都有一个标识个人身份的 学号 字段,你表中有吗


是的,这就是我为何发贴求助了,如果学生表有可以唯一识别的学号之类的,我自己的表单就可以完成比对了
现在的学生表就只有姓名和出生日期的信息(出生日期还是后来费劲查出来加上的,鉴于历史原因,学生表的信息太少,还有一个就是专业了,专业更不好比对,学生表中的专业很多都是简称,根本没法做为比对项)
要从几万人的毕业生表中比对挑选出来,本来都准备手工挑的,奈何后面还有如此的工作,不如做个程序一劳永逸了
==============
刚刚的程序加了出生日期,可以运行了,但是看了结果,好像不太对



程序代码:
SELECT 0 
USE 出生日期2 ALIAS a
SELECT 0
USE 至2021年所有毕业生2 ALIAS b
BLANK FIELDS 序号 ALL 
**ALTER TABLE b ALTER COLUMN 序号 C(20)
SELECT DISTINCT 序号,xm,出生日期 FROM b INTO CURSOR tmp READWRITE 
SELECT tmp
INDEX on xm+出生日期 TAG xm
SELECT a 
SET RELATION TO xm+出生日期 INTO "tmp"
REPLACE ALL tmp.序号 WITH tmp.序号-LTRIM(a.序号)-","
SELECT b 
SET RELATION TO xm INTO "tmp"
REPLACE ALL b.序号 WITH tmp.序号
SELECT 序号,xm,出生日期 FROM b WHERE !EMPTY(序号) ORDER BY xm


[此贴子已经被作者于2021-5-16 12:10编辑过]

2021-05-16 12:08
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
自古华山一条路,楼主省省心吧!

坚守VFP最后的阵地
2021-05-16 12:21
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:40
帖 子:749
专家分:2475
注 册:2011-5-8
得分:0 
楼主的表怎么像学籍管理系统导出来的呀。如果是,为什么不导出考生号或学号或身份证号,这样重名的问题就不存在了吧。

dBase有人接盘了。
2021-05-16 12:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505739-1-1.html




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

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