Уникальный индекс, наверно сделать не удастся. Как набросок варианта:
В общем модуле - функция, подсчитывающая сумму кодов символов строки, например:
Public Function CalcCRC(txt As String) As Long
Dim i As Integer
Dim S As Long
For i = 1 To Len(txt)
S = S + Asc(UCase(Mid(txt, i, 1)))
Next i
CalcCRC = S
End Function
На форме на событии "Перед обновлением" поля со списком лекарств (А-В) (у меня поле Ctr в таблице Farm), код:
Private Sub Ctr_BeforeUpdate(Cancel As Integer)
Dim txt As String
txt = "select count(*) from Farm where CalcCRC(Farm.Ctr)=" & CalcCRC(Me.Ctr)
If CurrentProject.Connection.Execute(txt).Collect(0) <> 0 Then
MsgBox "Сочетание " & Me.Ctr & " уже есть!", , ""
Cancel = True
End If
End Sub