Ich habe eine MS Access-Datenbank mit drei Tabellen:
Foods (Id, Food_Name, Food_Desc)
Ingredients (Id, Ingredient_Name)
IngredientsFoods_mm (Id, Id_FoodsFK, Id_IngredientsFK)
... in einer Beziehung von vielen zu vielen, wo IngredientsFoods_mm
ist der Tisch, der die beiden anderen verbindet.
Jetzt habe ich ein Formular mit einem Unterformular erstellt, um Lebensmittelzutaten zuzuweisen. Im Hauptformular gibt es die Food_Name
und Food_Desc
Felder und im Unterformular gibt es die Ingredient_Name
Feld (ein Kombinationsfeld). Scheint gut zu funktionieren, aber das Problem ist, dass wenn ich eine Zutat eingebe, die bereits in der ist Ingredients
Anstatt den entsprechenden Datensatz zuzuweisen, wird ein doppelter Datensatz erstellt.
Ich habe versucht, dies zu vermeiden, indem ich einen Index ohne Duplikate in der Ingredient_Name
Feld, aber dann sagt mir Access, dass dies einen Integritätsfehler erzeugen würde.
Die Frage ist, wie ich vermeiden kann, dass doppelte Datensätze in der Datenbank erstellt werden Ingredients
Tabelle bei der Eingabe von Informationen aus dem Unterformular?
quelle
Id_IngredientsFK
wird bereits von derId_FoodsFK
undId_IngredientsFK
(Ich habe den von Ihnen bereitgestellten Link bereits gelesen und ja, die DB hat dieselbe Struktur). Die Sache ist, dass es bereits einige Aufzeichnungen im Internet gibtIngredients
Tabelle, aber ich möchte sie zuweisen oder neue Datensätze erstellen und sie mit der verknüpfenFoods
Tabelle.