Office中国论坛/Access中国论坛

标题: 通过表2的no字段在表1中查询,若有重复的数据就将表2的S字段标注为Y。否则标注为N [打印本页]

作者: iico    时间: 2018-9-15 17:59
标题: 通过表2的no字段在表1中查询,若有重复的数据就将表2的S字段标注为Y。否则标注为N
Private Sub Command0_Click()

Dim prs As New ADODB.Recordset
Dim qrs As New ADODB.Recordset

prs.Open "Select * FROM tb2 ", CurrentProject.Connection, 3, 3
    If Not prs.EOF Then
    prs.MoveFirst
    Do While Not prs.EOF
    qrs.Open "select * from tb1 where no='" & prs.Fields("no").Value & "'", CurrentProject.Connection, 3, 3
        
    If qrs.RecordCount < 1 Then
   
               prs.Fields("s").Value = "n"
               Else
               prs.Fields("s").Value = "y"
               End If
               prs.Update
    prs.MoveNext
    qrs.Close
    Loop
   
    End If
    prs.Close
    MsgBox "执行完成"

End Sub
可以运行,但是就是表2的no字段的数据在表1的no字段中存在重复也会标注为N。帮查看一下代码。错在哪里了。谢谢各位大神
作者: roych    时间: 2018-9-18 09:52
太复杂了。设置唯一索引用更新查询就可以完成的事情,不知道为什么写VBA。
[attach]62797[/attach]
作者: iico    时间: 2018-9-19 12:14
本帖最后由 iico 于 2018-9-19 16:54 编辑

谢谢Roych大神,只是学一下VBA.测试后,OK了。实现了效果,证明思路是正确的。但是因为数据量太大,执行要很久。败笔。再丰富一下知识先。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3