求助:如何查找到两张表中相同字段的相同记录?

yilanceeee 2021-05-15 08:49:23
大神们,求助啊!两个表中查找相同的数据——姓名!
两个表格,一个是学生表,一个是毕业生总表
学生表有学生己经毕业,就会在毕业生表中体现出来

现在我需要在毕业生总表中找到所有学生表中相同的姓名的学生

现在我做了一个表单



local a,b,i,num
sele 1
b=thisform.text1.value
use &b alias bb


sele 2
a=thisform.text2.value
use &a alias aa


i=0
j=0
sele 2
do while .not.eof()
ly=xm
sele 1
locate for xm=ly
if found()
repl bb.序号 with ALLTRIM(bb.序号)+ALLTRIM(aa.序号)
i=i+1
else
sele 2
repl 标记 with '没有'

j=j+1
endif
sele 2
skip
enddo
sele 1
use
sele 2
use
?i
但是这样的只能查到总表不重名的学生
比如毕业生总表中有王强这样好多条记录重名的的,就不能把所有的王强都找出来
这样的循环只能找到第一个王强
大神们可否帮忙修改一下
非常感谢!
...全文
383 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lygcw9602 2024-02-27
  • 打赏
  • 举报
回复

姓名可以重复,但学号不会重复

weixin_42060926 2021-06-13
  • 打赏
  • 举报
回复

一个命令就可以

select 学生表.姓名,学生表.班级 from 学生表,毕业生总表 WHERE  学生表.姓名=毕业生总表.姓名 and 学生表.出生日期=毕业生总表.出生日期 

yilanceeee 2021-05-17
  • 打赏
  • 举报
回复
按着孤独兄弟的说的,更改后的语句分享给大家,很好用,希望有相似问题的网友可以借鉴一下 再 次感谢一下楼上的孤独兄弟!!!
local a,b,i,num
sele 1
b=thisform.text1.value
use &b alias bb


sele 2
a=thisform.text2.value
use &a alias aa


i=0
j=0
sele 2
do while .not.eof()
   ly=xm
   lq=csr
   sele 1
   locate for xm=ly .and. lq=csr
   if found()
        repl bb.序号 with ALLTRIM(bb.序号)+','+ALLTRIM(aa.序号)
        i=i+1
    else 
        sele 2
        repl 标记 with '没有' 
       
        j=j+1
   endif
   sele 2
  skip 
  enddo  
  sele 1
  use
  sele 2
  use
  ?i
yilanceeee 2021-05-17
  • 打赏
  • 举报
回复
引用 9 楼 独孤兄弟 的回复:
[quote=引用 8 楼 yilanceeee 的回复:][quote=引用 7 楼 yilanceeee 的回复:][quote=引用 5 楼 独孤兄弟 的回复:]加上CONTINUE命令
我自己捯饬了一下,可以使用了,非常感谢! 可是 又出现一个问题,就是名字一样后,我还要比较一下出生日期是否一样,如果一样才表明是同一个人 这样如何更改一下表单里的命令[/quote] 用了后检查了一下,还是不行,有些错误出现,不能完全比对出来[/quote] 试试: ly=xm 前或后加上 rq=csrq (假设表中出生日期字段名为csrq) locate for xm=ly 改为 locate for xm=ly .and. rq=csrq[/quote] 按您说的更改后使用了一个 非常好用!完全没有问题了! 感谢感谢!
独孤兄弟 2021-05-16
  • 打赏
  • 举报
回复
引用 8 楼 yilanceeee 的回复:
[quote=引用 7 楼 yilanceeee 的回复:][quote=引用 5 楼 独孤兄弟 的回复:]加上CONTINUE命令

我自己捯饬了一下,可以使用了,非常感谢!

可是 又出现一个问题,就是名字一样后,我还要比较一下出生日期是否一样,如果一样才表明是同一个人
这样如何更改一下表单里的命令[/quote]
用了后检查了一下,还是不行,有些错误出现,不能完全比对出来[/quote]

试试:
ly=xm 前或后加上 rq=csrq (假设表中出生日期字段名为csrq)
locate for xm=ly 改为 locate for xm=ly .and. rq=csrq
yilanceeee 2021-05-15
  • 打赏
  • 举报
回复
非常感谢! 完全不会啊,在哪里加上的? 这个表单是别人帮忙做的,我是完全的不懂哇 可缶帮我更改一下?加在哪里?
yilanceeee 2021-05-15
  • 打赏
  • 举报
回复
引用 7 楼 yilanceeee 的回复:
[quote=引用 5 楼 独孤兄弟 的回复:]加上CONTINUE命令
我自己捯饬了一下,可以使用了,非常感谢! 可是 又出现一个问题,就是名字一样后,我还要比较一下出生日期是否一样,如果一样才表明是同一个人 这样如何更改一下表单里的命令[/quote] 用了后检查了一下,还是不行,有些错误出现,不能完全比对出来
独孤兄弟 2021-05-15
  • 打赏
  • 举报
回复
加上CONTINUE命令
yilanceeee 2021-05-15
  • 打赏
  • 举报
