Как избежать дублирования записей в таблице доступа при вводе данных из подформы?

у меня есть база данных MS Access с тремя таблицами:

Foods (Id, Food_Name, Food_Desc)

Ingredients (Id, Ingredient_Name)

IngredientsFoods_mm (Id, Id_FoodsFK, Id_IngredientsFK)

...в отношениях "многие ко многим", где IngredientsFoods_mm - Это таблица, которая связывает две другие.

теперь я сделал форму с подформой, чтобы назначить ингредиенты продуктам. В основной форме есть Food_Name и Food_Desc поля и в подформе есть Ingredient_Name поле (поле со списком). Кажется, работает хорошо, но проблема в том, что когда я ввожу ингредиент, который уже находится в Ingredients таблица, вместо присвоения соответствующей записи, создает дубликат записи.

я пытался избежать этого, установив индекс без повторений в Ingredient_Name поле, но затем Access говорит мне, что это создаст ошибку целостности.

вопрос в том, как избежать создания дубликатов записей в Ingredients таблица при вводе информации из подформы?

29
задан Kureno
18.04.2023 7:59 Количество просмотров материала 2991
Распечатать страницу

1 ответ

Я думаю, что ваша проблема заключается в том, что вы пытаетесь вставить в Ingredients таблица, когда вы должны вставить связь между Foods.Id и Ingredients.Id до IngredientsFoods_mm таблица.

убедитесь, что ваши отношения четко определены и, что IngredientsFoods_mm первичный ключ формируется из обоих Id_FoodsFK и Id_IngredientsFK.

здесь объяснение отношений в access. В нем описывается, как создать правильные отношения " многие ко многим модель. https://support.microsoft.com/en-us/kb/304466

0
отвечен Lázaro Guajardo 2023-04-19 15:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх