首页 文章

通过Access列循环并查找重复项

提问于
浏览
0

我在MS Access中有一个用于添加新记录的表单,我正在尝试创建在更新表单后触发的VBA代码 . 我想要做的是遍历链接到Form的表中的列,并检查添加的值是否已经在列中,如果是,则将所有重复记录的另一个名为“duplicate”的列更新为“yes” .

例如,如果用户添加“Mike Down”并且表中已存在具有此名称的记录,则将具有此名称的所有记录的列“复制”更新为“是” . 我对VBA访问完全不熟悉,到目前为止我只发现了如何进行循环:

Dim dbsMyDB As DAO.Database
Dim rstMyTable As DAO.Recordset
Dim frmForm As Form
intI = 1
With rstMyDB
    Do Until .EOF
    Loop
        If rstMyTable.Name = frmForm.Name Then
        .Edit
        --update column duplicate to "yes" for all duplicates
        .Update
        .MoveNext
        intI = intI + 1
End With

1 回答

  • 0

    使用RecordsetClone:

    Dim rst As DAO.Recordset
    
    Set rst = Me.RecordsetClone
    
    With rst
        Do Until .EOF
            If !Name.Value = Me!Name.Value Then
                If !ID.Value <> Me!ID.Value Then
                    .Edit
                        !Duplicate.Value = True
                    .Update
                End If
            End If
            .MoveNext
        Loop
    End With
    
    Set rst = Nothing
    

相关问题