Як уникнути дублювання записів у таблиці доступу при введенні даних з підформи?


0

У мене є база даних 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 таблиця при введенні інформації з підформи?

Відповіді:


0

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

Переконайтеся, що ваші відносини добре визначені і що IngredientsFoods_mm Первинний ключ утворюється з обох Id_FoodsFK і Id_IngredientsFK.

Тут пояснюються відносини в доступі. Вона охоплює, як скласти правильну модель відносин багато-до-багатьох. https://support.microsoft.com/en-us/kb/304466


Мені здається, що відносини добре визначені і PK в Id_IngredientsFK вже сформований Id_FoodsFK і Id_IngredientsFK (Я вже прочитав посилання, яке ви надали, і так, БД мають ту саму структуру). Справа в тому, що вже є кілька записів у Ingredients table, але я хочу призначити їх або створити нові записи і зв'язати їх з Foods табл.
Kureno
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.