2016-05-27 2 views
0

в моей форме есть поле со списком «Позиция», которое ограничено полем «Позиция» в таблице1. Чтобы сделать это простым, допустим, что каждый человек получит должность «сотрудник», и только один человек получит должность «МЕНЕДЖЕР», я хочу получить предупреждающее сообщение (в VBA), если я присвоил звание «МЕНЕДЖЕР» другого человека и предотвращения процесса, если я не удалю позицию от первого лица. я googled вокруг, и я обнаружил, что мне нужно использовать функцию «DLOOKUP», попробовал это, но все равно не повезло. Любая помощь будет оценена, спасибопредотвращает дублирование определенного значения в доступе MS, используя vba

ответ

0

Попробуйте создать событие «AfterUpdate» в Combobox на форме и поставив этот код там:

If Nz(DLookup("Person", "Table1", "Position = 'MANAGER'", "NOTFOUND") <> "NOTFOUND") Then 

     MsgBox ("Someone is already assigned to role MANAGER") 

    Else 

    'OK, no manager currently exists 

    End If 

Я предположил, что «лицо» является поле в «Table1», который будет содержать имена людей.

Надеюсь, это поможет.

+0

получил ошибку: неверное количество аргументов –

+0

возникла проблема с круглыми скобками, исправлена ​​его, и теперь ваш код работает так, как я хотел, спасибо Davy C –

+0

Ах, извините, я путался, копируя код. Должно быть исправлено Теперь. –

Смежные вопросы