Используя форму в MS Access, мне нужно убедиться, что в таблицу вводятся только уникальные записи.
К сожалению, в ситуации, когда я не могу обеспечить уникальные записи с помощью первичных ключей таблицы.
У меня есть следующий код в BeforeUpdate для формы, но он не работает. Любая помощь будет принята с благодарностью!
Private Sub Form_BeforeUpdate(Cancel As Integer)
If DCount("*", "[Role_Details]", "[Role] = " & Me.[ComboRole] & " AND [Session] = " & Me.[ComboSession]) > 0 Then
MsgBox "Duplicate!"
Cancel = True
Me.[ComboSession].SetFocus
Exit Sub
End If
End Sub
Примечание. Имя таблицы — Role_Details. Имена полей — Роль и Сеанс. ComboRole и ComboSession являются метками полей формы.
Любые мысли о том, где я ошибся здесь?
Обновления##
Когда я открываю форму таблицы данных, она представляет всплывающее окно с надписью «Введите значение параметра» и «frm_Role_Details.Session». Я не уверен, почему это так, но я могу пройти мимо него и открыть форму.
Затем, когда я ввожу запись, появляется сообщение об ошибке «Ошибка времени выполнения» «2465»: не удается найти поле «| 1», указанное в вашем выражении. Оба поля являются текстовыми строками. Я в растерянности!