Office中国论坛/Access中国论坛

标题: 怎么对比同一窗体中的数据,找出不同的数据来 [打印本页]

作者: lqp971    时间: 2012-4-1 22:55
标题: 怎么对比同一窗体中的数据,找出不同的数据来
本帖最后由 lqp971 于 2012-4-1 22:56 编辑

最近想做一个数据管理的东西,思路是将同一类型的数据先查询出来,然后在不同的子窗体内进行对比。
搜了很久,没结果,各位老大,能否指教一二?
详细见附件。[attach]48834[/attach]


作者: kangking    时间: 2012-4-1 22:55
Private Sub Command4_Click()
    Dim rsS As Recordset
    Dim rsO As Recordset
    Dim isFind As Boolean

    On Error Resume Next
    Set rsS = Me.FBSUB.Form.RecordsetClone
    Set rsO = Me.FBLSUB.Form.RecordsetClone
    rsS.MoveFirst

    Do Until rsS.EOF
        isFind = False
        rsO.MoveFirst
        If Not IsNull(rsS("SN")) Then
            rsO.FindFirst "SN ='" & rsS("SN") & "'"
            If rsO.NoMatch Then
                MsgBox rsS("SN") & " No Match"
            End If
        Else
            MsgBox "SN is null"
        End If
        rsS.Move 1
    Loop

    Set rsS = Nothing
    Set rsO = Nothing
End Sub
作者: 春秋    时间: 2012-4-2 06:52
看了,不是很明白您的意思。一般讲,订单号是唯一的,而SN也应该是唯一的。也就是说,订单号不同而SN相同是一种错误。如果情况确如描述,则应该在输入有效性中加以限定,不必反过来进行检查。像现在这样的设计思路,既增加了难度,又不符合要求。试想,如果数据很庞大,执行一次比较将是多么耗时。
作者: lqp971    时间: 2012-4-2 15:55
春秋 发表于 2012-4-2 06:52
看了,不是很明白您的意思。一般讲,订单号是唯一的,而SN也应该是唯一的。也就是说,订单号不同而SN相同是 ...

附件中只是一个例子而已,我的数据全部是从EXCELL导入的,前面一个表是东西送出去维修,后面一个表是从vendor那里返回的东西,vendor有可能因为某些原因给换掉,所以我就是要找出哪些被换掉了。
在excel中很容易(Vlookup),ACCESS就不会了。
作者: lqp971    时间: 2012-4-2 16:00
本帖最后由 lqp971 于 2012-4-2 16:05 编辑
kangking 发表于 2012-4-2 09:44
Private Sub Command4_Click()
    Dim rsS As Recordset
    Dim rsO As Recordset


KangKing 大哥,你懂我……
有效果了……
如果能弄个表把这些不同的数据给保存起来就更好了
或者能在子窗体LBSUB中用颜色把不同的SN给显示出来最好了!




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