新来的 - 相当高级的 excel 用户现在正试图掌握 Access。
我正在建立一个学校数据数据库,该数据库基于一个链接表,其中包含由另一个团队管理的大部分学校信息(联系数据链接)和一个我需要的附加行表(附加联系数据)。使用 AutoExec(UNION 查询后跟创建表)附加这两个表以提供完整列表 (AllSchoolsData)。
用户将通过表单更新附加行表,我想防止他们复制其中一个字段(DfE),以便在 AllSchoolsData 中保持唯一。
我一直在尝试使用 DLookup 并且已经做到了这一点:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim NewDfE As Variant
Dim stLinkCriteria As Variant
NewDfE = Me.DfE.Value
stLinkCriteria = [DfE] = NewDfE
If Me.DfE = DLookup("[DfE]", "[Contact Data Linked]", stLinkCriteria) Then
MsgBox "This DfE number has already been allocated." _
& vbCr & vbCr & "Please enter a unique DfE number.", vbInformation, "Duplicate DfE Number"
Me.Undo
End If
End Sub
这似乎非常适合“已链接的联系人数据”顶部列出的记录,但不会阻止输入任何其他 DfE 号码。
该代码基于我在 youtube 教程https://www.youtube.com/watch?v=XXLXo4As61Y和一些论坛中找到的解决方案,例如https://www.experts-exchange.com/questions/21522439/Dlookup -to-prevent-duplicate-entries.html
任何建议将不胜感激!