回复
我是想把学生表中的学生姓名在毕业生总表中全部找到,做个标记就可以 于是就把学生表中排了个序号,只要在毕业生总表中发现有和学生表中一样的姓名就用学生表中的序号替换总表中的序号 如果总表中没有学生表中的姓名就在学生表中做个标记
yilanceeee 2021-05-15
  • 打赏
  • 举报
回复
毕业生总表 是总表 学生表 是要在总表中找到名字的表 我是想把学生表中的学生姓名在毕业生总表中全部找到,做个标记就可以 于是就把学生表中排了个序号,只要在毕业生总表中发现有和学生表中一样的姓名就用学生表中的序号替换总表中的序号 如果总表中没有学生表中的姓名就在学生表中做个标记
yilanceeee 2021-05-15
  • 打赏
  • 举报
回复
引用 5 楼 独孤兄弟 的回复:
加上CONTINUE命令
我自己捯饬了一下,可以使用了,非常感谢! 可是 又出现一个问题,就是名字一样后,我还要比较一下出生日期是否一样,如果一样才表明是同一个人 这样如何更改一下表单里的命令
vf6.0,要考二级没系统的下哈 Microsoft Visual FoxPro 6.0 for Windows 的常见问题 这些是有关 Microsoft Visual FoxPro 最常见的问题。在您求助 Microsoft 产品支持服务之前,请先查阅这张列表。 若想打印这些附注,请从“文件”菜单中选择“打印”命令。此文档分为以下四部分: --------------------------------------------------------------------- 部分 1. 技术支持与市场 部分 2. Visual FoxPro 6.0 新增功能 部分 3. 从其他版本的 FoxPro 和 Visual FoxPro 中移植 部分 4. Visual FoxPro 常见问题 --------------------------------------------------------------------- 部分 1. 技术支持与市场 问题 1-1: 从何处可以获得产品的更新版本? 答案: 在 Visual FoxPro 的 Web 站点上即可获得产品的更新信息,其中包括有关 Service Pack 和更新的示例、向导及其他代码的信息,该站点的网址为: www.microsoft.com/vfoxpro 请定期查看该网站,以便下载产品的最新版本。 问题 1-2: 从何处可以得到有关 Visual FoxPro 的详细资料? 答案: 通过 Microsoft Visual FoxPro Web 站点是随时获得各种最新产品发布信息的最佳途径。在此站点上不仅有新的产品公告,而且还提供了产品的更新信息、技术文章、白皮书、专业开发人员设计的优秀示例、会议公告、以及与其他许多 FoxPro web 站点的各种链接。 问题 1-3: 如何获得技术支持,以及如何报告软件错误? 答案: Microsoft Visual FoxPro Web 站点已经链接到了多种联机支持选项,其中包括覆盖面广阔的有关所有产品 Microsoft Knowledge Base(Microsoft 知识库)。您还可以阅读一份有关常见问题的清单。除联机支持之外,还可以直接通过电话获得技术支持。“帮助”菜单中的选项可列出技术支持的电话号码。这些电话号码也可用于报告产品中的错误。 问题 1-4. 什么是 Knowledge Base?如何使用它? 答案: Knowledge Base 是内容广泛的论文集,覆盖了如何使用产品的各种特性、已知的软件错误及其解决方案或回避的方法、以及其他有助于使用各种 Microsoft 产品的有用信息。通过以下站点可访问整个 Knowledge Base: support.microsoft.com 问题 1-5: 是否会有 Visual FoxPro 6.0a? 答案: Microsoft 公司一向承诺为用户提供高质量的产品。如果确实需要,我们将提供 Visual FoxPro 6.0 的错误修订版。但是,修订版不会使用 6.0a 版的形式。Visual FoxPro 6.0 中任何错误的修正都将包含在 Visual Studio Service Pack 中。同时还会在 Visual FoxPro 的 www.microsoft.com/vfoxpro 或 Visual Studio 的www.microsoft.com/vstudio 的 Web 站点上发布修订公告。 问题 1-6: Microsoft 公司为应用程序的开发提供了一些优秀的解决方案。怎样才能知道应该向客户推荐和使用哪种产品? 答案: 在选择适用某项任务的产品时,需要考虑多方面的因素。Microsoft Visual FoxPro web 站点上有一份优秀的策略背景论文,它比较了 Visual FoxPro、Visual Basic、SQL Server 和 Access 等 Microsoft 产品之间的不同。 问题 1-7: 哪里可以找到 Visual FoxPro 的使用示例? 答案: Visual FoxPro 6.0 产品中带有丰富的示例,其中有一些是针对 6.0 版特有功能的新示例。与 Visual FoxPro 以前的版本不同,这些示例将与所有 Visual Studio 示例安装在一起。您必须运行 MSDN Library 的“自定义”安装来安装这些示例。在 Visual FoxPro 中可使用新的 HOME(2) 函数方便地找到已安装示例的位置。 除了产品中所自带的示例外,Microsoft Visual FoxPro web 站点还将经常提供新的示例。

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