Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Удаление записей из связанных таблиц


Автор: Tiarwe 10.10.2012, 21:59
Здравствуйте!
Объясню по порядку. Допустим есть 2 таблицы - Люди и Оружие. В таблице Оружие есть поле Владелец, куда через мастера подстановок выбирается человек (запись из таблицы Люди).
Проблема следующая: когда удаляется запись из таблицы Люди, то вместе с ней удаляется и всё закреплённое оружие. А мне нужно, чтобы при удалении человека просто очищались поля Владелец таблицы Оружие. Как реализовать?

Автор: FINANSIST 12.10.2012, 10:16
Реализовать можно нарушением целостности БД и приведением ее в состояние обостренного геморроя.
Технически: АпДЕЙТЫ+VBA зашитые в ответственную за это зло форму.

Автор: Akina 12.10.2012, 10:43
Цитата(Tiarwe @  10.10.2012,  22:59 Найти цитируемый пост)
Проблема следующая: когда удаляется запись из таблицы Люди, то вместе с ней удаляется и всё закреплённое оружие. А мне нужно, чтобы при удалении человека просто очищались поля Владелец таблицы Оружие. Как реализовать? 

Не проработана бизнес-логика. Оружие не может "висеть в воздухе". Удаление записи, имеющей связанные записи, следует запретить.
Вместо этого следует ввести специальную запись в таблицу "Люди", и перед удалением записи перерегистрировать на эту запись всё оружие удаляемого.
Либо (что правильнее) производить перерегистрацию на ответственного за хранение нераспределённого оружия.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)