我在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
答案 0 :(得分: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